feat(playbook): version durable scratch workflow state

This commit is contained in:
csh
2026-08-14 17:11:54 +08:00
parent 9487dbddf1
commit 8f1056130d
8 changed files with 237 additions and 17 deletions
+11 -5
View File
@@ -123,9 +123,11 @@ setup-matt-pocock-skills
-> to-spec
-> to-tickets
-> main_loop.py enqueue
-> 提交 planning baseline
-> main_loop.py claim
-> 本地 ticket 执行协议 (tdd -> commit -> code-review -> finish)
-> main_loop.py integrate
-> 提交 final workflow state
```
- 每个仓库首次使用时运行 `setup-matt-pocock-skills`,本地开发选择 local markdown tracker
@@ -139,6 +141,9 @@ setup-matt-pocock-skills
- `to-spec` 不重新进行已经完成的需求采访
- `to-tickets` 产出可独立验证的 tracer-bullet tickets,并显式声明 `Blocked by`
- 一次可以先生成多个 feature 的 spec/tickets,再按期望顺序逐个 `enqueue`
- 本批次全部 `enqueue` 成功后、任何 `claim` 之前,必须把对应的
`.scratch/<feature>/spec.md``.scratch/<feature>/issues/*.md``.scratch/queue.md`
提交为一个 planning baseline`to-spec``to-tickets``enqueue` 本身不隐式提交
- `codebase-design` 是 seam、deep module 与依赖分类的词汇来源,供 `to-spec``tdd` 查阅,
不作为独立会话运行
@@ -196,11 +201,6 @@ setup-matt-pocock-skills
不得手工修改 ticket 的 `Status``main-loop:ticket-state` 区块;只通过主循环变更。主循环
没有对应命令的状态组合按"卡死与恢复"处理,仍然不手工改。
`.scratch/` 是否纳入版本控制由项目决定并写入 `AGENT_RULES.local.md`:纳入则 spec、ticket 和
证据进入历史,可审计、新 clone 能接手队列,代价是状态变更产生提交噪音;排除则历史干净,
代价是状态只存在于本机磁盘、集成后审计线索消失,并发只靠"共享同一文件系统"兜住。无论哪种
都不得把两份 `.scratch/` 当成同一队列。
## 稳定知识维护
只记录下一 session 仍需要的稳定知识;当前 feature、ticket、owner、heartbeat、验证和集成
@@ -444,6 +444,12 @@ review 后再调用。main 合并冲突时主循环会**自动**把 feature 标
`_integration` worktree;不干净或路径异常的保留并以 `WARNING=` 行报告。已集成的 feature
再次调用时幂等返回 `INTEGRATED=`
`integrate` 成功后必须在主干提交本 feature 的最终 workflow state。只暂存
`.scratch/<feature>/` 下的持久变更,以及确由本次集成改写时的 `.scratch/queue.md`;不得用
`git add .scratch` 把其他活动 feature 的并发状态带入。该状态提交必须位于 feature merge commit
之后,不得 amend 或 squash 进 merge commit`.scratch/<feature>/.main-loop.json` 中记录的
`integration_commit` 必须继续指向主循环返回的 `MAIN_INTEGRATION_COMMIT`
ready-to-integrate feature 因人工决策暂时不能集成时必须显式记录,否则主循环不会为后序
feature 继续分配开发工作: