Files
aetherbound-guild/.agent-taskgraph/queue/failed/ABG-P9.1-RUNTIME-FOUNDATION/goal.md
T

104 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Goal: P9.1 behavior-equivalent runtime foundation extraction
> Stage: implementation-foundation
> Started: 2026-08-13T01:31:53+00:00
> Task ID: `ABG-P9.1-RUNTIME-FOUNDATION`
> Baseline: `e9fe1bcffd4364049e22dc8f697ad1ffe4611a4a; branch=agent/abg-p91-runtime-foundation; clean; prior product writes zero`
> Frozen spec: `.agent-taskgraph/spec.md revision p9.1-spec-r2; docs/runtime/PHASE9_1_ARBITRARY_PARTY_FIRST_SESSION_CONTRACT.md revision p9.1-contract-r2`
> Graph node: `.agent-taskgraph/graph.yaml#p91_runtime_foundation`
> Independent contract: 不适用
> Context manifest: `context.md`
> Context revision: `p91-runtime-foundation-r4`
> Legal terminal: **ABG-P9.1-RUNTIME-FOUNDATION candidate ready** 或 **ABG-P9.1-RUNTIME-FOUNDATION redesign required: <最早失败边界>**
## Objective
Behavior-equivalently extract the architect-defined P9.1 foundation from runtime/main.gd, keep one mutable source of truth, preserve the complete accepted P9.0R1-R10 surface, and leave stable disjoint APIs for later domain, UI and test workers.
## 图输入、输出与写入范围
- 直接依赖(needs):p91_spec_integration
- 必须读取(consumes):p9.1-contract-r2, P9.0R10 fixed runtime source, exact accepted 22-script R10 regression manifest
- 必须产出(produces):architect-defined foundation files and clean pushed foundation candidate
- 唯一写入范围(writes):runtime/main.gd, runtime/domain/p9_1/contracts.gd, runtime/domain/p9_1/session_state.gd, runtime/domain/p9_1/session_service.gd, runtime/domain/p9_1/battle_fixture.gd, runtime/presentation/, runtime/ui/session_presenter.gd, runtime/ui/widgets.gd, runtime/compat/p9_0_root_facade.gd
- 路由:PASS -> p91_domain_implementation;FAIL -> failed;最大尝试 2
## 分配记录
- Role ref:`role:p91-runtime-foundation-developer`
- 角色职责:Extract one authoritative runtime state, command, snapshot, clock, presenter and compatibility boundary without changing accepted P9.0 behavior
- 角色生命周期:persistent
- 派给:p91-runtime-foundation-developer
- 分配理由:职责匹配
- 连续性:attempts 1-3 ended before product writes; attempt-4 is a clean redispatch from contract-r2 and source e9fe1bc
- 工作区:`/Users/wusumac/Documents/game/tmp/aetherbound-guild-worktrees/p91-runtime-foundation`(分支:`agent/abg-p91-runtime-foundation`)
- Runtime requested:`runtime=hapi; flavor=codex; model=gpt-5.6-sol; effort=xhigh; permission=yolo; visibility=visible`
- Runtime observed:`runtime=hapi; flavor=codex; model=gpt-5.6-sol; effort=xhigh; permission=yolo; visibility=visible`
- Runtime verification:`VERIFIED pre-redispatch; verification 41d0e0b0-a471-41b5-9450-2819583b58e6; message watermark seq 125`
- Session evidence:`HAPI c70ab47f-b764-42a1-b4b5-2eab342e8b25; PID 31232; runtime-evidence.json`
- Dispatch bootstrap:`dispatch.md`
- Dispatch message:`SENT: dispatch:ABG-P9.1-RUNTIME-FOUNDATION:attempt-4 via HAPI c70ab47f after pre-redispatch verification 41d0e0b0`
- Identity ACK:`VERIFIED: IDENTITY_READY dispatch_id=dispatch:ABG-P9.1-RUNTIME-FOUNDATION:attempt-4 role=role:p91-runtime-foundation-developer team_revision=rev-p9.1-1 goal=task:ABG-P9.1-RUNTIME-FOUNDATION context_revision=p91-runtime-foundation-r4`
- 完整启动方式:派发预览批准后由所选 runtime 控制面生成
## 报告协议
- 完成、失败或阻塞时通知 PMO,并引用任务号、legal terminal 和证据路径。
- worker 不修改 PMO 管理的 queue ledger、STATUS 或角色注册表。
## 验收标准(证据门)
- [ ] Introduce exactly one authoritative FirstSessionState and FirstSessionService with immutable snapshots and atomic command results
- [ ] Extract battle clock, animation, audio, feedback, presenter and widgets without changing accepted values, timing, pixels or input behavior
- [ ] Keep main.gd as a thin RuntimeShell/facade and add no P9.1-only gameplay branch
- [ ] Leave old run_state.gd and old p9_1_* tests unchanged and excluded from the foundation pass claim
- [ ] Run the exact 22 contract-listed R10 scripts serially with unique markers and strict diagnostics zero
- [ ] Rerun the four named 844x390 presentation regressions and compare accepted behavior
- [ ] Commit and push only the owned paths; worktree clean/upstream; no owned process remains
## Frozen(禁止触碰,明确列出)
- Do not implement the six-pair P9.1 downstream gameplay matrix, new screens or new test expectations
- Do not change assets, paid generation, product values, timing, copy, node names or accepted P9.0 assertions
- Do not edit PMO TaskGraph files, checkpoint, ledger, packaging, devices, stores or release files
## Estimate
foundation extraction 4-6h; exact regression and presentation gate 1-2h; confidence medium
## 完成时交付
- graph 节点约定的 produces
- 验收证据与残余风险
## Developer Completion
- Legal terminal: `ABG-P9.1-RUNTIME-FOUNDATION candidate ready`
- Candidate: `c33c3042b10a1079674859a3f37b6d1fe3140c77`
- Evidence: `/tmp/abg-p91-foundation-final-candidate-22.aP23Ws`
- Result: exact 22 scripts pass with strict diagnostics zero; four 844x390 groups / 30 frames match the activation baseline byte-for-byte; pure-domain contract passes; worktree is clean/upstream with no owned process.
- Open gate: fresh independent Foundation review. This is not final P9.1 integration or Owner acceptance.
## Review Failure And Attempt 2
- Candidate `c33c304` is append-only rejected by reviewer HAPI `9f8ea165-362e-4907-8c67-8aa0ace32fbd`.
- Earliest failed boundary: frozen P9.1 domain IDs must be `retain_loan | add_recruit`; the candidate's new domain API uses legacy `retain_item | recruit_rear`.
- Bounded repair: change new P9.1 contracts/state/service/events to the frozen IDs. Preserve old R1-R10 behavior only through one-way translation inside `runtime/compat/p9_0_root_facade.gd` when legacy callers require it. New domain truth must never accept, store or emit the legacy IDs.
- Re-run the pure-domain contract, exact 22 scripts and all four 844x390 / 30-frame comparisons from the repaired source, then commit/push a new candidate. Do not change content values, UI copy, assets, tests or PMO files.
### Attempt-2 Candidate
- Candidate: `bd505d6188556b5d407bebe9769d1c99e74dc9c1`
- Product delta after R1 FAIL: four authorized files only.
- Evidence: `/tmp/abg-p91-foundation-id-repair-final.HQdpxC`.
- Exact-ID gate: frozen IDs accepted/stored/emitted; legacy IDs rejected by the domain boundary; legacy leaks zero.
- Exact 22 scripts and four 844x390 / 30-frame comparisons pass again; clean/upstream; no owned process.
- Open gate: fresh R2 independent review.
## Final Independent Review Result
- Fixed candidate `bd505d6` failed R5 at the earliest structural contract boundary.
- One successful `open_new_session` command increments revision twice; expected exactly once.
- R5 evidence: `/private/tmp/abg-p91-foundation-r5-evidence.UYsX7a/terminal.txt`, SHA-256 `ae6045c523036e2aeb075303980d8145cdba5961d5b54b8cae13d38f7e510945`.
- This Goal exhausted its two product candidates. A new bounded successor Goal owns the atomicity repair; historical candidates remain append-only.