version: 1 batch: id: "recruit-line-redesign-02" revision: "graph-r6" spec: ".agent-taskgraph/spec.md" spec_revision: "design-spec-r3" approved_by: "Owner" approved_at: "2026-08-10T22:38:28+08:00" max_concurrency: 6 nodes: - id: "v2_core_systems" title: "Recruit-line core systems redesign" kind: "expert" goal_ref: "task:ABG-V2-CORE-SYSTEMS" needs: [] consumes: [".agent-taskgraph/spec.md", "docs/reference/"] produces: ["docs/product/GAME_PRODUCT_CONTRACT.md", "docs/product/SYSTEMS_AND_BATTLE.md", "docs/product/ECONOMY_AND_BALANCE.md", "docs/product/SAVE_AND_FAILURE_CONTRACT.md"] writes: ["docs/product/"] acceptance: ["Horizontal ordered-line auto-battle replaces lane grid", "Recruitment/death/dismissal/capacity are executable", "Five pacing profiles and save/failure boundaries are consistent"] on_pass: "v2_integration" on_fail: "failed" max_attempts: 2 - id: "v2_content_matrix" title: "Generated recruit and complete content matrices" kind: "expert" goal_ref: "task:ABG-V2-CONTENT-MATRIX" needs: [] consumes: [".agent-taskgraph/spec.md", "docs/reference/"] produces: ["docs/content/"] writes: ["docs/content/"] acceptance: ["42 professions, 36 traits, 320 equipment, 60 artifacts, 100 enemies, 16 bosses and 8 regions", "No fixed protagonist relationships or filler rows", "All IDs and mechanics validate"] on_pass: "v2_integration" on_fail: "failed" max_attempts: 2 - id: "v2_ux_screens" title: "Landscape UX and complete screen-state architecture" kind: "expert" goal_ref: "task:ABG-V2-UX-SCREENS" needs: [] consumes: [".agent-taskgraph/spec.md", "docs/reference/"] produces: ["docs/presentation/SCREEN_AND_STATE_MAP.md", "docs/presentation/UI_AND_VISUAL_SYSTEM.md"] writes: ["docs/presentation/SCREEN_AND_STATE_MAP.md", "docs/presentation/UI_AND_VISUAL_SYSTEM.md"] acceptance: ["All player-facing landscape screens and states are covered", "Retired fixed-cast, lane-grid and manual-command UI is absent", "Shop, recruit, equip, reorder, auto-battle and recovery are immediately readable"] on_pass: "v2_integration" on_fail: "failed" max_attempts: 2 - id: "v2_art_direction" title: "Generated-recruit art, animation and VFX production bible" kind: "expert" goal_ref: "task:ABG-V2-ART-DIRECTION" needs: [] consumes: [".agent-taskgraph/spec.md", "docs/reference/"] produces: ["docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md"] writes: ["docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md"] acceptance: ["Modular recruits and 42 profession identities are production-countable", "Eight regions and 116 enemy identities have readable art/animation coverage", "Horizontal-line combat remains legible at target landscape sizes"] on_pass: "v2_integration" on_fail: "failed" max_attempts: 2 - id: "v2_audio_direction" title: "Music, ambience, SFX and voice production bible" kind: "expert" goal_ref: "task:ABG-V2-AUDIO-DIRECTION" needs: [] consumes: [".agent-taskgraph/spec.md", "docs/reference/"] produces: ["docs/presentation/AUDIO_MUSIC_AND_VOICE_CATALOG.md"] writes: ["docs/presentation/AUDIO_MUSIC_AND_VOICE_CATALOG.md"] acceptance: ["Audio makes shop, order, battle and failure consequences readable", "Voice scope matches generated recruits and no fixed-cast burden remains", "Production counts, priority, accessibility and lifecycle behavior are explicit"] on_pass: "v2_integration" on_fail: "failed" max_attempts: 2 - id: "v2_design_validation" title: "Pre-development design validator and coverage contract" kind: "expert" goal_ref: "task:ABG-V2-DESIGN-VALIDATION" needs: [] consumes: [".agent-taskgraph/spec.md", "docs/reference/"] produces: ["docs/reviews/DESIGN_VALIDATION_CONTRACT.md", "tools/validate_predevelopment_design.py"] writes: ["docs/reviews/DESIGN_VALIDATION_CONTRACT.md", "tools/validate_predevelopment_design.py"] acceptance: ["Expected counts and stable IDs are mechanically checkable", "Retired concepts and cross-reference failures are detected", "Validator reports unknown pending bindings without inventing product authority"] on_pass: "v2_integration" on_fail: "failed" max_attempts: 2 - id: "v2_integration" title: "Integrate and reconcile the redesign" kind: "merge" goal_ref: "task:ABG-V2-INTEGRATION" needs: ["v2_core_systems", "v2_content_matrix", "v2_ux_screens", "v2_art_direction", "v2_audio_direction", "v2_design_validation"] consumes: ["docs/product/", "docs/content/", "docs/presentation/", "docs/reviews/DESIGN_VALIDATION_CONTRACT.md", "tools/validate_predevelopment_design.py"] produces: ["clean main revision", "contract validation report"] writes: ["docs/reviews/PRE_DEVELOPMENT_READINESS_AUDIT.md"] acceptance: ["No cross-document contradiction", "Repository validator passes", "All six design authorities are integrated", "Fixed revision ready for independent review"] on_pass: "v2_systems_review" on_fail: "failed" max_attempts: 1 - id: "v2_systems_review" title: "Independent systems integrity review" kind: "verifier" goal_ref: "task:ABG-V2-SYSTEMS-REVIEW-R2" needs: ["v2_integration"] consumes: ["fixed integrated revision"] produces: ["read-only systems PASS/FAIL/INVALID review"] writes: [] acceptance: ["Core loop, battle, economy, pacing, save/failure and mechanical content coherence pass"] on_pass: "v2_review_synthesis" on_fail: "v2_battle_outcome_repair" max_attempts: 1 - id: "v2_experience_review" title: "Independent experience and production review" kind: "verifier" goal_ref: "task:ABG-V2-EXPERIENCE-REVIEW-R2" needs: ["v2_integration"] consumes: ["fixed integrated revision"] produces: ["read-only experience PASS/FAIL/INVALID review"] writes: [] acceptance: ["UX comprehension, content presentation, art/animation/audio feasibility, accessibility and originality pass"] on_pass: "v2_review_synthesis" on_fail: "failed" max_attempts: 1 - id: "v2_battle_outcome_repair" title: "Define deterministic battle outcome vocabulary" kind: "expert" goal_ref: "task:ABG-V2-BATTLE-OUTCOME-REPAIR" needs: ["v2_systems_review"] consumes: ["systems R2 FAIL", "docs/product/SYSTEMS_AND_BATTLE.md", "all current miss/dodge/evasion references"] produces: ["one executable deterministic outcome contract"] writes: ["docs/product/SYSTEMS_AND_BATTLE.md"] acceptance: ["No accuracy/evasion/hidden-miss probability is introduced", "Every applied/invalidated/resisted/immune/intercepted outcome is executable and journaled", "Skill schema can bind deterministic outcome triggers"] on_pass: "v2_content_outcome_sync" on_fail: "failed" max_attempts: 1 - id: "v2_content_outcome_sync" title: "Synchronize profession and content outcome semantics" kind: "expert" goal_ref: "task:ABG-V2-CONTENT-OUTCOME-SYNC" needs: ["v2_battle_outcome_repair"] consumes: ["deterministic outcome contract"] produces: ["content rows bound to declared outcomes"] writes: ["docs/content/PROFESSION_CATALOG.md", "docs/content/EQUIPMENT_CATALOG.md", "docs/content/TRAIT_CATALOG.md", "docs/content/ENEMY_CATALOG.md"] acceptance: ["PF-A04 is executable without accuracy/evasion", "All miss/dodge wording maps to a declared outcome or is rewritten", "No content count or unrelated row changes"] on_pass: "v2_outcome_reintegration" on_fail: "failed" max_attempts: 1 - id: "v2_art_outcome_sync" title: "Synchronize art and VFX outcome semantics" kind: "expert" goal_ref: "task:ABG-V2-ART-OUTCOME-SYNC" needs: ["v2_battle_outcome_repair"] consumes: ["deterministic outcome contract"] produces: ["art/VFX cues bound to declared outcomes"] writes: ["docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md"] acceptance: ["Avoidance cues name only declared deterministic outcomes", "Readability and reduced-motion variants remain explicit"] on_pass: "v2_outcome_reintegration" on_fail: "failed" max_attempts: 1 - id: "v2_audio_outcome_sync" title: "Synchronize audio outcome semantics" kind: "expert" goal_ref: "task:ABG-V2-AUDIO-OUTCOME-SYNC" needs: ["v2_battle_outcome_repair"] consumes: ["deterministic outcome contract"] produces: ["SFX/caption cues bound to declared outcomes"] writes: ["docs/presentation/AUDIO_MUSIC_AND_VOICE_CATALOG.md"] acceptance: ["Dodge/miss cues name only declared deterministic outcomes", "Bindings, production counts and accessibility remain valid"] on_pass: "v2_outcome_reintegration" on_fail: "failed" max_attempts: 1 - id: "v2_outcome_reintegration" title: "Reintegrate deterministic battle outcome repair" kind: "merge" goal_ref: "task:ABG-V2-OUTCOME-REINTEGRATION" needs: ["v2_battle_outcome_repair", "v2_content_outcome_sync", "v2_art_outcome_sync", "v2_audio_outcome_sync"] consumes: ["repaired product, content, art and audio authorities"] produces: ["new fixed review revision", "validator and semantic reference audit"] writes: ["docs/reviews/PRE_DEVELOPMENT_READINESS_AUDIT.md"] acceptance: ["Validator remains green", "No undeclared accuracy/evasion/miss mechanic remains", "R2 FAIL and INVALID are append-only history"] on_pass: "v2_systems_review_r3" on_fail: "failed" max_attempts: 1 - id: "v2_systems_review_r3" title: "Fresh systems integrity re-review" kind: "verifier" goal_ref: "task:ABG-V2-SYSTEMS-REVIEW-R3" needs: ["v2_outcome_reintegration"] consumes: ["new fixed integrated revision"] produces: ["read-only systems PASS/FAIL/INVALID terminal"] writes: [] acceptance: ["All systems gates rerun from zero, including deterministic outcome vocabulary"] on_pass: "v2_review_synthesis" on_fail: "failed" max_attempts: 1 - id: "v2_experience_review_r3" title: "Fresh experience and production re-review" kind: "verifier" goal_ref: "task:ABG-V2-EXPERIENCE-REVIEW-R3" needs: ["v2_outcome_reintegration"] consumes: ["new fixed integrated revision", "actual reference authority paths"] produces: ["read-only experience PASS/FAIL/INVALID terminal"] writes: [] acceptance: ["All experience gates rerun from zero with valid context paths"] on_pass: "v2_review_synthesis" on_fail: "failed" max_attempts: 1 - id: "v2_review_synthesis" title: "PMO dual-review synthesis" kind: "merge" goal_ref: "task:ABG-V2-REVIEW-SYNTHESIS" needs: ["v2_systems_review_r3", "v2_experience_review_r3"] consumes: ["systems review terminal", "experience review terminal"] produces: ["one PMO acceptance or earliest repair route"] writes: [".agent-taskgraph/queue/review/", ".agent-taskgraph/STATUS.md"] acceptance: ["Both reviewers used the same fixed revision", "No open reviewer failure or invalid environment", "Open human and implementation gates remain explicit"] on_pass: "owner_v2_gate" on_fail: "failed" max_attempts: 1 - id: "owner_v2_gate" title: "Owner approves complete design before HTML prototype redesign" kind: "human_gate" goal_ref: "decision:ABG-V2-OWNER-GATE" needs: ["v2_review_synthesis"] consumes: ["integrated design", "independent review"] produces: ["owner accept or revise decision"] writes: [] acceptance: ["Owner authorizes landscape HTML prototype redesign"] on_pass: "done" on_fail: "failed" max_attempts: 1