Tier 2 Review R5¶
Result: NOT SHIP
Checklist¶
- PASS —
ActivityTypevalues now match the real enum (WORK,SLEEP,EAT,SOCIALIZE,PATROL,GUARD,TRADE,CRAFT,WORSHIP,TRAIN,WANDER,CUSTOM) (docs/designs/authoring/tier2-ai-content-pipeline.md:2181-2182;packages/maid-stdlib/src/maid_stdlib/models/npc/autonomy.py:50-64). - PASS —
GenericJSONAdapteris still explicitly marked proposed / not yet implemented (docs/designs/authoring/tier2-ai-content-pipeline.md:266-270,1479-1486). - PASS —
maid aiis clearly marked proposed / nonexistent today (docs/designs/authoring/tier2-ai-content-pipeline.md:314-322;packages/maid-engine/src/maid_engine/cli/app.py:28-99,1175-1186). - PASS — YAML examples remain component-centric, with loader-compatible
_meta.schemapluscomponentsblocks (docs/designs/authoring/tier2-ai-content-pipeline.md:419-456,494-584;packages/maid-engine/tests/fixtures/data/valid/rooms.yaml:1-12,packages/maid-engine/tests/fixtures/data/valid/npcs.yaml:1-13). - FAIL — Area/zone terminology is still not fully consistent inside the doc.
New factual error¶
1. Room-generation example uses --area but shows room zone assignment¶
- Doc:
docs/designs/authoring/tier2-ai-content-pipeline.md:372-373,398-456,690-700 - Issue: The options table says
--areais only prompt context and--zoneis the flag that writes the room's top-levelzonefield. But the room example invokesmaid ai generate room ... --area millbrookand the generated YAML still emitszone: millbrook. That contradicts the document's own CLI contract and the later Area-vs-Zone clarification. - Code basis: loader room YAML uses a formal top-level
zonefield (packages/maid-engine/src/maid_engine/loader/entity_types.py:7-13), while admin/runtime metadata separately usesarea_id/area_name(packages/maid-stdlib/src/maid_stdlib/api/admin/world.py:48-49). - Suggested fix: either change the example invocation to
--zone millbrook, or explicitly document that--areaalso defaults the generated roomzonewhen--zoneis omitted.
No other factual errors found in this spot-check.