chore(pmo): route foundation atomicity hotfix

This commit is contained in:
2026-08-13 14:39:08 +08:00
parent 5ccf3d12ad
commit 3dfd836758
25 changed files with 373 additions and 31 deletions
@@ -70,3 +70,13 @@ no-rm Bash preflight 5m; environment/exact-ID/structure 45m; 22 scripts 30-60m;
- graph 节点约定的 produces
- 验收证据与残余风险
## Review Terminal
- `ABG-P9.1-FOUNDATION-REVIEW-R5 FAIL: successful-command revision invariant (open_new_session revision delta=2, expected 1)`.
- Immutable candidate: `bd505d6188556b5d407bebe9769d1c99e74dc9c1`.
- Fresh probe: `open_new_session_ok=true`, `revision_before=0`, `revision_after=2`, `screen=first_mission`.
- Cause: `FirstSessionState.reset_transient()` increments revision, then `_change_screen() -> _success()` increments it again.
- Preceding gates passed: no-rm Bash preflight, isolated editor import `rc=0`, exact-ID probe and zero legacy leaks.
- Later exact 22-script and 30-frame gates were not run after the earliest product failure.
- Evidence: `/private/tmp/abg-p91-foundation-r5-evidence.UYsX7a/terminal.txt`, SHA-256 `ae6045c523036e2aeb075303980d8145cdba5961d5b54b8cae13d38f7e510945`; manifest SHA-256 `9048e01d86f8c5bdaa8143ef0d4a6452d9f8556bf97dc416e9864c93c10a000b`.
@@ -4,7 +4,7 @@
|---|---|
| 任务 ID | ABG-P9.1-FOUNDATION-REVIEW-R5 |
| Goal ref | task:ABG-P9.1-FOUNDATION-REVIEW-R5 |
| Goal current path | queue/active/ABG-P9.1-FOUNDATION-REVIEW-R5/goal.md |
| Goal current path | queue/failed/ABG-P9.1-FOUNDATION-REVIEW-R5/goal.md |
| Context manifest | context.md |
| Context revision | p91-foundation-review-r5 |
| Role ref | role:p91-foundation-reviewer-r5 |
@@ -16,14 +16,14 @@
| 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 |
| 依赖/路由 | needs: p91_runtime_foundation repaired candidate bd505d6; PASS -> p91_domain_implementation; FAIL -> failed; max_attempts=1 |
| 状态 | active |
| 状态 | failed |
| 负责人 | p91-foundation-reviewer-r5 |
| 分配理由 | 职责匹配 |
| 轮次 | 1 |
| 开始时间 | 2026-08-13T05:54:26+00:00 |
| 最后更新 | 2026-08-13T06:08:32+00:00 |
| 验收结果 | PENDING |
| 日志指针 | PENDING |
| 最后更新 | 2026-08-13T06:31:00+00:00 |
| 验收结果 | FAIL: open_new_session revision delta=2 violates exactly-once successful-command revision invariant |
| 日志指针 | /private/tmp/abg-p91-foundation-r5-evidence.UYsX7a/terminal.txt SHA-256 ae6045c523036e2aeb075303980d8145cdba5961d5b54b8cae13d38f7e510945; manifest 9048e01d86f8c5bdaa8143ef0d4a6452d9f8556bf97dc416e9864c93c10a000b; HAPI archived |
| 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 |
@@ -32,7 +32,7 @@
| Dispatch bootstrap | dispatch.md |
| Dispatch message | SENT: dispatch:ABG-P9.1-FOUNDATION-REVIEW-R5:attempt-1 via HAPI 6fac5053 after pre-dispatch verification 9c09ba2e |
| Identity ACK | VERIFIED: IDENTITY_READY dispatch_id=dispatch:ABG-P9.1-FOUNDATION-REVIEW-R5:attempt-1 role=role:p91-foundation-reviewer-r5 team_revision=rev-p9.1-1 goal=task:ABG-P9.1-FOUNDATION-REVIEW-R5 context_revision=p91-foundation-review-r5 |
| 等待归属 | 在等谁:p91-foundation-reviewer-r5;等什么:fixed bd505d6 PASS/FAIL/INVALID;PMO 600s HAPI timer/observe |
| 等待归属 | none; append-only product FAIL; successor hotfix owns exactly-once revision repair |
## 备注
@@ -46,3 +46,4 @@ Prepared from task-manifest.json. Do not hand-edit field names.
| 2026-08-13T05:55:39+00:00 | inbox -> inbox | PMO | fresh R5 HAPI VERIFIED at correct cwd/model/effort/yolo with zero-message watermark | commit binding, fast-forward worktree, send identity bootstrap |
| 2026-08-13T05:57:10+00:00 | inbox -> active | PMO | exact standalone R5 identity ACK observed before review commands | fast-forward activation and execute no-rm fixed bd505d6 review |
| 2026-08-13T06:08:32+00:00 | active -> active | PMO | first 600s HAPI observe: no-rm preflight PASS; fixed bd505d6 and accepted summary hash verified; isolated editor import recorded rc=0 | continue exact-ID probe, structure, exact 22 scripts and independent 30-frame gates without PMO intervention |
| 2026-08-13T06:31:00+00:00 | active -> failed | PMO | fresh structural probe proves open_new_session revision delta=2; evidence manifest verifies; import root removed; worktrees clean; owned Godot 0 | route bounded atomicity hotfix to original Foundation role; downstream remains frozen |
@@ -0,0 +1,16 @@
# Review Report: ABG-P9.1-FOUNDATION-REVIEW-R5
`ABG-P9.1-FOUNDATION-REVIEW-R5 FAIL: successful-command revision invariant (open_new_session revision delta=2, expected 1)`
- Reviewer HAPI: `6fac5053-6144-4bfd-944d-b131988066cd` (archived).
- Immutable candidate: `bd505d6188556b5d407bebe9769d1c99e74dc9c1`.
- Earliest product boundary: one successful `open_new_session` command advances revision twice.
- Fresh runtime observation: `revision_before=0`, `revision_after=2`, `screen=first_mission`.
- Cause: `reset_transient()` increments revision before `_change_screen() -> _success()` increments it again.
- Evidence: `/private/tmp/abg-p91-foundation-r5-evidence.UYsX7a/terminal.txt` (`ae6045c523036e2aeb075303980d8145cdba5961d5b54b8cae13d38f7e510945`).
- Evidence manifest: `9048e01d86f8c5bdaa8143ef0d4a6452d9f8556bf97dc416e9864c93c10a000b`, all 8 listed evidence rows verify.
- Cleanup/integrity: 317/317 tracked runtime blobs match; reviewer import root absent; worktrees clean; owned Godot zero.
The successor repair must change only the smallest state/service/test boundary
needed to make every successful public command increment revision exactly once,
while rejected commands remain snapshot/revision no-ops.
@@ -94,3 +94,10 @@ foundation extraction 4-6h; exact regression and presentation gate 1-2h; confide
- 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.
@@ -4,7 +4,7 @@
|---|---|
| 任务 ID | ABG-P9.1-RUNTIME-FOUNDATION |
| Goal ref | task:ABG-P9.1-RUNTIME-FOUNDATION |
| Goal current path | queue/active/ABG-P9.1-RUNTIME-FOUNDATION/goal.md |
| Goal current path | queue/failed/ABG-P9.1-RUNTIME-FOUNDATION/goal.md |
| Context manifest | context.md |
| Context revision | p91-runtime-foundation-r4 |
| Role ref | role:p91-runtime-foundation-developer |
@@ -16,14 +16,14 @@
| 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 |
| 依赖/路由 | needs: p91_spec_integration; PASS -> p91_domain_implementation; FAIL -> failed; max_attempts=2 |
| 状态 | active |
| 状态 | failed |
| 负责人 | p91-runtime-foundation-developer |
| 分配理由 | 职责匹配 |
| 轮次 | product 2/2; dispatch recovery 4; prior recovery work zero-write |
| 开始时间 | 2026-08-13T01:31:53+00:00 |
| 最后更新 | 2026-08-13T04:45:08+00:00 |
| 验收结果 | ATTEMPT-2 CANDIDATE READY bd505d6188556b5d407bebe9769d1c99e74dc9c1; four-file exact-ID repair; fresh R2 review pending |
| 日志指针 | repaired evidence /tmp/abg-p91-foundation-id-repair-final.HQdpxC; exact IDs accepted/stored/emitted=2, legacy rejected=2/leaks=0; 22/22 strict-clean; 30 frames byte-identical; R1 FAIL retained separately |
| 最后更新 | 2026-08-13T06:31:00+00:00 |
| 验收结果 | FAIL after attempt-2: R5 proves open_new_session revision delta=2; exactly-once command revision invariant violated |
| 日志指针 | developer evidence /tmp/abg-p91-foundation-id-repair-final.HQdpxC; R5 FAIL /private/tmp/abg-p91-foundation-r5-evidence.UYsX7a/terminal.txt SHA-256 ae6045c523036e2aeb075303980d8145cdba5961d5b54b8cae13d38f7e510945 |
| 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 |
@@ -32,7 +32,7 @@
| 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 |
| 等待归属 | 在等谁:ABG-P9.1-FOUNDATION-REVIEW-R2;等什么:fixed bd505d6 fresh PASS/FAIL/INVALID;Domain/UI/Test remain frozen |
| 等待归属 | none; original Goal exhausted two product candidates; successor ABG-P9.1-FOUNDATION-ATOMICITY-H1 owns bounded repair |
## 备注
@@ -53,3 +53,4 @@ Prepared from task-manifest.json. Do not hand-edit field names.
| 2026-08-13T04:12:33+00:00 | active -> active | PMO | candidate c33c304 legal terminal; clean/upstream; 13 owned paths; 22/22 strict-clean; independent 30-frame developer comparison | start fresh visible fixed-source Foundation reviewer; do not open downstream yet |
| 2026-08-13T04:31:03+00:00 | active -> active | PMO | Foundation reviewer FAIL: frozen IDs retain_loan/add_recruit differ from new domain API IDs retain_item/recruit_rear | same Goal attempt-2: repair domain IDs, keep legacy IDs only as one-way facade translation, rerun all evidence |
| 2026-08-13T04:45:08+00:00 | active -> active | PMO | repaired candidate bd505d6 clean/upstream; exact-ID negative gate, 22/22 and 30-frame evidence pass | start fresh R2 fixed-source reviewer; do not open downstream |
| 2026-08-13T06:31:00+00:00 | active -> failed | PMO | R5 fresh runtime probe proves open_new_session revision delta=2; two product candidates exhausted | create bounded atomicity successor Goal on same persistent Foundation role; downstream frozen |
@@ -0,0 +1,12 @@
# Completion Report: ABG-P9.1-RUNTIME-FOUNDATION
`ABG-P9.1-RUNTIME-FOUNDATION redesign required: successful-command revision atomicity`
- Candidate 1 `c33c304` failed frozen Guild response IDs.
- Candidate 2 `bd505d6` repaired IDs and passed developer 22-script/30-frame evidence.
- Independent R5 then proved `open_new_session` advances revision by `2`, not exactly `1`.
- R5 terminal evidence SHA-256: `ae6045c523036e2aeb075303980d8145cdba5961d5b54b8cae13d38f7e510945`.
- Original two-candidate Goal is closed. Product source remains clean/upstream on its development branch.
Route: bounded successor `ABG-P9.1-FOUNDATION-ATOMICITY-H1`; Domain/UI/Test
remain frozen until its candidate independently passes.
@@ -0,0 +1,29 @@
# Context Manifest: ABG-P9.1-FOUNDATION-ATOMICITY-H1
> Task ID: `ABG-P9.1-FOUNDATION-ATOMICITY-H1`
> Revision: `p91-foundation-atomicity-h1`
> Mode: `balanced`
> Budget exception: `none`
## 必须读取(默认不超过 8 项)
| 路径或稳定引用 | Revision / 范围 | 为什么本 Goal 必须读 |
|---|---|---|
| `AGENTS.md` | bd505d6 | development, evidence and source-ownership boundaries |
| `.agent-taskgraph/PROJECT.md` | P9.1 profile | runtime, worktree and downstream freeze |
| `.agent-taskgraph/spec.md` | p9.1-spec-r2 | frozen milestone scope |
| `docs/runtime/PHASE9_1_ARBITRARY_PARTY_FIRST_SESSION_CONTRACT.md` | p9.1-contract-r2 | atomic command/revision and exact-ID authority |
| `.agent-taskgraph/queue/failed/ABG-P9.1-FOUNDATION-REVIEW-R5/report.md` | terminal ae6045c5 | fresh reproduction and exact failed boundary |
| `runtime/domain/p9_1/session_state.gd` | bd505d6 | current revision mutation owner |
| `runtime/domain/p9_1/session_service.gd` | bd505d6 | public command transaction owner |
| `/private/tmp/abg-p9-0r10-regression-r2.4fxrTu/summary.txt` | sha256 3de791bb6da14be19d97c194368cd14bc8bfb906013470e81b6e12da83736bf7 | exact accepted 22-script regression authority |
## 按需检索(先搜索,再局部读取)
| 路径/范围 | 触发条件 | 检索提示 |
|---|---|---|
| source tree | Goal 需要实现细节时 | 先 rg,再局部读取 |
## 最近 Delta
- 2026-08-13T06:38:21+00:00: structured pre-dispatch manifest created.
@@ -0,0 +1,21 @@
# Dispatch Bootstrap: ABG-P9.1-FOUNDATION-ATOMICITY-H1
| Field | Value |
|---|---|
| Task ID | ABG-P9.1-FOUNDATION-ATOMICITY-H1 |
| Dispatch ID | dispatch:ABG-P9.1-FOUNDATION-ATOMICITY-H1:attempt-1 |
| Role ref | role:p91-runtime-foundation-developer |
| Role profile | roles/p91-runtime-foundation-developer/ROLE.md |
| Role lifecycle | persistent |
| Team revision | rev-p9.1-1 |
| Goal ref | task:ABG-P9.1-FOUNDATION-ATOMICITY-H1 |
| Context manifest | context.md |
| Context revision | p91-foundation-atomicity-h1 |
| Continuity | original Foundation Goal closed after two candidates; continue same clean worktree from rejected bd505d6 with R5 evidence ae6045c5 |
| Session ID | PENDING |
| Expected identity ACK | IDENTITY_READY dispatch_id=dispatch:ABG-P9.1-FOUNDATION-ATOMICITY-H1:attempt-1 role=role:p91-runtime-foundation-developer team_revision=rev-p9.1-1 goal=task:ABG-P9.1-FOUNDATION-ATOMICITY-H1 context_revision=p91-foundation-atomicity-h1 |
| Delivery | NOT_SENT |
| Identity ACK | PENDING |
| ACK evidence | PENDING |
Read Role, PROJECT, context, Goal and direct evidence in that order. Return the exact identity ACK before executing the Goal.
@@ -0,0 +1,72 @@
# Goal: Repair Foundation successful-command revision atomicity
> Stage: foundation-atomicity-hotfix
> Started: 2026-08-13T06:38:21+00:00
> Task ID: `ABG-P9.1-FOUNDATION-ATOMICITY-H1`
> Baseline: `bd505d6188556b5d407bebe9769d1c99e74dc9c1; branch=agent/abg-p91-runtime-foundation; clean`
> 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_foundation_atomicity_h1`
> Independent contract: 不适用
> Context manifest: `context.md`
> Context revision: `p91-foundation-atomicity-h1`
> Legal terminal: **ABG-P9.1-FOUNDATION-ATOMICITY-H1 candidate ready** 或 **ABG-P9.1-FOUNDATION-ATOMICITY-H1 redesign required: <最早失败边界>**
## Objective
Repair the rejected bd505d6 Foundation so each successful public FirstSessionService command increments revision exactly once and every rejected command preserves both snapshot and revision. Add a focused pure-domain regression covering open_new_session plus all public command success/rejection paths. Preserve frozen Guild IDs, compatibility behavior, accepted values/timing/pixels, all existing tests and the extracted ownership model. Produce one new clean/upstream candidate and fresh evidence; do not implement downstream P9.1 gameplay.
## 图输入、输出与写入范围
- 直接依赖(needs):p91_runtime_foundation R5 product FAIL at bd505d6
- 必须读取(consumes):bd505d6 rejected source, R5 terminal ae6045c5, p9.1-contract-r2, accepted exact 22-script authority
- 必须产出(produces):Foundation atomicity repair candidate with focused regression and fresh evidence
- 唯一写入范围(writes):runtime/domain/p9_1/session_state.gd, runtime/domain/p9_1/session_service.gd, runtime/tests/p9_1/foundation_atomicity_test.gd
- 路由:PASS -> p91_domain_implementation;FAIL -> failed;最大尝试 1
## 分配记录
- Role ref:`role:p91-runtime-foundation-developer`
- 角色职责:Repair one exactly-once revision transaction boundary without changing accepted P9.0 behavior
- 角色生命周期:persistent
- 派给:p91-runtime-foundation-developer
- 分配理由:职责匹配
- 连续性:original Foundation Goal closed after two candidates; continue same clean worktree from rejected bd505d6 with R5 evidence ae6045c5
- 工作区:`/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:`PENDING`
- Runtime verification:`PENDING`
- Session evidence:`PENDING`
- Dispatch bootstrap:`dispatch.md`
- Dispatch message:`NOT_SENT`
- Identity ACK:`PENDING`
- 完整启动方式:派发预览批准后由所选 runtime 控制面生成
## 报告协议
- 完成、失败或阻塞时通知 PMO,并引用任务号、legal terminal 和证据路径。
- worker 不修改 PMO 管理的 queue ledger、STATUS 或角色注册表。
## 验收标准(证据门)
- [ ] Add a focused pure-domain matrix proving every public successful command increments revision by exactly 1 and every rejected command preserves revision and snapshot
- [ ] Repair the smallest state/service boundary; no compatibility, UI, asset, content, value, timing or unrelated refactor
- [ ] Reprove frozen retain_loan/add_recruit acceptance and legacy-ID rejection/leak zero
- [ ] Run the exact accepted 22 P9.0R1-R10 scripts serially with one marker each and strict diagnostics zero
- [ ] Rerun the four named 844x390 groups totaling 30 frames and prove byte-identical behavior against the accepted Foundation baseline
- [ ] Commit and push only owned paths; worktree clean/upstream; no owned process; report candidate ready for fresh independent review
## Frozen(禁止触碰,明确列出)
- Do not implement arbitrary-party downstream Domain/UI/Test gameplay, new screens, content or presentation
- Do not change frozen IDs, compatibility behavior, product values, timing, copy, assets, node names or existing accepted assertions
- Do not edit PMO TaskGraph, checkpoint, ledger, packaging, devices, stores or release files
- Do not reuse R5 execution evidence as candidate evidence; all H1 commands, logs and captures must bind to the new source
## Estimate
inspection/focused regression 30-60m; minimal repair 15-30m; exact-ID and 22 scripts 30-60m; 30-frame comparison 45-90m; confidence high
## 完成时交付
- graph 节点约定的 produces
- 验收证据与残余风险
@@ -0,0 +1,45 @@
# 台账记录:ABG-P9.1-FOUNDATION-ATOMICITY-H1
| 字段 | 值 |
|---|---|
| 任务 ID | ABG-P9.1-FOUNDATION-ATOMICITY-H1 |
| Goal ref | task:ABG-P9.1-FOUNDATION-ATOMICITY-H1 |
| Goal current path | queue/inbox/ABG-P9.1-FOUNDATION-ATOMICITY-H1/goal.md |
| Context manifest | context.md |
| Context revision | p91-foundation-atomicity-h1 |
| Role ref | role:p91-runtime-foundation-developer |
| Role lifecycle | persistent |
| Role profile | roles/p91-runtime-foundation-developer/ROLE.md |
| Role continuity | original Foundation Goal closed after two candidates; continue same clean worktree from rejected bd505d6 with R5 evidence ae6045c5 |
| Reviewer Role ref | PENDING |
| Reviewer Role profile | PENDING |
| 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_foundation_atomicity_h1 |
| 依赖/路由 | needs: p91_runtime_foundation R5 product FAIL at bd505d6; PASS -> p91_domain_implementation; FAIL -> failed; max_attempts=1 |
| 状态 | inbox |
| 负责人 | p91-runtime-foundation-developer |
| 分配理由 | 职责匹配 |
| 轮次 | 1 |
| 开始时间 | 2026-08-13T06:38:21+00:00 |
| 最后更新 | 2026-08-13T06:38:21+00:00 |
| 验收结果 | PENDING |
| 日志指针 | PENDING |
| Runtime requested | runtime=hapi; flavor=codex; model=gpt-5.6-sol; effort=xhigh; permission=yolo; visibility=visible |
| Runtime observed | PENDING |
| Runtime verification | PENDING |
| Session ID | PENDING |
| Runtime evidence | PENDING |
| Dispatch bootstrap | dispatch.md |
| Dispatch message | NOT_SENT |
| Identity ACK | PENDING |
| 等待归属 | 在等谁:PMO;等什么:spawn + runtime verification + IDENTITY_READY;静默 5 分钟必须诊断并告知 Owner |
## 备注
Prepared from task-manifest.json. Do not hand-edit field names.
## 状态转换历史(追加式)
| 时间 | from -> to | 操作者 | 依据/证据 | 唯一下一步 |
|---|---|---|---|---|
| 2026-08-13T06:38:21+00:00 | created -> inbox | PMO | structured manifest | run pre-dispatch validation |
@@ -0,0 +1,102 @@
{
"task_id": "ABG-P9.1-FOUNDATION-ATOMICITY-H1",
"title": "Repair Foundation successful-command revision atomicity",
"stage": "foundation-atomicity-hotfix",
"baseline": "bd505d6188556b5d407bebe9769d1c99e74dc9c1",
"branch": "agent/abg-p91-runtime-foundation",
"worktree": "/Users/wusumac/Documents/game/tmp/aetherbound-guild-worktrees/p91-runtime-foundation",
"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_foundation_atomicity_h1",
"context_revision": "p91-foundation-atomicity-h1",
"context_mode": "balanced",
"context_items": [
{
"path": "AGENTS.md",
"revision": "bd505d6",
"reason": "development, evidence and source-ownership boundaries"
},
{
"path": ".agent-taskgraph/PROJECT.md",
"revision": "P9.1 profile",
"reason": "runtime, worktree and downstream freeze"
},
{
"path": ".agent-taskgraph/spec.md",
"revision": "p9.1-spec-r2",
"reason": "frozen milestone scope"
},
{
"path": "docs/runtime/PHASE9_1_ARBITRARY_PARTY_FIRST_SESSION_CONTRACT.md",
"revision": "p9.1-contract-r2",
"reason": "atomic command/revision and exact-ID authority"
},
{
"path": ".agent-taskgraph/queue/failed/ABG-P9.1-FOUNDATION-REVIEW-R5/report.md",
"revision": "terminal ae6045c5",
"reason": "fresh reproduction and exact failed boundary"
},
{
"path": "runtime/domain/p9_1/session_state.gd",
"revision": "bd505d6",
"reason": "current revision mutation owner"
},
{
"path": "runtime/domain/p9_1/session_service.gd",
"revision": "bd505d6",
"reason": "public command transaction owner"
},
{
"path": "/private/tmp/abg-p9-0r10-regression-r2.4fxrTu/summary.txt",
"revision": "sha256 3de791bb6da14be19d97c194368cd14bc8bfb906013470e81b6e12da83736bf7",
"reason": "exact accepted 22-script regression authority"
}
],
"role_id": "p91-runtime-foundation-developer",
"role_lifecycle": "persistent",
"role_responsibility": "Repair one exactly-once revision transaction boundary without changing accepted P9.0 behavior",
"role_continuity": "original Foundation Goal closed after two candidates; continue same clean worktree from rejected bd505d6 with R5 evidence ae6045c5",
"runtime_requested": {
"runtime": "hapi",
"flavor": "codex",
"model": "gpt-5.6-sol",
"effort": "xhigh",
"permission": "yolo",
"visibility": "visible"
},
"objective": "Repair the rejected bd505d6 Foundation so each successful public FirstSessionService command increments revision exactly once and every rejected command preserves both snapshot and revision. Add a focused pure-domain regression covering open_new_session plus all public command success/rejection paths. Preserve frozen Guild IDs, compatibility behavior, accepted values/timing/pixels, all existing tests and the extracted ownership model. Produce one new clean/upstream candidate and fresh evidence; do not implement downstream P9.1 gameplay.",
"needs": [
"p91_runtime_foundation R5 product FAIL at bd505d6"
],
"consumes": [
"bd505d6 rejected source",
"R5 terminal ae6045c5",
"p9.1-contract-r2",
"accepted exact 22-script authority"
],
"produces": [
"Foundation atomicity repair candidate with focused regression and fresh evidence"
],
"writes": [
"runtime/domain/p9_1/session_state.gd",
"runtime/domain/p9_1/session_service.gd",
"runtime/tests/p9_1/foundation_atomicity_test.gd"
],
"pass_route": "p91_domain_implementation",
"fail_route": "failed",
"max_attempts": 1,
"acceptance": [
"[ ] Add a focused pure-domain matrix proving every public successful command increments revision by exactly 1 and every rejected command preserves revision and snapshot",
"[ ] Repair the smallest state/service boundary; no compatibility, UI, asset, content, value, timing or unrelated refactor",
"[ ] Reprove frozen retain_loan/add_recruit acceptance and legacy-ID rejection/leak zero",
"[ ] Run the exact accepted 22 P9.0R1-R10 scripts serially with one marker each and strict diagnostics zero",
"[ ] Rerun the four named 844x390 groups totaling 30 frames and prove byte-identical behavior against the accepted Foundation baseline",
"[ ] Commit and push only owned paths; worktree clean/upstream; no owned process; report candidate ready for fresh independent review"
],
"frozen": [
"Do not implement arbitrary-party downstream Domain/UI/Test gameplay, new screens, content or presentation",
"Do not change frozen IDs, compatibility behavior, product values, timing, copy, assets, node names or existing accepted assertions",
"Do not edit PMO TaskGraph, checkpoint, ledger, packaging, devices, stores or release files",
"Do not reuse R5 execution evidence as candidate evidence; all H1 commands, logs and captures must bind to the new source"
],
"estimate": "inspection/focused regression 30-60m; minimal repair 15-30m; exact-ID and 22 scripts 30-60m; 30-frame comparison 45-90m; confidence high"
}