pmo: recover H2 with two-stage dispatch

This commit is contained in:
2026-08-11 12:33:13 +08:00
parent b42fd57adf
commit a7fe1139c3
20 changed files with 195 additions and 25 deletions
+7
View File
@@ -130,3 +130,10 @@
- HAPI `2cf38e48-f8f9-4c61-adff-b822831c17c7` passed pre-dispatch runtime verification and received the generated rev-9 bootstrap. Its first agent response was an analysis sentence rather than the exact standalone `IDENTITY_READY`.
- The real 90-second HAPI timer/observe cycle (`functions.wait` cell 1986) exposed the mismatch. PMO sent STOP, confirmed the fresh worktree remained clean at `b0e3475`, and archived the session before any validator edit, test, commit or push.
- Classify attempt-2 as `INVALID_IDENTITY_PROCESS`; it makes no product or validator judgment. The H2 `2/2` limit is exhausted, so R5 reviewers remain uncreated and the queue stops for a new Owner decision.
# 2026-08-11 - Pre-dispatch Recovery Does Not Consume Product Attempts
- Owner directed PMO to continue without repeatedly requesting authorization for identical process recovery.
- Correct the earlier accounting: a verified HAPI session that fails identity before ACK, stays outside `active`, and leaves the Goal worktree clean with zero edits/tests/commits does not consume `graph.max_attempts`. Both prior H2 sessions are retained as INVALID process history; H2 product execution remains `0/2`.
- PMO may automatically create another fresh session when runtime, machine, model, effort, permission, visibility, write scope, cost and Human Gates are unchanged. Any product edit, scope/cost/permission expansion, paid action, packaging or release boundary still requires the normal gate.
- Recovery 3 uses a two-stage dispatch: first message carries only Role/Team/Goal/Context/continuity identity and requests the exact ACK; after ACK is observed and recorded, PMO sends the rendered full Goal bootstrap.
+3 -2
View File
@@ -50,9 +50,10 @@
| Permission scope | runtime-only; Human Gates remain |
| Execution visibility | visible |
| Execution fallback | none; failed HAPI spawn remains inbox and is reported |
| Pre-dispatch recovery | Identity/runtime failure before ACK with clean worktree and zero Goal edits is PMO-owned recovery, not a product attempt; retry automatically while runtime/scope/model/permission/cost remain unchanged |
| Monitoring wait primitive | HAPI completion/blocker event + real timer cell; startup 90s, steady 600s; resume only with functions.wait(real cell_id) |
| Monitoring observe primitive | inspect_peer/session metadata/messages + exact task ledger reconciliation |
| Monitoring target evidence | none; H2 attempt-2 HAPI `2cf38e48-f8f9-4c61-adff-b822831c17c7` archived after INVALID_IDENTITY_PROCESS |
| Monitoring target evidence | H2 dispatch recovery 3; Session ID/runtime evidence PENDING until verified spawn |
## 共享文件锁
@@ -77,7 +78,7 @@ PMO 独占 `.agent-taskgraph/`、root README/AGENTS and cross-domain indexes. `A
| 开新会话可用路径 | ✅ | HAPI Hub local runner READY; spawn/inspect/message/catalog verified |
| Owner 可见性偏好 | 所有本批 worker/reviewer 均 HAPI 可见 |
| codex 线程工具 | 宿主未暴露 create_thread;使用正式 HAPI Hub spawn,不使用不可见 spawn_agent 冒充会话 |
| 监控机制登记 | stopped; no active Aetherbound worker; H2 exhausted at 2/2; next runtime requires a new Owner recovery decision |
| 监控机制登记 | preparing; H2 recovery 3 has no active worker before exact ACK; startup 90s then steady 600s after activation |
## 归档约定
+3 -1
View File
@@ -1,6 +1,6 @@
# 角色注册表
> Team revision: `rev-9`
> Team revision: `rev-10`
| Role ID | 名称 | 生命周期 | 状态 | 核心职责 | 当前 Goal | Session ID | 最后更新 |
|---|---|---|---|---|---|---|---|
@@ -22,6 +22,7 @@
| hidden-profession-art-repairer-r5 | 隐藏职业美术绑定修复员 | task-scoped | retired | 对齐 PF-H01..H06 父职业、轮廓、道具、动作与生产规格 | task:ABG-V2-HIDDEN-PROFESSION-ART-REPAIR | c32326b0-6952-46d2-b3b2-31347fa55ee4 (archived) | 2026-08-11 |
| design-validator-r5-h2 | R4 矛盾回归验证工程师 | task-scoped | retired | 为 seed/事务与隐藏职业美术绑定建立语义正负回归门 | task:ABG-V2-R4-VALIDATOR-H2 | 0ab9a014-89c7-4527-857c-6928349d842a (archived) | 2026-08-11 |
| design-validator-r5-h2-a2 | R4 矛盾回归验证工程师(替代尝试) | task-scoped | retired | 为 seed/事务与隐藏职业美术绑定建立语义正负回归门 | task:ABG-V2-R4-VALIDATOR-H2 | 2cf38e48-f8f9-4c61-adff-b822831c17c7 (archived) | 2026-08-11 |
| design-validator-r5-h2-a3 | R4 矛盾回归验证工程师(握手恢复) | task-scoped | reserved | 为 seed/事务与隐藏职业美术绑定建立语义正负回归门 | task:ABG-V2-R4-VALIDATOR-H2 | PENDING | 2026-08-11 |
## 编制变更历史
@@ -36,3 +37,4 @@
| 2026-08-11 | rev-7 | R4 双 FAIL 后新增两个互斥 task-scoped 修复角色 | 既有 Owner 并发授权;失败路由不扩大产品范围 | seed/transaction 三文档与 hidden-art 单文档并行,之后 validator H2 + fresh R5 |
| 2026-08-11 | rev-8 | R4 两项修复整合后新增 task-scoped H2 validator | graph-r10 已批准失败路由;既有 HAPI profile 授权 | 只改验证合同与脚本;完成后 fresh R5 双审 |
| 2026-08-11 | rev-9 | H2 attempt-1 身份流程无效后替换 task-scoped validator | Owner:`OK的啊继续吧`,明确批准 `1/1 -> 2/2` replacement attempt | 旧角色保持 retired;新角色独占 attempt-2,两文件范围不变 |
| 2026-08-11 | rev-10 | 将零编辑 pre-dispatch 身份失败改为 PMO 自动恢复 | Owner:`你继续啊,为什么一直要我授权` | 新建握手恢复角色;两阶段 dispatch;不消耗产品 Goal 尝试 |
+3 -3
View File
@@ -26,16 +26,16 @@
| ABG-V2-CROSSDOC-VALIDATOR-H1 | 真实文档 validator 集成修复 | review | design-validator-v2 | 1/1 | 2026-08-11T10:44:55+08:00 | `49e128f` -> `bcb2931` 已整合;20-case/self/full/JSON 与反支配回放全绿;待 R4 双审 |
| ABG-V2-RUN-CREATION-TRANSACTION-REPAIR | 开局 seed 与可恢复事务修复 | review | run-creation-contract-repairer-r5 | 2/2 | 2026-08-11T11:58:55+08:00 | `ad0a57d` -> `bba0c43` 已整合;等待 H2 + fresh Systems R5 |
| ABG-V2-HIDDEN-PROFESSION-ART-REPAIR | 隐藏职业内容到美术绑定修复 | review | hidden-profession-art-repairer-r5 | 2/2 | 2026-08-11T11:58:55+08:00 | `fef9057` -> `8102bd2` 已整合;`c558d19` 禁止;等待 H2 + fresh Experience R5 |
| ABG-V2-R4-VALIDATOR-H2 | R4 seed/事务与隐藏职业绑定回归门 | failed | design-validator-r5-h2-a2 | 2/2 | 2026-08-11T12:29:00+08:00 | attempt-2 再次 INVALID_IDENTITY_PROCESS;零编辑、worktree clean、会话归档;H2 尝试已耗尽 |
| ABG-V2-R4-VALIDATOR-H2 | R4 seed/事务与隐藏职业绑定回归门 | inbox | design-validator-r5-h2-a3 | product 0/2; dispatch recovery 3 | 2026-08-11T12:31:22+08:00 | 两阶段最小身份握手准备中;前两次 pre-dispatch INVALID 不计产品尝试 |
## 批次
- `recruit-line-redesign-02`
- Frozen spec: `design-spec-r3`
- Runtime: HAPI visible Codex `gpt-5.6-sol / xhigh / yolo`
- 并发上限:6;当前无 active worker;R5 双 reviewer 因 H2 未形成候选而未创建。
- 并发上限:6;当前仅准备 H2 dispatch recovery 3;R5 双 reviewer 因 H2 未形成候选而未创建。
- HTML、最终美术/音频生成、运行时、打包和发布均未授权。
## 当前批次总结
- R4 两项产品修复已整合,但 H2 两次会话都在零编辑状态触发身份首包流程无效,`2/2` 已耗尽。最短恢复需 Owner 决定:授权一次仅修正 bootstrap 行为的 attempt-3,或取消此身份格式闸并由当前 PMO直接完成两文件 validator;HTML 与正式开发继续冻结。
- R4 两项产品修复已整合。H2 前两次均在 pre-dispatch、零编辑状态身份失败,因此重新分类为 PMO runtime recovery,不消耗产品尝试。当前使用最小身份消息先取得 ACK,再发送完整 Goal;HTML 与正式开发继续冻结。
@@ -0,0 +1,25 @@
# Context Manifest: ABG-V2-R4-VALIDATOR-H2
> Task ID: `ABG-V2-R4-VALIDATOR-H2`
> Revision: `3`
> Mode: `balanced`
> Budget exception: `none`
## Required
| Path or stable reference | Revision / scope | Reason |
|---|---|---|
| `AGENTS.md` | current | repository and role boundary |
| canonical `.agent-taskgraph/PROJECT.md` | current | runtime and Frozen rules |
| canonical `.agent-taskgraph/roles/design-validator-r5-h2-a3/ROLE.md` | rev-10 | role scope |
| canonical current `dispatch.md` and `goal.md` | context-3 | identity, writes and acceptance |
| `.agent-taskgraph/spec.md` + `.agent-taskgraph/graph.yaml#v2_r4_validator_h2` | design-spec-r3 / graph-r11 | frozen scope and route |
| both R4 FAIL reports + integrated repair reports | fixed evidence | contradiction and repair boundaries |
| repaired product/content/art authorities | integrated source, search-first | positive semantic authority |
| validator contract + executable | current | sole write authority |
## Delta
- Previous identity failures were pre-active and produced zero edits; they do not consume product attempts.
- Recovery 3 uses identity-only first delivery, then full Goal delivery after ACK.
- Product scope is unchanged.
@@ -0,0 +1,21 @@
# Dispatch Bootstrap: ABG-V2-R4-VALIDATOR-H2
| Field | Value |
|---|---|
| Task ID | ABG-V2-R4-VALIDATOR-H2 |
| Dispatch ID | dispatch:ABG-V2-R4-VALIDATOR-H2:attempt-3 |
| Role ref | role:design-validator-r5-h2-a3 |
| Role profile | roles/design-validator-r5-h2-a3/ROLE.md |
| Role lifecycle | task-scoped |
| Team revision | rev-10 |
| Goal ref | task:ABG-V2-R4-VALIDATOR-H2 |
| Context manifest | context.md |
| Context revision | 3 |
| Continuity | fresh recovery after two immutable pre-dispatch INVALID sessions; product attempt remains 0/2 |
| Session ID | PENDING |
| Expected identity ACK | IDENTITY_READY dispatch_id=dispatch:ABG-V2-R4-VALIDATOR-H2:attempt-3 role=role:design-validator-r5-h2-a3 team_revision=rev-10 goal=task:ABG-V2-R4-VALIDATOR-H2 context_revision=3 |
| Delivery | NOT_SENT |
| Identity ACK | PENDING |
| ACK evidence | PENDING |
Phase 1 sends only the identity binding. Full Role/PROJECT/context/Goal reading begins only after the exact ACK is observed.
@@ -0,0 +1,54 @@
# Goal: ABG-V2 R4 Validator H2
> Stage: deterministic regression gate before R5 dual review
> Started: 2026-08-11T12:31:22+08:00
> Task ID: `ABG-V2-R4-VALIDATOR-H2`
> Baseline: `PENDING_TASK_PREP_REVISION; branch=agent/abg-v2-r4-validator-h2-a3; clean integrated product source 8102bd2`
> Frozen spec: `.agent-taskgraph/spec.md revision design-spec-r3`
> Graph node: `.agent-taskgraph/graph.yaml#v2_r4_validator_h2 revision graph-r11`
> Context manifest: `context.md`
> Context revision: `3`
> Product attempt: `0/2 before identity ACK; first active execution becomes 1/2`
> Legal terminal: **ABG-V2-R4-VALIDATOR-H2 candidate ready** or **ABG-V2-R4-VALIDATOR-H2 redesign required: <earliest boundary>**
## Objective
Extend the current semantic validator so the repaired integrated documents pass
and both R4 contradiction classes fail deterministically when reintroduced.
The validator must test meaning and declared bindings, not exact prose.
## Graph Input, Output And Write Scope
- Needs: `v2_r4_reintegration`
- Consumes: integrated repaired authorities and 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`
- Route: PASS -> `v2_systems_review_r5`; FAIL -> `failed`; max product attempts 2
## Assignment
- Role ref: `role:design-validator-r5-h2-a3`
- 角色职责: semantic cross-document regression gates for R4 seed/transaction and hidden-profession art bindings
- 角色生命周期: task-scoped
- 连续性: fresh recovery; attempt-1/2 sessions, roles and worktrees are immutable process history and forbidden for reuse
- 工作区:`/Users/wusumac/Documents/game/tmp/aetherbound-guild-worktrees/validator-h2-r5-a3`(分支:`agent/abg-v2-r4-validator-h2-a3`)
- 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`
## Acceptance
- Current integrated source passes text validation and deterministic byte-identical JSON with `errors=0`.
- Self-test advances from 20 to exactly 24 cases: seed/order mutation, missing/incomplete durable transaction mutation, hidden parent/mechanic mismatch, and unresolved hidden-art binding language each fail independently with intended diagnostics.
- Positive parser coverage proves seed reservation precedes opening generation, all four offers bind to one durable draft, selection is revisable, and promotion is atomic/exactly-once.
- Positive parser coverage proves `PF-H01..H06` each bind exact content-owned parents plus mechanic-compatible silhouette/props/VFX/action fields, with zero unresolved bindings.
- Existing five R3 contradiction negatives and all unrelated counts/bindings remain strict; anti-dominance self-test and five-seed replay remain green.
- Commit only the two owned files, push, leave clean/upstream and report one legal terminal.
## Frozen
No product/content/presentation/reference/HTML/runtime/media/package/release changes. Do not weaken existing checks, normalize exact prose, or edit PMO-owned task files.
@@ -4,35 +4,35 @@
|---|---|
| 任务 ID | ABG-V2-R4-VALIDATOR-H2 |
| Goal ref | task:ABG-V2-R4-VALIDATOR-H2 |
| Goal current path | queue/failed/ABG-V2-R4-VALIDATOR-H2/goal.md |
| Goal current path | queue/inbox/ABG-V2-R4-VALIDATOR-H2/goal.md |
| Context manifest | context.md |
| Context revision | 2 |
| Role ref | role:design-validator-r5-h2-a2 |
| Context revision | 3 |
| Role ref | role:design-validator-r5-h2-a3 |
| Role lifecycle | task-scoped |
| Role profile | roles/design-validator-r5-h2-a2/ROLE.md |
| Role continuity | replacement after attempt-1 INVALID_IDENTITY_PROCESS; old role/session/worktree remain immutable history |
| Role profile | roles/design-validator-r5-h2-a3/ROLE.md |
| Role continuity | fresh two-stage dispatch recovery after two immutable pre-active identity failures |
| Reviewer Role ref | role:systems-integrity-reviewer-r5 + role:experience-production-reviewer-r5 |
| Reviewer Role profile | created after H2 integration freeze |
| Frozen spec | .agent-taskgraph/spec.md design-spec-r3 |
| Graph node | .agent-taskgraph/graph.yaml#v2_r4_validator_h2 |
| 依赖/路由 | needs: v2_r4_reintegration; PASS -> v2_systems_review_r5; FAIL -> failed |
| 状态 | failed |
| 负责人 | design-validator-r5-h2-a2 |
| 分配理由 | Owner-authorized replacement for an identity-process invalid attempt with zero edits |
| 轮次 | 第 2 次(2/2) |
| 状态 | inbox |
| 负责人 | design-validator-r5-h2-a3 |
| 分配理由 | PMO-owned pre-dispatch recovery; product scope and runtime profile unchanged |
| 轮次 | product 0/2; dispatch recovery 3 |
| 开始时间 | 2026-08-11T12:01:32+08:00 |
| 最后更新 | 2026-08-11T12:29:00+08:00 |
| 验收结果 | INVALID_IDENTITY_PROCESS attempt-2; no H2 judgment; no edit; 2/2 exhausted |
| 日志指针 | attempt-1: HAPI 0ab9a014 archived, runtime-evidence-attempt1-invalid.json; attempt-2: HAPI 2cf38e48 archived, PID 79463, verification abfc60c3, runtime-evidence-attempt2-invalid.json, report.md |
| 最后更新 | 2026-08-11T12:31:22+08:00 |
| 验收结果 | PENDING; attempt-1/2 remain immutable pre-dispatch INVALID history |
| 日志指针 | attempt-1 HAPI 0ab9a014; attempt-2 HAPI 2cf38e48; current recovery PENDING |
| 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-dispatch; zero-message watermark |
| Session ID | 2cf38e48-f8f9-4c61-adff-b822831c17c7 |
| Runtime evidence | runtime-evidence-attempt2-invalid.json |
| Runtime observed | PENDING |
| Runtime verification | PENDING |
| Session ID | PENDING |
| Runtime evidence | runtime-evidence.json PENDING |
| Dispatch bootstrap | dispatch.md |
| Dispatch message | SENT: dispatch:ABG-V2-R4-VALIDATOR-H2:attempt-2 via HAPI 2cf38e48 at 2026-08-11T12:25:00+08:00 |
| Identity ACK | INVALID_IDENTITY_PROCESS: first agent response was not the exact required standalone ACK |
| 等待归属 | 在等谁:Owner;等什么:whether to authorize a third process-recovery attempt or change the identity gate/PMO role boundary |
| Dispatch message | NOT_SENT: dispatch:ABG-V2-R4-VALIDATOR-H2:attempt-3 |
| Identity ACK | PENDING |
| 等待归属 | 在等谁:PMO;等什么:fresh worktree + verified HAPI + phase-1 exact ACK |
## State History
@@ -47,3 +47,4 @@
| 2026-08-11T12:25:00+08:00 | inbox -> inbox | PMO | HAPI `2cf38e48` pre-dispatch VERIFIED; correct cwd/model/effort/yolo and zero-message watermark | commit session binding, then send rendered bootstrap |
| 2026-08-11T12:25:30+08:00 | inbox -> inbox | PMO | rendered rev-9 attempt-2 bootstrap delivered; peer shows exactly one user message and thinking | observe first agent response; require exact standalone ACK |
| 2026-08-11T12:29:00+08:00 | inbox -> failed | PMO | first agent response omitted exact IDENTITY_READY; timer cell 1986; worktree clean; STOP + archive complete | Owner recovery decision; do not create R5 reviewers |
| 2026-08-11T12:31:22+08:00 | failed -> inbox | PMO | Owner directed autonomous continuation; pre-active zero-edit INVALID reclassified as runtime recovery | fresh worktree/session; phase-1 identity-only message |
@@ -0,0 +1,22 @@
# Role: Design Validator R5 H2 Recovery 3
| 字段 | 值 |
|---|---|
| Role ID | design-validator-r5-h2-a3 |
| Team revision | rev-10 |
| Origin | staffing:ABG-V2-R4-VALIDATOR-H2-A3 |
| 生命周期 | task-scoped |
| 状态 | reserved |
| 核心职责 | Add deterministic semantic regression gates for the two R4 contradiction classes without changing product authority |
| 负责范围 | `docs/reviews/DESIGN_VALIDATION_CONTRACT.md`, `tools/validate_predevelopment_design.py` |
| 明确不负责 | Product, content, presentation, reference, HTML, runtime, media, packaging or release changes |
| 当前 Goal | task:ABG-V2-R4-VALIDATOR-H2 |
| 当前 Session ID | PENDING |
| 连续性记录 | Fresh recovery after two immutable pre-dispatch identity INVALID sessions; neither prior worktree produced edits or judgment. |
| 最后更新 | 2026-08-11T12:31:22+08:00 / PMO |
## Continuity History
| Time | Goal | Session ID | State | Handoff / evidence |
|---|---|---|---|---|
| 2026-08-11T12:31:22+08:00 | task:ABG-V2-R4-VALIDATOR-H2 | PENDING | reserved | staffing A3; context revision 3; product attempt 0/2 |
@@ -0,0 +1,37 @@
# Staffing Change: ABG-V2 R4 Validator H2 Dispatch Recovery 3
> Team revision: `rev-9 -> rev-10`
> Status: `APPLIED`
> Type: `REPLACE`
> Proposed by: `PMO / 2026-08-11T12:31:22+08:00`
> Approved by: `Owner / 2026-08-11 / 你继续啊,为什么一直要我授权`
## Trigger
Two pre-dispatch sessions failed the exact identity response while both fresh
worktrees stayed clean and no Goal implementation began. Repeated Owner prompts
were process overhead rather than product decisions.
## Change
| Action | Role ID | Goal | Writes | Lifecycle | Session | Runtime |
|---|---|---|---|---|---|---|
| replace | `design-validator-r5-h2-a3` | `task:ABG-V2-R4-VALIDATOR-H2` | validation contract + validator only | task-scoped | fresh visible HAPI | Codex `gpt-5.6-sol / xhigh / yolo` |
The new dispatch uses a minimal identity-only first message. Full Goal delivery
occurs only after the exact ACK. Product scope, graph route, two-file writes and
all Human Gates remain unchanged.
## Accounting
- Product attempts: `0/2`.
- Pre-dispatch recovery sequence: `3`.
- Previous sessions and files remain immutable INVALID process evidence.
## Application
- [x] Owner directed autonomous continuation for identical process recovery.
- [x] Previous session archived and worktree confirmed clean.
- [x] Team rev-10 replacement role and context revision 3 prepared.
- [ ] Fresh worktree and verified HAPI session created.
- [ ] Exact identity-only ACK recorded before full Goal delivery.