27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
# Feature 集成
|
||
|
||
stdout 出现 `INTEGRATION_REQUIRED=<feature>@integrated` 后,先读 `main_loop.py integrate --help`。
|
||
只在全局锁下处理严格 integration frontier;后序 feature 即使完成也不得越序。
|
||
|
||
feature 必须先显式吸收最新 main,再完成 feature verification、main candidate verification 和
|
||
最终双轴 review。收到 `RETRY: feature needs main sync` 时同步后全部重跑;不得自行 merge 或
|
||
绕过 frontier。
|
||
|
||
merge 冲突令该 feature integration blocked,但不阻止后续 ticket 开发;必要时用
|
||
`main_loop.py block-feature` 记录边界,解决后用 `main_loop.py release-feature`。
|
||
|
||
## 三道证据门禁
|
||
|
||
三个独立门禁,不能互相替代:feature、main candidate 和 review 都必须是 fresh UTF-8 JSON
|
||
artifact,精确字段以 `integrate --help` 为准。调用 `main_loop.py integrate` 时只提交 frontier
|
||
feature、已验证的 `FEATURE_HEAD`、feature verification、main verification 和 review;
|
||
`skipped` ticket 还必须显式授权 partial integration。收到 `NOOP`/`RETRY` 仍按 stdout 处理。
|
||
|
||
## 持久化最终状态
|
||
|
||
集成成功后,先完成 merge commit,再只暂存 `.scratch/<feature>/` 及确被改写的
|
||
`.scratch/queue.md`,提交 final workflow state;不要运行 `git add .scratch`,不得 amend/squash。
|
||
|
||
保持 `.main-loop.json` 的 `integration_commit` 指向 `MAIN_INTEGRATION_COMMIT`,解析并报告全部
|
||
`WARNING` 与残留 worktree。已集成 feature 的重试必须幂等。
|