feat(web): harden continuous implementation handoff
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-29 07:17:09 +08:00
parent 43d0c437bb
commit 01d535b362
43 changed files with 2061 additions and 54 deletions

View File

@@ -33,6 +33,7 @@ and (when authorized) repository push:
9. 所有实现门禁通过后自动提交并推送 `origin/main`,从新 parent manifest 重新读取 `nextTask` 继续。凭据不得写入文件、URL、日志或提示词。
10. 任一命令失败、输入缺失、队列不一致、环境不可用或状态不明时,保持 `in_progress`/`blocked`,不得推进指针、伪造完成或重复未知结果的状态改变命令。
11. 每轮结束报告实现切片、当前任务、`nextTask`、最小检查退出码、原始 inventory、effective inventory 是否保持不变、提交/推送状态和剩余真实阻塞。
12. CONTINUOUS_LOOP_REQUIRED:成功交接后立即开始下一轮;不得在成功提交、推送或生成新 manifest 后等待用户确认、只写计划或只汇报状态。每轮必须重新运行 `print-task-context` 和 `check-task-context`,使用新 parent manifest 的 `nextTask`,不沿用上一轮上下文。
```
## Resume Command
@@ -65,6 +66,31 @@ has exactly one numbered task and must not carry the previous task's full
transcript, logs, or source context. A continuous run may contain many such
iterations, but it must stop at the first failed gate or explicit stop request.
## Continuous Loop Contract
The following loop is part of the execution command. It is not an optional
checklist and it does not require another user message:
```text
while queue has an active task:
read docs/EXECUTION_QUEUE.md
print and validate a fresh compact task context
assert queue.currentTask == parentManifest.nextTask
execute exactly that task's focused implementation command
write report/status/manifest/task-context through repository generators
run the required governance, typecheck, lint, build and diff gates
if any gate fails: preserve in_progress/blocked and stop
commit and push origin/main
re-read the new queue and parent manifest
immediately begin the next iteration
```
The loop must not interpret a successful implementation task as release
parity, must not fabricate a successor when `nextTask` is null, and must not
perform a second attempt after an unknown state-changing command. A root task
is itself an executable enabling task: run its declared root generator, then
continue from the generated child task in the same continuous run.
## Activation Contract
The phrase activates implementation only when the queue is internally
@@ -200,16 +226,16 @@ artifact SHA-256,只从第一个缺失的交接步骤继续。不要重复任
## Current Handoff Snapshot
Recorded: 2026-08-22 America/New_York
Recorded: 2026-08-29 Asia/Shanghai
| Field | Value |
| --- | --- |
| Current task when this file was written | `WBV2-P34-000` |
| Current task when this file was written | `WBV2-P35-000` |
| Current task state | `in_progress` |
| Parent manifest | `tests/golden/WBV2-P33-003/manifest.json` |
| Current task card | `docs/tasks/WBV2-P34-000.md` |
| Parent manifest | `tests/golden/WBV2-P34-003/manifest.json` |
| Current task card | `docs/tasks/WBV2-P35-000.md` |
| Current task-context nextTask | `NONE` |
| Focused command | `node tools/web/generate-wbv2-audio-particle-slice.mjs --task WBV2-P34-000 --write` |
| Focused command | `node tools/web/generate-wbv2-texture-root.mjs` |
The snapshot is informational and may become stale. On every resume, the queue,
parent manifest, and fresh `print-task-context` output win. Never infer a task