{
"last_updated": "2026-07-10T09:29:52.878Z",
"factory_health": 58,
"total_recipes": 6,
"active_recipes": 3,
"total_workorders": 15,
"active_workorders": 14,
"blocked_workorders": 1,
"critical_workorders": 5,
"workorders_by_status": {
"in_progress": 1,
"ready": 1,
"blocked": 1,
"implemented": 12
},
"recipes_by_status": {
"approved": 3,
"active": 3
},
"next_actions": [
"Resolve blocked work orders before starting dependent implementation work.",
"Review high and critical priority work orders during sprint planning.",
"Run pnpm validate:workorders after editing any work order.",
"Run pnpm workorders:report before dashboard review.",
"Run pnpm validate:recipes after editing any recipe.",
"Run pnpm recipes:report before updating the studio dashboard.",
"Run pnpm factory:status after recipe or work order reports change.",
"Review Production Factory dashboard before sprint planning."
],
"blockers": [
"WO-0003: VS-001 arena dimensions must be finalized before greybox layout."
],
"registry": {
"recipes": [
"HERO_RECIPE_V1",
"ENEMY_RECIPE_V1",
"LEVEL_RECIPE_V1",
"UI_RECIPE_V1",
"FX_RECIPE_V1",
"AUDIO_RECIPE_V1"
],
"workorders": [
"WO-0001",
"WO-0002",
"WO-0003",
"WO-COMBAT-001",
"WO-COMBAT-002",
"WO-COMBAT-003",
"WO-COMBAT-004",
"WO-COMBAT-005",
"WO-COMBAT-006",
"WO-COMBAT-007",
"WO-COMBAT-008",
"WO-COMBAT-009",
"WO-COMBAT-010",
"WO-COMBAT-011",
"WO-COMBAT-012"
]
},
"recipes": [
{
"id": "AUDIO_RECIPE_V1",
"name": "Audio Recipe v1",
"version": "1.0.0",
"status": "approved",
"owner": "audio-designer",
"file": "recipes/audio.recipe.yaml",
"outputs": [
"audio_brief",
"cue_sheet",
"mix_priority_spec",
"implementation_notes",
"qa_report"
],
"validators": [
"validate-recipes"
],
"dashboard": {
"enabled": true,
"domain": "Assets",
"status_source": "production/status/recipes-status.json"
},
"knowledge_graph": {
"enabled": true,
"nodes": [
"audio_identity",
"gameplay_cue",
"timing",
"mix_priority",
"implementation",
"qa"
]
}
},
{
"id": "ENEMY_RECIPE_V1",
"name": "Enemy Recipe v1",
"version": "1.0.0",
"status": "active",
"owner": "gameplay-designer",
"file": "recipes/enemy.recipe.yaml",
"outputs": [
"enemy_design_brief",
"ai_behavior_spec",
"combat_profile",
"animation_blueprint",
"art_production_pack",
"qa_report"
],
"validators": [
"validate-recipes",
"validate-registry"
],
"dashboard": {
"enabled": true,
"domain": "Game Implementation",
"status_source": "production/status/recipes-status.json"
},
"knowledge_graph": {
"enabled": true,
"nodes": [
"identity",
"role",
"ai_behavior",
"combat",
"animation",
"art",
"audio",
"qa",
"implementation"
]
}
},
{
"id": "FX_RECIPE_V1",
"name": "FX Recipe v1",
"version": "1.0.0",
"status": "approved",
"owner": "fx-artist",
"file": "recipes/fx.recipe.yaml",
"outputs": [
"fx_brief",
"timing_sheet",
"animation_plan",
"palette_assignment",
"qa_report"
],
"validators": [
"validate-recipes",
"validate-animation",
"validate-palette"
],
"dashboard": {
"enabled": true,
"domain": "Assets",
"status_source": "production/status/recipes-status.json"
},
"knowledge_graph": {
"enabled": true,
"nodes": [
"fx_identity",
"gameplay_purpose",
"timing",
"animation",
"palette",
"audio_sync",
"qa"
]
}
},
{
"id": "HERO_RECIPE_V1",
"name": "Hero Recipe v1",
"version": "1.0.0",
"status": "active",
"owner": "game-director",
"file": "recipes/hero.recipe.yaml",
"outputs": [
"hero_identity_package",
"gameplay_role_document",
"animation_blueprint",
"art_production_pack",
"implementation_definition",
"qa_report"
],
"validators": [
"validate-hero-identity",
"validate-character-production",
"validate-recipes"
],
"dashboard": {
"enabled": true,
"domain": "Creative OS",
"status_source": "production/status/recipes-status.json"
},
"knowledge_graph": {
"enabled": true,
"nodes": [
"identity",
"gameplay",
"combat",
"animation",
"art",
"audio",
"fx",
"qa",
"implementation"
]
}
},
{
"id": "LEVEL_RECIPE_V1",
"name": "Level Recipe v1",
"version": "1.0.0",
"status": "active",
"owner": "level-designer",
"file": "recipes/level.recipe.yaml",
"outputs": [
"level_brief",
"greybox_spec",
"encounter_plan",
"camera_plan",
"art_audio_fx_plan",
"playtest_report"
],
"validators": [
"validate-recipes",
"validate-production"
],
"dashboard": {
"enabled": true,
"domain": "Vertical Slice",
"status_source": "production/status/recipes-status.json"
},
"knowledge_graph": {
"enabled": true,
"nodes": [
"level_identity",
"gameplay_flow",
"greybox",
"encounters",
"camera",
"art_pass",
"audio",
"fx",
"qa",
"playtest"
]
}
},
{
"id": "UI_RECIPE_V1",
"name": "UI Recipe v1",
"version": "1.0.0",
"status": "approved",
"owner": "ui-designer",
"file": "recipes/ui.recipe.yaml",
"outputs": [
"ui_brief",
"wireframe_spec",
"component_contract",
"accessibility_checklist",
"qa_report"
],
"validators": [
"validate-recipes",
"validate-palette"
],
"dashboard": {
"enabled": true,
"domain": "Art Bible",
"status_source": "production/status/recipes-status.json"
},
"knowledge_graph": {
"enabled": true,
"nodes": [
"ui_identity",
"interaction_flow",
"wireframe",
"visual_style",
"accessibility",
"implementation",
"qa"
]
}
}
],
"workorders": [
{
"id": "WO-0001",
"title": "Nova Striker Hero Production Order",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "in_progress",
"priority": "critical",
"owner": "character-production",
"project": "Streetline Heroes",
"sprint": "VS-001",
"file": "workorders/examples/WO-0001_nova_striker_hero.yaml",
"expected_outputs": [
"hero_identity_package",
"gameplay_role_document",
"animation_blueprint",
"art_production_pack",
"implementation_definition",
"qa_report"
],
"blockers": [],
"dependencies": [
"HERO_RECIPE_V1",
"CHR001_identity.yaml"
],
"linked_assets": [
"CHR001"
],
"linked_docs": [
"production/characters/CHR001/README.md",
"production/characters/CHR001/identity/01_HeroIdentity.md"
],
"linked_graph_nodes": [
"hero_CHR001",
"recipe_HERO_RECIPE_V1"
]
},
{
"id": "WO-0002",
"title": "Syndicate Runner Enemy Production Order",
"recipe_id": "ENEMY_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "ready",
"priority": "high",
"owner": "gameplay-production",
"project": "Streetline Heroes",
"sprint": "VS-001",
"file": "workorders/examples/WO-0002_syndicate_runner_enemy.yaml",
"expected_outputs": [
"enemy_design_brief",
"ai_behavior_spec",
"combat_profile",
"animation_blueprint",
"qa_report"
],
"blockers": [],
"dependencies": [
"ENEMY_RECIPE_V1"
],
"linked_assets": [
"ENM001"
],
"linked_docs": [
"production/002_GDD/ENEMIES.md"
],
"linked_graph_nodes": [
"enemy_ENM001",
"recipe_ENEMY_RECIPE_V1"
]
},
{
"id": "WO-0003",
"title": "Harbor District Level Production Order",
"recipe_id": "LEVEL_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "blocked",
"priority": "high",
"owner": "level-production",
"project": "Streetline Heroes",
"sprint": "VS-001",
"file": "workorders/examples/WO-0003_harbor_district_level.yaml",
"expected_outputs": [
"level_brief",
"greybox_spec",
"encounter_plan",
"camera_plan",
"playtest_report"
],
"blockers": [
"VS-001 arena dimensions must be finalized before greybox layout."
],
"dependencies": [
"LEVEL_RECIPE_V1",
"VS001 scope"
],
"linked_assets": [
"ENV001"
],
"linked_docs": [
"production/001_PRD/VS001/02_SCOPE.md",
"production/002_GDD/CAMERA.md"
],
"linked_graph_nodes": [
"level_harbor_district",
"recipe_LEVEL_RECIPE_V1"
]
},
{
"id": "WO-COMBAT-001",
"title": "DPS-002 Combat State Machine",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "critical",
"owner": "Engineering",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-001_combat_state_machine.yaml",
"expected_outputs": [
"apps/game/src/combat/CombatStateMachine.ts"
],
"blockers": [],
"dependencies": [
"WO-0001"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/03_ENGINEERING/COMBAT_STATE_MACHINE.md"
],
"linked_graph_nodes": [
"DPS_002_COMBAT_STATE_MACHINE"
]
},
{
"id": "WO-COMBAT-002",
"title": "DPS-002 Attack Input Buffer",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "critical",
"owner": "Engineering",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-002_attack_input_buffer.yaml",
"expected_outputs": [
"apps/game/src/input/InputController.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-001"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/02_GAMEPLAY/INPUT_MODEL.md"
],
"linked_graph_nodes": [
"DPS_002_INPUT_BUFFER"
]
},
{
"id": "WO-COMBAT-003",
"title": "DPS-002 Three Hit Light Combo",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "critical",
"owner": "Design",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-003_light_combo.yaml",
"expected_outputs": [
"apps/game/src/combat/CombatConfig.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-001"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/02_GAMEPLAY/COMBO_MODEL.md"
],
"linked_graph_nodes": [
"DPS_002_ATTACK_CHAIN"
]
},
{
"id": "WO-COMBAT-004",
"title": "DPS-002 Heavy Attack",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "high",
"owner": "Design",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-004_heavy_attack.yaml",
"expected_outputs": [
"apps/game/src/combat/CombatConfig.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-001"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/03_ENGINEERING/ATTACK_DEFINITIONS.md"
],
"linked_graph_nodes": [
"DPS_002_HEAVY_ATTACK"
]
},
{
"id": "WO-COMBAT-005",
"title": "DPS-002 Air Attack",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "high",
"owner": "Engineering",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-005_air_attack.yaml",
"expected_outputs": [
"apps/game/src/combat/CombatStateMachine.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-001"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/03_ENGINEERING/MOVEMENT_INTEGRATION.md"
],
"linked_graph_nodes": [
"DPS_002_AIR_ATTACK"
]
},
{
"id": "WO-COMBAT-006",
"title": "DPS-002 Dash Attack",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "high",
"owner": "Engineering",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-006_dash_attack.yaml",
"expected_outputs": [
"apps/game/src/combat/CombatStateMachine.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-001"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/03_ENGINEERING/MOVEMENT_INTEGRATION.md"
],
"linked_graph_nodes": [
"DPS_002_DASH_ATTACK"
]
},
{
"id": "WO-COMBAT-007",
"title": "DPS-002 Hitbox System",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "critical",
"owner": "Engineering",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-007_hitbox_system.yaml",
"expected_outputs": [
"apps/game/src/combat/CombatStateMachine.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-001"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/03_ENGINEERING/HITBOX_SYSTEM.md"
],
"linked_graph_nodes": [
"DPS_002_HITBOX_SYSTEM"
]
},
{
"id": "WO-COMBAT-008",
"title": "DPS-002 Training Dummy",
"recipe_id": "ENEMY_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "high",
"owner": "Engineering",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-008_training_dummy.yaml",
"expected_outputs": [
"apps/game/src/actors/TrainingDummy.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-007"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/04_QA/PLAYTEST_PROTOCOL.md"
],
"linked_graph_nodes": [
"DPS_002_TRAINING_DUMMY"
]
},
{
"id": "WO-COMBAT-009",
"title": "DPS-002 Basic Melee Enemy",
"recipe_id": "ENEMY_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "high",
"owner": "Engineering",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-009_basic_enemy.yaml",
"expected_outputs": [
"apps/game/src/actors/BasicMeleeEnemy.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-007"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/04_QA/PLAYTEST_PROTOCOL.md"
],
"linked_graph_nodes": [
"DPS_002_BASIC_ENEMY"
]
},
{
"id": "WO-COMBAT-010",
"title": "DPS-002 Combat Telemetry",
"recipe_id": "HERO_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "high",
"owner": "QA",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-010_combat_telemetry.yaml",
"expected_outputs": [
"apps/game/src/combat/CombatTelemetry.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-001"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/05_DATA/TELEMETRY.md"
],
"linked_graph_nodes": [
"DPS_002_COMBAT_TELEMETRY"
]
},
{
"id": "WO-COMBAT-011",
"title": "DPS-002 Combat Review Workflow",
"recipe_id": "UI_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "high",
"owner": "QA",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-011_combat_review.yaml",
"expected_outputs": [
"apps/game/src/review/CombatReviewPanel.ts"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-010"
],
"linked_assets": [],
"linked_docs": [
"docs/design-packages/DPS-002_CombatFoundation/04_QA/PLAYTEST_PROTOCOL.md"
],
"linked_graph_nodes": [
"DPS_002_COMBAT_REVIEW"
]
},
{
"id": "WO-COMBAT-012",
"title": "DPS-002 Dashboard Status",
"recipe_id": "UI_RECIPE_V1",
"recipe_version": "1.0.0",
"status": "implemented",
"priority": "medium",
"owner": "Production",
"project": "Streetline Heroes",
"sprint": "DPS-002",
"file": "workorders/examples/WO-COMBAT-012_dashboard_status.yaml",
"expected_outputs": [
"apps/studio-dashboard/src/components/CombatFoundationPanel.tsx"
],
"blockers": [],
"dependencies": [
"WO-COMBAT-010",
"WO-COMBAT-011"
],
"linked_assets": [],
"linked_docs": [
"production/status/combat-foundation-status.json"
],
"linked_graph_nodes": [
"DPS_002_DASHBOARD_STATUS"
]
}
]
}
production/status/production-factory-status.json