Skip to content

Tier 2 Review R4

Result: NOT SHIP

Checklist

  1. PASSGenericJSONAdapter is explicitly marked proposed / not yet implemented, not described as working today (docs/designs/authoring/tier2-ai-content-pipeline.md:266-270, 1480-1486).
  2. PASSmaid ai / @ai commands are marked proposed via section preambles and repeated notes (docs/designs/authoring/tier2-ai-content-pipeline.md:172-176, 314-322, 3560-3562, 3800-3804, 4636-4639).
  3. PASSmaid dev generate is explicitly not deprecated in the doc, matching the current CLI (docs/designs/authoring/tier2-ai-content-pipeline.md:172-176, 4838-4841; packages/maid-engine/src/maid_engine/cli/app.py:1175-1183).
  4. PASS — ChatJimmy is described as text-only and routed through the proposed GenericJSONAdapter, which matches the current text-only provider API (docs/designs/authoring/tier2-ai-content-pipeline.md:115, 263-269, 1483-1486; packages/maid-engine/src/maid_engine/ai/providers/chatjimmy.py:124-198, packages/maid-engine/src/maid_engine/ai/providers/base.py:91-113).
  5. PASS — YAML examples are component-centric; NPC examples place dialogue/schedule under components, and I found no top-level dialogue: / schedule: examples (docs/designs/authoring/tier2-ai-content-pipeline.md:499-580).
  6. PASSExtendedRoomComponent example uses real field names (descriptions, time_variants, weather_effects, mood, atmosphere_text, random_details) (docs/designs/authoring/tier2-ai-content-pipeline.md:438-453; packages/maid-stdlib/src/maid_stdlib/components/extended_room.py:926-927, 743-752).
  7. PASS — Room YAML showing top-level exits / zone is consistent with actual loader convenience support (docs/designs/authoring/tier2-ai-content-pipeline.md:454-456, 1242-1246, 2105; packages/maid-engine/src/maid_engine/loader/entity_types.py:7-13).
  8. PASS — The @ai.accept section now includes the explicit export-to-canonical rule (docs/designs/authoring/tier2-ai-content-pipeline.md:3874-3878).
  9. PASS — Area vs Zone is clarified well enough against the codebase: Tier 2 “area” as bundle-doc concept vs loader zone field, while admin/world APIs still expose area_id / area_name metadata (docs/designs/authoring/tier2-ai-content-pipeline.md:690-701; packages/maid-engine/src/maid_engine/loader/entity_types.py:7-13; packages/maid-stdlib/src/maid_stdlib/api/admin/world.py:42-50).
  10. FAIL — One component-field spot-check is still factually wrong: the NPC ScheduleComponent example uses activity: GATHER and activity: IDLE, but real ActivityType values are work, sleep, eat, socialize, patrol, guard, trade, craft, worship, train, wander, custom (docs/designs/authoring/tier2-ai-content-pipeline.md:553-579; packages/maid-stdlib/src/maid_stdlib/models/npc/autonomy.py:50-64, 311-327).

New factual errors

1. ScheduleComponent example uses invalid activity enum values

  • Doc: docs/designs/authoring/tier2-ai-content-pipeline.md:553-579
  • Issue: The example uses GATHER and IDLE, which are not valid ActivityType members in the codebase.
  • Code: packages/maid-stdlib/src/maid_stdlib/models/npc/autonomy.py:50-64, 311-327

No other new factual errors found in this spot-check.