Tier 1 YAML-First Authoring Review — R5¶
Status: NOT SHIP
Findings¶
- Schema inference section still overstates
_meta.schemarequirements. The document says “Every YAML entity file declares its schema under_meta.schema” and adds that when_meta.schemais omitted, “the latest version is assumed.” In the current loader,_meta.schemais optional:PreparePhase._resolve_schema()infers only the entity type from the first non-_metatop-level key, or from the parent directory name if needed; it does not infer or retain a schema version in omitted-schema cases. - Code:
packages/maid-engine/src/maid_engine/loader/phases/prepare.py:220-267 -
Test coverage:
packages/maid-engine/tests/loader/test_prepare_phase_additional.py:162-173 -
Area glossary still describes runtime
area_*fields too narrowly. The glossary saysarea_id/area_nameare “read-only projections” of zone membership. In code,area_idis an actual writable room field used by runtime/admin APIs and builder tooling, backed byWorldarea storage (register_area,get_area,all_areas).area_nameis derived from that stored area object. Also, there is no built-in loader entity type or standard schema for zones today—only runtime area storage and zone tooling. - Runtime area storage:
packages/maid-engine/src/maid_engine/core/world.py:112,468-482 - Room API reads/writes
area_id:packages/maid-engine/src/maid_engine/api/v1/world.py:561-576,1115-1137,1190-1198 - Zone tooling uses world areas:
packages/maid-stdlib/src/maid_stdlib/commands/building/zone.py:33-53,225-237,275-285 - Built-in loader entity types remain only room/npc/item/template:
packages/maid-engine/src/maid_engine/loader/entity_types.py:7-44
Verified clean¶
DataDrivenContentPackis clearly marked PROPOSED / not yet implemented.- The Assembly Layer is clearly marked PROPOSED / not yet implemented.
- Appendix A.4 NPC shorthand is clearly marked PROPOSED (Assembly Layer).