gateflow · git:20260614.70af0da · 2026-06-14 · sha256 67892e95fdf8656d
gateflow git:20260614.70af0daA
Immutable. This exact content never changes and is served at /api/v1/blob/67892e95fdf8656d.
--- name: gateflow description: "单个 work unit 的 gated 开发流程。用于 feature、issue、bug fix、migration、refactor、schema/public contract change 或 architecture-sensitive task;可选接收 design document;先读代码并从第一性原理确认目标/非目标,经用户确认后按 plan、review、implementation、review、deepreview、draft PR gate 自动推进到 draft-PR-pass。" --- # Gateflow Gateflow 只定义单个 `work unit` 的流程和 gate。work unit 可以是 feature、issue、bug fix、migration、refactor、 schema/public contract change 或 architecture-sensitive task。 ## Core Principles - 先看代码和事实,再判断 work unit 是否成立。 - 进入 plan 前,先用通俗语言向用户确认目标、非目标、边界和成功信号。 - 只做当前 work unit 需要的设计;不得引入无当前需求、真实风险或明确扩展压力支撑的过度设计。 - 每个 gate 都必须有 artifact、decision、validation 或明确说明;conversation-only 结果不足以通过 gate。 - draft PR gate 自动推进到 `draft-PR-pass`;merge、approve、mark ready for review、request reviewers、delete branch、 对外 comment、创建/修改外部 issue 仍需用户额外授权。 ## Invocation 典型调用: ```text 使用 $gateflow 开发 <work-unit>。 ``` 可选参数: ```text 使用 $gateflow design_doc=<path> base_ref=<ref> 开发 <work-unit>。 ``` 如果传入 `design_doc`,它是当前 work unit 的设计依据之一。若未传入,则以用户需求和代码事实为准。 ## Preflight 任何 discussion、plan 或文件修改前,先检查: ```text git branch --show-current git status --short ``` 如果当前 branch 是 `main`、`master`、`develop`、`release/*` 或项目定义的 protected trunk branch,先停下来让用户确认创建 工作分支。若 branch、dirty changes 或 scope ownership 不清,也先停下来问用户。 ## Goal Confirmation 进入 plan 前必须完成 goal confirmation: - 读取需求、design document(如有)和相关代码; - 从第一性原理判断 work unit 是否成立; - 复述目标、动机、成功信号、非目标、scope boundary; - 说明直接代码证据; - 说明本轮不会做的过度设计; - 列出 blocking open questions(如有)。 用户确认后才能进入 `plan`。如果目标不成立、范围过大、动机不足或关键约束缺失,先 discussion,不进入 implementation。 ## Gate Order 固定顺序: ```text goal confirmation -> plan -> plan review -> fix -> re-review -> accepted plan commit -> implementation -> code review -> fix -> re-review -> accepted slice commit -> aggregate deepreview -> fix -> re-review -> accepted deepreview commit -> ready-to-open-draft-PR -> push -> create draft PR -> PR review -> fix -> re-review -> accepted PR review commit -> push -> draft-PR-pass -> final closeout ``` `plan review` gate 必须使用 `planreview` skill;`code review`、`aggregate deepreview` 和 `PR review` gates 必须使用 `deepreview` skill。 多 slice 时重复: ```text implementation -> code review -> fix -> re-review -> accepted slice commit ``` 直到所有 approved slices 完成。 ## Stop Conditions 除以下情况外,用户确认目标后自动推进: - blocking open question 影响 scope、architecture、contract、schema、file ownership、state transition、implementation strategy、 test expectation 或 user-visible behavior; - branch、dirty changes、file ownership、commit scope 不清,无法安全创建 checkpoint; - validation failure、unclassified residual risk、deferred finding 或 missing artifact 需要用户决策; - 需要 merge、approve、mark ready for review、request reviewers、delete branch、对外 comment 或创建/修改外部 issue。 ## Plan Gate plan 必须 code-generation-ready,即可以直接指导实现,不需要重新设计方案、发明契约、猜 file ownership、猜 state transition 或决定 test scope。 plan 必须包含: - goal / motivation / success signal; - non-goals / scope boundary; - design document alignment(如有); - first-principles judgment and direct code evidence; - affected files/modules; - contract/schema/state-machine/public-interface changes; - implementation decisions; - small implementation slices; - tests/validation commands and expected assertions; - docs decision; - risks/open questions; - completion report format。 plan 必须显式说明为什么当前方案没有过度设计。 ## Slice Gate 每个 slice 必须足够小,适合一次 implementation pass 和一次 review pass。每个 slice 必须写清: - id/name、objective、expected outcome; - allowed files/modules; - prerequisites/dependencies; - exact allowed changes; - functions/classes/types、call paths、data flow、state transitions、error handling、invariants; - non-goals; - tests/validation commands and expected assertions; - completion signal and stop condition。 implementation 只能做当前 approved slice,除非 approved plan 明确允许一次做多个 slice。 ## Review Gate review / re-review 必须 evidence-based,并产出 durable artifact。finding 必须能被裁决为: - `accepted` - `rejected-with-reason` - `deferred-with-owner` - `needs-more-evidence` fix/re-review 最终状态只用: - `未修复` - `已修复` - `部分修复` - `证据失效` review gate 通过条件: - review artifact 已记录 artifact path; - accepted findings 都有 fix/re-review 状态; - re-review 已回写或列出最终 finding 状态; - 没有 blocking open question; - residual risks 已分类。 ## Residual Risks 每个 implementation/fix/review artifact 必须列出 residual risks 和 uncovered areas。每个 residual risk 必须分类为: - fixed in current slice; - covered by later approved slice; - assigned to later work unit; - tracked by existing issue; - requiring new issue or explicit user decision。 存在 unclassified residual risk 时,不得关闭 slice、review loop、aggregate deepreview loop、PR gate 或 final closeout。 ## Artifacts 必要 artifacts: - plan artifact; - plan review / re-review artifact; - implementation artifact for each slice; - code review / re-review artifact for each slice; - fix artifact when fixes occur; - aggregate deepreview / re-review artifact; - PR review / re-review artifact; - final closeout summary。 artifact 必须记录 gate、work unit、scope、changed files 或 reviewed target、decisions/findings、validation、docs decision、 residual risks、completion status 和 artifact path。 ## Commits review loop 通过、artifact 完整且没有 blocking open question 后,自动创建 protected local commit: ```text gateflow: accept plan for <work-unit> gateflow: accept <work-unit> <slice-id> gateflow: accept deepreview for <work-unit> gateflow: accept PR review for <work-unit> ``` commit 前必须确认 branch 不是 protected trunk,检查 `git status`,只 stage 当前 gate 相关文件,避免 unrelated dirty changes。 ## Draft PR Gate `ready-to-open-draft-PR` 前确认: - branch 只包含当前 work unit intended commits; - all approved slices 完成并有 accepted slice commits; - aggregate deepreview 已执行,accepted findings 已修复并 re-reviewed; - accepted deepreview commit 已创建; - tests/type checks 已运行或失败已说明; - docs decision 已完成; - deferred findings/residual risks 有 owner/destination; - draft PR summary 匹配真实代码,不把 future work 写成已完成。 到达 `ready-to-open-draft-PR` 后自动: ```text push -> create draft PR -> PR review -> fix -> re-review -> accepted PR review commit -> push -> draft-PR-pass ``` PR review 有 accepted findings 时,必须自动修复并 re-review。PR review 若无 accepted findings,也必须提交 PR review artifact / pass evidence 并 push。 ## Final Closeout `draft-PR-pass` 后输出 final closeout: - what changed; - what was verified; - docs updates; - finding status; - remaining risks / owners; - draft PR URL; - next entry point。