478 lines
23 KiB
YAML
478 lines
23 KiB
YAML
version: 1
|
|
batch:
|
|
id: "recruit-line-redesign-02"
|
|
revision: "graph-r11"
|
|
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: "v2_anti_dominance_simulation_repair"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_anti_dominance_simulation_repair"
|
|
title: "Add executable fixed-seed anti-dominance fixtures"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-ANTI-DOMINANCE-SIMULATION-REPAIR"
|
|
needs: ["v2_systems_review_r3"]
|
|
consumes: ["Systems R3 Gate 6 FAIL", "economy/build policy authority"]
|
|
produces: ["five exact seed fixtures", "executable policy comparison", "documented counterfactual outcomes"]
|
|
writes: ["docs/product/ECONOMY_AND_BALANCE.md", "docs/product/fixtures/ANTI_DOMINANCE_FIXED_SEEDS.json", "tools/simulate_anti_dominance.py"]
|
|
acceptance: ["Five fixed seeds and all inputs are reproducible", "No policy dominates all legal states", "Self-test rejects a deliberately dominant fixture"]
|
|
on_pass: "v2_experience_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_systems_review_r4"
|
|
title: "Fresh systems integrity re-review after anti-dominance repair"
|
|
kind: "verifier"
|
|
goal_ref: "task:ABG-V2-SYSTEMS-REVIEW-R4"
|
|
needs: ["v2_experience_reintegration"]
|
|
consumes: ["new immutable repaired revision"]
|
|
produces: ["read-only systems PASS/FAIL/INVALID terminal"]
|
|
writes: []
|
|
acceptance: ["All systems gates rerun from zero including fixed-seed anti-dominance fixtures"]
|
|
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: "v2_experience_repair_fanout"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_experience_repair_fanout"
|
|
title: "Repair R3 experience cross-document failures"
|
|
kind: "fork"
|
|
goal_ref: "decision:ABG-V2-EXPERIENCE-R3-REPAIR"
|
|
needs: ["v2_experience_review_r3"]
|
|
consumes: ["R3 experience FAIL terminal"]
|
|
produces: ["five disjoint repair candidates"]
|
|
writes: []
|
|
acceptance: ["Every reported contradiction has one owner and non-overlapping write scope"]
|
|
on_pass: "v2_experience_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_onboarding_presentation_repair"
|
|
title: "Repair run creation, onboarding and party-line presentation"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-ONBOARDING-PRESENTATION-REPAIR"
|
|
needs: ["v2_experience_review_r3"]
|
|
consumes: ["product run-creation authority", "R3 experience FAIL"]
|
|
produces: ["complete provisional-recruit decision state and one party-line order"]
|
|
writes: ["docs/presentation/SCREEN_AND_STATE_MAP.md", "docs/presentation/UI_AND_VISUAL_SYSTEM.md"]
|
|
acceptance: ["Four provisional offers and choose-two revision are explicit before run creation", "First exposed position has one cross-document direction", "Screen count remains intentional and validator-readable"]
|
|
on_pass: "v2_experience_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_art_schema_order_repair"
|
|
title: "Repair recruit visual schema mapping and party-line order"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-ART-SCHEMA-ORDER-REPAIR"
|
|
needs: ["v2_experience_review_r3"]
|
|
consumes: ["recruit generation schema", "UI party-line authority", "R3 experience FAIL"]
|
|
produces: ["exact content-to-art recipe crosswalk and coherent counts"]
|
|
writes: ["docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md"]
|
|
acceptance: ["Every recruit content field maps to an art field or explicit derived assembly", "Counts and totals recalculate", "Party line matches UI authority"]
|
|
on_pass: "v2_experience_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_audio_coverage_repair"
|
|
title: "Repair screen and abandonment audio coverage"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-AUDIO-COVERAGE-REPAIR"
|
|
needs: ["v2_experience_review_r3"]
|
|
consumes: ["50-screen authority", "OUT-006 abandonment state", "R3 experience FAIL"]
|
|
produces: ["complete screen/action audio binding"]
|
|
writes: ["docs/presentation/AUDIO_MUSIC_AND_VOICE_CATALOG.md"]
|
|
acceptance: ["OUT-006 is explicitly bound", "Screen total is 50", "Audio production totals remain internally consistent"]
|
|
on_pass: "v2_experience_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_reference_scope_repair"
|
|
title: "Repair transferred-lesson scope to generated recruits"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-REFERENCE-SCOPE-REPAIR"
|
|
needs: ["v2_experience_review_r3"]
|
|
consumes: ["design-spec-r3", "current product/content authorities", "R3 experience FAIL"]
|
|
produces: ["current original-scope lessons without fixed-cast residue"]
|
|
writes: ["docs/reference/TRANSFERABLE_STRUCTURE_LESSONS.md"]
|
|
acceptance: ["No named-recruit or relationship requirement remains", "Current generated-recruit and profession scope is exact", "Reference facts remain separate from original design commitments"]
|
|
on_pass: "v2_experience_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_crossdoc_validator_repair"
|
|
title: "Add regression gates for R3 experience contradictions"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-CROSSDOC-VALIDATOR-REPAIR"
|
|
needs: ["v2_experience_review_r3"]
|
|
consumes: ["five R3 contradiction classes", "current design validator"]
|
|
produces: ["self-tested cross-document regression gates"]
|
|
writes: ["docs/reviews/DESIGN_VALIDATION_CONTRACT.md", "tools/validate_predevelopment_design.py"]
|
|
acceptance: ["Each R3 contradiction class has a positive and negative check", "Existing exact counts remain enforced", "Self-test and full validation pass only after all repair candidates integrate"]
|
|
on_pass: "v2_experience_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_experience_reintegration"
|
|
title: "Integrate and freeze R3 experience repairs"
|
|
kind: "merge"
|
|
goal_ref: "task:ABG-V2-EXPERIENCE-REINTEGRATION"
|
|
needs: ["v2_onboarding_presentation_repair", "v2_art_schema_order_repair", "v2_audio_coverage_repair", "v2_reference_scope_repair", "v2_crossdoc_validator_repair", "v2_anti_dominance_simulation_repair"]
|
|
consumes: ["five repair candidates", "systems R3 terminal"]
|
|
produces: ["new immutable review revision"]
|
|
writes: ["docs/reviews/PRE_DEVELOPMENT_READINESS_AUDIT.md"]
|
|
acceptance: ["All R3 experience blockers are closed", "Systems terminal is reconciled", "Validator self-test/full/JSON pass"]
|
|
on_pass: "v2_experience_review_r4"
|
|
on_fail: "v2_crossdoc_validator_h1"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_crossdoc_validator_h1"
|
|
title: "Repair validator integration against real repaired authorities"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-CROSSDOC-VALIDATOR-H1"
|
|
needs: ["v2_experience_reintegration"]
|
|
consumes: ["integrated main false-negative diagnostics", "real repaired UX and art authorities"]
|
|
produces: ["real-document parser repair", "positive and negative regression fixtures"]
|
|
writes: ["docs/reviews/DESIGN_VALIDATION_CONTRACT.md", "tools/validate_predevelopment_design.py"]
|
|
acceptance: ["Integrated repaired main passes text and JSON", "20-case self-test remains strict", "Each R3 contradiction mutation still fails independently"]
|
|
on_pass: "v2_experience_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_experience_review_r4"
|
|
title: "Fresh experience and production re-review after R3 repair"
|
|
kind: "verifier"
|
|
goal_ref: "task:ABG-V2-EXPERIENCE-REVIEW-R4"
|
|
needs: ["v2_experience_reintegration"]
|
|
consumes: ["new immutable repaired revision"]
|
|
produces: ["read-only experience PASS/FAIL/INVALID terminal"]
|
|
writes: []
|
|
acceptance: ["All experience gates rerun from zero; no R3 evidence reused as PASS"]
|
|
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_r4", "v2_experience_review_r4"]
|
|
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_r5"]
|
|
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
|
|
|
|
- id: "v2_r4_seed_transaction_repair"
|
|
title: "Repair provisional Recruit seed and transaction authority"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-RUN-CREATION-TRANSACTION-REPAIR"
|
|
needs: ["v2_systems_review_r4"]
|
|
consumes: ["Systems R4 Gate 3 FAIL", "run creation, save and recruit generation authorities"]
|
|
produces: ["durable pre-run seed allocation", "reproducible offer receipt", "atomic current_run commit and retry rules"]
|
|
writes: ["docs/product/GAME_PRODUCT_CONTRACT.md", "docs/product/SAVE_AND_FAILURE_CONTRACT.md", "docs/content/RECRUIT_GENERATION.md"]
|
|
acceptance: ["The seed exists durably before offers", "Crash and retry reproduce identical offers/selection", "Run creation commits once without free reroll or duplicate mutation"]
|
|
on_pass: "v2_r4_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 2
|
|
|
|
- id: "v2_r4_hidden_profession_art_repair"
|
|
title: "Repair hidden profession content-to-art bindings"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-HIDDEN-PROFESSION-ART-REPAIR"
|
|
needs: ["v2_experience_review_r4"]
|
|
consumes: ["Experience R4 Gate 7 FAIL", "PF-H01..H06 content production briefs"]
|
|
produces: ["exact hidden-profession parent, silhouette, prop and motion bindings"]
|
|
writes: ["docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md"]
|
|
acceptance: ["PF-H01..H06 match content mechanics and production briefs", "No unresolved parent binding remains", "Art totals and other profession rows stay unchanged"]
|
|
on_pass: "v2_r4_reintegration"
|
|
on_fail: "failed"
|
|
max_attempts: 2
|
|
|
|
- id: "v2_r4_reintegration"
|
|
title: "Integrate R4 bounded repairs"
|
|
kind: "merge"
|
|
goal_ref: "task:ABG-V2-R4-REINTEGRATION"
|
|
needs: ["v2_r4_seed_transaction_repair", "v2_r4_hidden_profession_art_repair"]
|
|
consumes: ["two disjoint repair candidates"]
|
|
produces: ["one integrated R4-repaired revision"]
|
|
writes: ["docs/reviews/PRE_DEVELOPMENT_READINESS_AUDIT.md"]
|
|
acceptance: ["Both exact failure boundaries close", "Existing validators and anti-dominance replay remain green"]
|
|
on_pass: "v2_r4_validator_h2"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_r4_validator_h2"
|
|
title: "Add R4 contradiction regression gates"
|
|
kind: "expert"
|
|
goal_ref: "task:ABG-V2-R4-VALIDATOR-H2"
|
|
needs: ["v2_r4_reintegration"]
|
|
consumes: ["integrated repaired authorities", "both R4 FAIL reports"]
|
|
produces: ["positive parser coverage and isolated negative mutations for both contradictions"]
|
|
writes: ["docs/reviews/DESIGN_VALIDATION_CONTRACT.md", "tools/validate_predevelopment_design.py"]
|
|
acceptance: ["Real repaired documents pass", "Seed-order/transaction mutation fails", "Hidden-profession art mismatch/unresolved mutation fails"]
|
|
on_pass: "v2_systems_review_r5"
|
|
on_fail: "failed"
|
|
max_attempts: 2
|
|
|
|
- id: "v2_systems_review_r5"
|
|
title: "Fresh systems integrity review after R4 repairs"
|
|
kind: "verifier"
|
|
goal_ref: "task:ABG-V2-SYSTEMS-REVIEW-R5"
|
|
needs: ["v2_r4_validator_h2"]
|
|
consumes: ["new immutable R5 review source"]
|
|
produces: ["read-only systems PASS/FAIL/INVALID terminal"]
|
|
writes: []
|
|
acceptance: ["All systems gates rerun from zero including provisional seed transaction"]
|
|
on_pass: "v2_experience_review_r5"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_experience_review_r5"
|
|
title: "Fresh experience and production review after R4 repairs"
|
|
kind: "verifier"
|
|
goal_ref: "task:ABG-V2-EXPERIENCE-REVIEW-R5"
|
|
needs: ["v2_r4_validator_h2"]
|
|
consumes: ["new immutable R5 review source"]
|
|
produces: ["read-only experience PASS/FAIL/INVALID terminal"]
|
|
writes: []
|
|
acceptance: ["All experience gates rerun from zero including hidden-profession production binding"]
|
|
on_pass: "v2_review_synthesis_r5"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|
|
|
|
- id: "v2_review_synthesis_r5"
|
|
title: "PMO R5 dual-review synthesis"
|
|
kind: "merge"
|
|
goal_ref: "task:ABG-V2-REVIEW-SYNTHESIS-R5"
|
|
needs: ["v2_systems_review_r5", "v2_experience_review_r5"]
|
|
consumes: ["systems R5 terminal", "experience R5 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", "Both terminals PASS", "Human and implementation gates remain explicit"]
|
|
on_pass: "owner_v2_gate"
|
|
on_fail: "failed"
|
|
max_attempts: 1
|