工作何时必须停下
skip 是借,借了要记账。security-class 的理由永远不悄悄跳过,也永远不是 planner 能定的。/flow auto 分 tier:绿色的活不问直接合,security-class 的活HALT。
本页是这些规则的操作者主场。维护者文件在仓库里保持标准,只在页脚链接。
security-class halt 规则
Section titled “security-class halt 规则”这些类别没有“例如”加沉默的其余,每个都halt。
- authentication / auth
- authorization
- admin-surface 暴露
- tenancy
- payments
- 数据丢失 / 数据迁移
- 去掉或削弱校验
碰到任何一个:
- 操作者在
DEBT.md里白纸黑字接受风险。你替他定不了。 - 在
/flow auto里这是 Tier-C HALT。停下,问。别往前走。 - 带着 open security debt 收尾,要操作者明确确认。“临时”不算确认。
用 debt 跳过 gate
Section titled “用 debt 跳过 gate”跳过合法,悄悄跳过不合法。
先记风险,再跳:
/flow debt add "skip 01-research" "<风险,具体>" "<关闭条件,点名>"/flow skip 01-research --reason "…"守卫,按这个顺序(引用上面的类别表,不拿更短的表代替):
- stage 05(contract)永远不能跳过。按项目类型改 contract。见为什么 contract 永远不能跳过。
- security-class 的理由halt。操作者在
DEBT.md里白纸黑字接受风险。它永远不是 planner 能定的。 - 不相关的 open debt 行解不了这个 stage 的锁。
/flow skip只有 open debt 行点名了正是这个 stage、且理由不是 security-class,才往前走。- 合法跳过之后,
planning_complete可以容忍那个 stage,card 不至于永远被卡。debt 行保持 open。
DEBT.md
Section titled “DEBT.md”- 第一次 skip 建
DEBT.md。 - 行格式:跳了什么、具体风险、点名的关闭条件、日期、card。
- [ ] DEBT: <跳了什么> -- <风险> -- close before: <点名的条件> -- opened <日期> (cards: C-NNN...)- 带着 open security debt 收尾,要操作者明确确认。“临时”不算确认。
- 被 debt 卡住的 card 保持
todo,证据写 PARTIAL 并点名 debt。永远不半完成,更不四舍五入成完成。
跑一次 auto 构建
Section titled “跑一次 auto 构建”/flow auto 先 preflight;过了写共享 auto state。/flow auto stop 回手动。没有暗门。
preflight 是 fail-closed:
- 每张 card 都有风险定级(不许
unknown) - security-class card 要
DEBT.md里不同作者的确认 - stage 05 带着新鲜的
semantic_gate证据
然后每张 card,操作者语言的循环是:定 tier、隔离 worktree 里 scoped subagent 构建、评审、证据、check、合并、部署、上线验证、贴世间证据、完成。用 /flow workspace 动词,让 journal 没有洞。裸 git worktree add 什么都不记。
| tier | 什么 | 动作 |
|---|---|---|
| Tier-A | 绿色,无 security-class | 不问直接 auto-merge。 |
| Tier-B | 可修 | 全新 subagent 修一次(两振)。普通 card 第一次红,不叫计费的跨厂商引擎。 |
| Tier-C | 碰 security-class 或 debt skip | HALT。操作者在 DEBT.md 里白纸黑字接受。永远不是 planner 能定的。 |
硬上限(迭代 / token / wall-clock)强制。超任何一个 → HALT + 上报。没上限的循环是反模式。
每个 gate 都看机械信号(真实 exit code、真实 ## Verify、上线检查)做决定。永远不是 agent 的自我评估。
并行合并冲突 → halt,重规划。重叠检查被糊弄了。
运行何时自己停下
Section titled “运行何时自己停下”运行 HALT 并上报,永远不悄悄继续。碰到任何一条就停:
- 硬上限超了(迭代 / token / wall-clock)。
- 红色 ground-truth 信号,两振修不好。
- Tier-C security-class 触碰。
- 并行构建合并冲突(allowed-files 重叠检查被糊弄了:停下重规划)。
- subagent 报
BLOCKED/NEEDS_CONTEXT,加上下文也解不了。
halt 时:说什么停了、什么做完了、open debt 或 blocker 是什么、2–4 个具体选项。别绕开 regression 打补丁。让操作者定。
维护者文件(不在公开页):skills/flow/references/debt-and-halts.md、skills/flow/references/auto-run.md、skills/flow/references/attestations.md。