agentic-flow-kit 0.9.1 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -93
- package/modules/hosts/claude/commands/wf-build.md +3 -3
- package/modules/hosts/claude/commands/wf-design.md +3 -3
- package/modules/hosts/claude/commands/wf-new-task.md +13 -2
- package/modules/hosts/claude/commands/wf-plan.md +3 -3
- package/modules/hosts/claude/commands/wf-sync-hosts.md +1 -1
- package/modules/hosts/claude/commands/wf-test.md +1 -1
- package/modules/hosts/codex/commands/wf-build.md +3 -3
- package/modules/hosts/codex/commands/wf-design.md +3 -3
- package/modules/hosts/codex/commands/wf-new-task.md +13 -2
- package/modules/hosts/codex/commands/wf-plan.md +3 -3
- package/modules/hosts/codex/commands/wf-sync-hosts.md +1 -1
- package/modules/hosts/codex/commands/wf-test.md +1 -1
- package/modules/hosts/cursor/commands/wf-build.md +3 -3
- package/modules/hosts/cursor/commands/wf-design.md +3 -3
- package/modules/hosts/cursor/commands/wf-new-task.md +13 -2
- package/modules/hosts/cursor/commands/wf-plan.md +3 -3
- package/modules/hosts/cursor/commands/wf-sync-hosts.md +1 -1
- package/modules/hosts/cursor/commands/wf-test.md +1 -1
- package/modules/hosts/opencode/commands/wf-build.md +3 -3
- package/modules/hosts/opencode/commands/wf-design.md +3 -3
- package/modules/hosts/opencode/commands/wf-new-task.md +13 -2
- package/modules/hosts/opencode/commands/wf-plan.md +3 -3
- package/modules/hosts/opencode/commands/wf-sync-hosts.md +1 -1
- package/modules/hosts/opencode/commands/wf-test.md +1 -1
- package/modules/hosts/trae/commands/wf-build.md +3 -3
- package/modules/hosts/trae/commands/wf-design.md +3 -3
- package/modules/hosts/trae/commands/wf-new-task.md +13 -2
- package/modules/hosts/trae/commands/wf-plan.md +3 -3
- package/modules/hosts/trae/commands/wf-sync-hosts.md +1 -1
- package/modules/hosts/trae/commands/wf-test.md +1 -1
- package/modules/hosts/trae/rules/project-workflow.md +1 -1
- package/package.json +45 -45
- package/templates/_agents/commands/build.md +2 -2
- package/templates/_agents/commands/design.md +1 -1
- package/templates/_agents/commands/plan.md +3 -3
- package/templates/_agents/commands/sync-hosts.md +1 -1
- package/templates/_agents/scripts/check-lane-surface.mjs +20 -7
- package/templates/_agents/scripts/check-lane-surface.test.mjs +24 -2
- package/templates/_agents/scripts/check-ledger-invariant.mjs +135 -0
- package/templates/_agents/scripts/check-ledger-invariant.test.mjs +161 -0
- package/templates/_agents/scripts/check-loop.mjs +58 -15
- package/templates/_agents/scripts/check-loop.test.mjs +100 -2
- package/templates/_agents/scripts/confirm-doc.mjs +19 -7
- package/templates/_agents/scripts/confirm-doc.test.mjs +31 -0
- package/templates/_agents/scripts/fill-intent.mjs +1 -1
- package/templates/_agents/scripts/fill-plan.test.mjs +4 -3
- package/templates/_agents/scripts/gate-checklist.mjs +1 -0
- package/templates/_agents/scripts/gen-workflow-metrics.mjs +75 -5
- package/templates/_agents/scripts/gen-workflow-metrics.test.mjs +104 -2
- package/templates/_agents/scripts/policy.mjs +1 -0
- package/templates/_agents/scripts/pre-push.test.mjs +8 -1
- package/templates/_agents/scripts/solidify-task.test.mjs +5 -2
- package/templates/_agents/scripts/stage-gates.mjs +29 -6
- package/templates/_agents/scripts/trust-mode.test.mjs +110 -0
- package/templates/_agents/scripts-test-exempt.txt +10 -0
- package/templates/_githooks/pre-commit +12 -0
- package/templates/workflow/README.md +3 -2
- package/templates/workflow/plans/_TEMPLATE.md +1 -1
package/README.md
CHANGED
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
# agentic-flow-kit
|
|
2
|
-
|
|
3
|
-
AI-Native 闭环工作流 + wiki 知识层脚手架。`flow-kit init` 一条命令为新项目装好整套项目级 AI 工作流引擎:8 个阶段命令、3 个子智能体角色契约、git 门禁钩子(闭环配对 / 敏感信息扫描 / 条件构建 / 规则面预算)、kb 跨语料检索、workflow 实时看板、intents→specs→plans→incidents 文档闭环、wiki 知识库三件套。
|
|
4
|
-
|
|
5
|
-
**装完即自包含**:引擎文件拷贝进项目(零 npm 运行时依赖,Node ≥ 18 即可跑),clone 后只差 `git config core.hooksPath .githooks`——init 会自动挂好。
|
|
6
|
-
|
|
7
|
-
## English
|
|
8
|
-
|
|
9
|
-
agentic-flow-kit installs a self-contained AI workflow into a repository: stage commands, role contracts, git hooks, and an intent → spec → plan → incident trail. After `init`, the project does not need this package at runtime. Node ≥ 18 is enough.
|
|
10
|
-
|
|
11
|
-
The product is the hook, not another prompt pack. Five rules always block a bad push: paired docs, checked acceptance, a confirmation ledger, secret scanning, and the managed/owned ledger. Other hygiene checks are warnings, and a fresh install sets `audit: false` so only those five stay in the way. Omit `audit` on an older ledger and the full check set stays on.
|
|
12
|
-
|
|
13
|
-
Hosts: `zcode`, `opencode`, `trae`, `omp`, `claude`, `cursor`, `codex`. Claude Code loads `.claude/commands` and `.claude/agents`. Cursor loads `.cursor/commands`. Codex reads the repo `AGENTS.md` and `.codex/skills/flow-kit`; the `.codex/commands` files are the same thin forwards for explicit reference.
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npx agentic-flow-kit init --stack node --hosts claude,cursor
|
|
17
|
-
npx agentic-flow-kit doctor
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## 60 秒路径
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npx agentic-flow-kit init --stack node --hosts claude
|
|
24
|
-
# 按 .agents/commands/plan.md 写一份 L1 intent 与同名 plan(状态先保持 draft)
|
|
25
|
-
node .agents/scripts/confirm-doc.mjs workflow/intents/<文件>.md # 终端里键入「可以」
|
|
26
|
-
# 改代码,git add,然后提交。配对没齐、验收没勾、确认指纹对不上,钩子会拒绝这次提交。
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## 五条硬规则
|
|
30
|
-
|
|
31
|
-
新装的 `kit.json` 写 `audit: false` 与 `policyVersion: 2`:check-loop 只阻断配对、验收勾验、确认留痕,外加发版提交树上仍未收口的文档。敏感信息在 pre-commit,双源和台账在 doctor / sync。`audit` 缺省(升级来的旧台账)保持全量卫生警告。本仓库显式 `audit: true`。豁免日期只在 `.agents/scripts/policy.mjs` 的 `policyVersion` 表里改。
|
|
32
|
-
|
|
33
|
-
可选红线用 `add-gate`:`dotnet-ca`、`node-layer`、`py-import`、`generated-readonly`。约定见 `modules/gates/README.md`。
|
|
34
|
-
|
|
35
|
-
## 快速开始
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
cd <你的项目根>
|
|
39
|
-
npx agentic-flow-kit init # 交互模式:宿主 → 技术栈 → 端口 → 显式确认安装
|
|
40
|
-
# 或直接给参数
|
|
41
|
-
npx agentic-flow-kit init --stack node --hosts zcode,opencode
|
|
42
|
-
|
|
43
|
-
# 体检(布局 / git 钩子 / managed 台账 / 索引漂移 / check-loop)
|
|
44
|
-
npx agentic-flow-kit doctor
|
|
45
|
-
|
|
46
|
-
# 包出新版后升级(未改动→覆盖;本地已改→跳过并报告,--force 才覆盖;owned 永不触碰)
|
|
47
|
-
npx agentic-flow-kit sync
|
|
48
|
-
|
|
49
|
-
# 后补宿主 / 装门禁(dotnet-ca:Clean Architecture 红线守卫,装后归项目)
|
|
50
|
-
npx agentic-flow-kit add-host opencode
|
|
51
|
-
npx agentic-flow-kit add-gate dotnet-ca
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
| 选项 | 说明 |
|
|
55
|
-
|------|------|
|
|
56
|
-
| `--stack` | `dotnet` / `node` / `python` / `go` / `none`(默认 none)——**门禁配置三处**:commit-check 条件编译检查(暂存对应扩展名时 commit 前自动构建)+ **质量检测**(`checks`:lint / 类型检查 / vet 等秒级确定性检查,存在对应配置文件(tsconfig / eslint / ruff / go.mod 等)才启用,没有则自动跳过;测试不放提交门——关单在 test.md 阶段门)、settings.json 自检验命令权限、AGENTS.md「项目适配区」命令预填 |
|
|
57
|
-
| `--hosts` | `zcode` / `opencode` / `trae` / `omp` / `claude` / `cursor` / `codex` 逗号多选(默认 zcode)。zcode/omp 为本地配置,自动进 .gitignore。Claude Code 加载 `.claude/commands` 与 `.claude/agents`;Cursor 加载 `.cursor/commands`;Codex 读仓库根 `AGENTS.md` 与 `.codex/skills/`,`.codex/commands` 是同形薄转发 |
|
|
58
|
-
| `--board-port` | workflow 看板端口(默认 8933) |
|
|
59
|
-
| `--dir` | 目标项目根(默认当前目录) |
|
|
60
|
-
| `--force` | 覆盖已存在的同名文件(默认保守跳过) |
|
|
61
|
-
|
|
62
|
-
init 不问项目名 / 描述:`AGENTS.md` 只生成「AI工作流 + Wiki」两章骨架 + 「项目适配区」;技术栈经 `--stack` 传入只用于门禁配置(编译检查与自检验命令初值),密钥白名单等其余细节在 `.agents/hooks/commit-check.config.json` 里按项目填。
|
|
63
|
-
|
|
64
|
-
## 装了什么
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
.agents/ 阶段命令×8 / 角色契约×3 / 门禁钩子 / 引擎脚本(检索·索引·看板·预算·聚合)/ 技能×2 / settings.json / kit.json 台账
|
|
68
|
-
.githooks/ pre-commit(通用门禁编排+项目门禁挂载点)/ pre-push(闭环断档)/ commit-msg / post-commit / pre-merge-commit
|
|
69
|
-
workflow/ intents/specs/plans/incidents 模板×4 + README 协议 + 台账三件(delegations/papercuts/regression-checklist)
|
|
70
|
-
wiki/ INDEX 骨架 + 知识沉淀总览 + drafts-archive
|
|
71
|
-
AGENTS.md 项目规范骨架(项目段占位待填)
|
|
72
|
-
modules/gates/ 可选门禁模块(dotnet-ca:Clean Architecture 参考实现,装进项目后归项目)
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**两态文件模型**:`.agents/kit.json` 记录 managed(引擎件,随包升级)与 owned(项目内容,永不覆盖)清单及 sha256;`doctor` 会校验漂移。已存在的文件 init 保守跳过(`--force` 覆盖)。
|
|
76
|
-
|
|
77
|
-
**升级语义(sync)**:managed 文件三方比对(台账 sha / 磁盘 sha / 新版渲染 sha)——未改动 → 直接覆盖新版;本地已改 → 跳过并报告(`--force` 才覆盖,git diff 自查差异;跳过件的台账保持包侧基线,后续每次 sync 持续报告,不会在下次升级被静默覆盖——消除报告的办法:`--force` 覆盖,或把本地内容改回与新版一致);改动恰好等于新版 → 视为已最新。包内新增文件自动安装;包内已删文件仅报告不删盘;缺失的 managed 文件自动恢复。INDEX / wiki 看板等生成器目标不比对 sha,收尾重跑生成器走锚点重写。门禁模块(add-gate 装入)归项目所有,sync 永不覆盖。add-host 对已存在的宿主文件保守跳过且不入台账——后续 sync 不升级(仅报告「已存在未入台账」),要纳入包管理用 `--force` 覆盖。owned 件归项目所有、sync 永不覆盖;其台账哈希仅记账不约束,sync 每次按盘面自愈刷新(手改后无须手工对账),add-gate 接线 local-pre-commit 后同步刷新其记账。
|
|
78
|
-
|
|
79
|
-
## 设计原则
|
|
80
|
-
|
|
81
|
-
- **权威单源**:角色行为只在 `.agents/roles/`,流程只在 `.agents/commands/`,宿主适配层是纯转发薄层——换宿主不换流程。
|
|
82
|
-
- **门禁即 git 钩子**:不依赖任何 agent 客户端自觉;项目专属门禁挂 `.agents/hooks/local-pre-commit`。
|
|
83
|
-
- **中文优先**:文档协议、命令、检查输出全中文;frontmatter 受限子集供机器断言。
|
|
84
|
-
- 抽取自真实项目长期运转的引擎(某真实项目),dogfooding 是后续路线(sync 升级 / add-host / add-gate / npm 发布)的一部分。
|
|
85
|
-
- **威胁模型(2026-09-27 init-p1-batch)**:勿在不可信仓库运行 `init` / `doctor` / `sync`——三命令在执行目标侧 `.agents/scripts/` 脚本(生成器 / 校验器)前有供应链防线:脚本内容与包源渲染值(LF 归一 sha)一致才执行,失配即显式跳过提示,不执行不下结论。**防线不覆盖 git 钩子面**:预植的 `.githooks/`、`.agents/hooks/` 仍会被保留挂载,并在你自己的首次 git 操作时执行——不可信仓库请先审查/清除预置件再 init。
|
|
86
|
-
|
|
87
|
-
## 当前能力(已发布 0.8.0)
|
|
88
|
-
|
|
89
|
-
版本沿革写在 `CHANGELOG.md`。0.8.0 已包含:init / doctor / sync / add-host / add-gate、四套技术栈门禁初值、宿主薄适配、确认门、check-loop 16 项、看板端口上探、opencode 命令 `wf-` 前缀、pre-commit managed 台账快检。
|
|
90
|
-
|
|
91
|
-
仓库里还没打进版本号的增量:`audit` 档(新装默认 false)、`policyVersion`、检查 17(发版树上的未收口文档)、检查 18(委派台账对账)、检查 19(逐阶段审计)、逐阶段前置门(起草门 / 确认门 / done 前置门)、claude / cursor / codex 薄适配、`node-layer` / `py-import` / `generated-readonly` 三个可选门禁、fresh init 冒烟。效果数字等有外部仓库跑过再记,不在这次。
|
|
92
|
-
|
|
93
|
-
活跃层里 2026-09-23 至 09-28 的 approved / open 文档没有在这次改成 done 或 closed。那些文件的确认指纹绑着当时的正文,关单要逐份 `confirm-doc`。
|
|
1
|
+
# agentic-flow-kit
|
|
2
|
+
|
|
3
|
+
AI-Native 闭环工作流 + wiki 知识层脚手架。`flow-kit init` 一条命令为新项目装好整套项目级 AI 工作流引擎:8 个阶段命令、3 个子智能体角色契约、git 门禁钩子(闭环配对 / 敏感信息扫描 / 条件构建 / 规则面预算)、kb 跨语料检索、workflow 实时看板、intents→specs→plans→incidents 文档闭环、wiki 知识库三件套。
|
|
4
|
+
|
|
5
|
+
**装完即自包含**:引擎文件拷贝进项目(零 npm 运行时依赖,Node ≥ 18 即可跑),clone 后只差 `git config core.hooksPath .githooks`——init 会自动挂好。
|
|
6
|
+
|
|
7
|
+
## English
|
|
8
|
+
|
|
9
|
+
agentic-flow-kit installs a self-contained AI workflow into a repository: stage commands, role contracts, git hooks, and an intent → spec → plan → incident trail. After `init`, the project does not need this package at runtime. Node ≥ 18 is enough.
|
|
10
|
+
|
|
11
|
+
The product is the hook, not another prompt pack. Five rules always block a bad push: paired docs, checked acceptance, a confirmation ledger, secret scanning, and the managed/owned ledger. Other hygiene checks are warnings, and a fresh install sets `audit: false` so only those five stay in the way. Omit `audit` on an older ledger and the full check set stays on.
|
|
12
|
+
|
|
13
|
+
Hosts: `zcode`, `opencode`, `trae`, `omp`, `claude`, `cursor`, `codex`. Claude Code loads `.claude/commands` and `.claude/agents`. Cursor loads `.cursor/commands`. Codex reads the repo `AGENTS.md` and `.codex/skills/flow-kit`; the `.codex/commands` files are the same thin forwards for explicit reference.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx agentic-flow-kit init --stack node --hosts claude,cursor
|
|
17
|
+
npx agentic-flow-kit doctor
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 60 秒路径
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx agentic-flow-kit init --stack node --hosts claude
|
|
24
|
+
# 按 .agents/commands/plan.md 写一份 L1 intent 与同名 plan(状态先保持 draft)
|
|
25
|
+
node .agents/scripts/confirm-doc.mjs workflow/intents/<文件>.md # 终端里键入「可以」
|
|
26
|
+
# 改代码,git add,然后提交。配对没齐、验收没勾、确认指纹对不上,钩子会拒绝这次提交。
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 五条硬规则
|
|
30
|
+
|
|
31
|
+
新装的 `kit.json` 写 `audit: false` 与 `policyVersion: 2`:check-loop 只阻断配对、验收勾验、确认留痕,外加发版提交树上仍未收口的文档。敏感信息在 pre-commit,双源和台账在 doctor / sync。`audit` 缺省(升级来的旧台账)保持全量卫生警告。本仓库显式 `audit: true`。豁免日期只在 `.agents/scripts/policy.mjs` 的 `policyVersion` 表里改。
|
|
32
|
+
|
|
33
|
+
可选红线用 `add-gate`:`dotnet-ca`、`node-layer`、`py-import`、`generated-readonly`。约定见 `modules/gates/README.md`。
|
|
34
|
+
|
|
35
|
+
## 快速开始
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
cd <你的项目根>
|
|
39
|
+
npx agentic-flow-kit init # 交互模式:宿主 → 技术栈 → 端口 → 显式确认安装
|
|
40
|
+
# 或直接给参数
|
|
41
|
+
npx agentic-flow-kit init --stack node --hosts zcode,opencode
|
|
42
|
+
|
|
43
|
+
# 体检(布局 / git 钩子 / managed 台账 / 索引漂移 / check-loop)
|
|
44
|
+
npx agentic-flow-kit doctor
|
|
45
|
+
|
|
46
|
+
# 包出新版后升级(未改动→覆盖;本地已改→跳过并报告,--force 才覆盖;owned 永不触碰)
|
|
47
|
+
npx agentic-flow-kit sync
|
|
48
|
+
|
|
49
|
+
# 后补宿主 / 装门禁(dotnet-ca:Clean Architecture 红线守卫,装后归项目)
|
|
50
|
+
npx agentic-flow-kit add-host opencode
|
|
51
|
+
npx agentic-flow-kit add-gate dotnet-ca
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
| 选项 | 说明 |
|
|
55
|
+
|------|------|
|
|
56
|
+
| `--stack` | `dotnet` / `node` / `python` / `go` / `none`(默认 none)——**门禁配置三处**:commit-check 条件编译检查(暂存对应扩展名时 commit 前自动构建)+ **质量检测**(`checks`:lint / 类型检查 / vet 等秒级确定性检查,存在对应配置文件(tsconfig / eslint / ruff / go.mod 等)才启用,没有则自动跳过;测试不放提交门——关单在 test.md 阶段门)、settings.json 自检验命令权限、AGENTS.md「项目适配区」命令预填 |
|
|
57
|
+
| `--hosts` | `zcode` / `opencode` / `trae` / `omp` / `claude` / `cursor` / `codex` 逗号多选(默认 zcode)。zcode/omp 为本地配置,自动进 .gitignore。Claude Code 加载 `.claude/commands` 与 `.claude/agents`;Cursor 加载 `.cursor/commands`;Codex 读仓库根 `AGENTS.md` 与 `.codex/skills/`,`.codex/commands` 是同形薄转发 |
|
|
58
|
+
| `--board-port` | workflow 看板端口(默认 8933) |
|
|
59
|
+
| `--dir` | 目标项目根(默认当前目录) |
|
|
60
|
+
| `--force` | 覆盖已存在的同名文件(默认保守跳过) |
|
|
61
|
+
|
|
62
|
+
init 不问项目名 / 描述:`AGENTS.md` 只生成「AI工作流 + Wiki」两章骨架 + 「项目适配区」;技术栈经 `--stack` 传入只用于门禁配置(编译检查与自检验命令初值),密钥白名单等其余细节在 `.agents/hooks/commit-check.config.json` 里按项目填。
|
|
63
|
+
|
|
64
|
+
## 装了什么
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
.agents/ 阶段命令×8 / 角色契约×3 / 门禁钩子 / 引擎脚本(检索·索引·看板·预算·聚合)/ 技能×2 / settings.json / kit.json 台账
|
|
68
|
+
.githooks/ pre-commit(通用门禁编排+项目门禁挂载点)/ pre-push(闭环断档)/ commit-msg / post-commit / pre-merge-commit
|
|
69
|
+
workflow/ intents/specs/plans/incidents 模板×4 + README 协议 + 台账三件(delegations/papercuts/regression-checklist)
|
|
70
|
+
wiki/ INDEX 骨架 + 知识沉淀总览 + drafts-archive
|
|
71
|
+
AGENTS.md 项目规范骨架(项目段占位待填)
|
|
72
|
+
modules/gates/ 可选门禁模块(dotnet-ca:Clean Architecture 参考实现,装进项目后归项目)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**两态文件模型**:`.agents/kit.json` 记录 managed(引擎件,随包升级)与 owned(项目内容,永不覆盖)清单及 sha256;`doctor` 会校验漂移。已存在的文件 init 保守跳过(`--force` 覆盖)。
|
|
76
|
+
|
|
77
|
+
**升级语义(sync)**:managed 文件三方比对(台账 sha / 磁盘 sha / 新版渲染 sha)——未改动 → 直接覆盖新版;本地已改 → 跳过并报告(`--force` 才覆盖,git diff 自查差异;跳过件的台账保持包侧基线,后续每次 sync 持续报告,不会在下次升级被静默覆盖——消除报告的办法:`--force` 覆盖,或把本地内容改回与新版一致);改动恰好等于新版 → 视为已最新。包内新增文件自动安装;包内已删文件仅报告不删盘;缺失的 managed 文件自动恢复。INDEX / wiki 看板等生成器目标不比对 sha,收尾重跑生成器走锚点重写。门禁模块(add-gate 装入)归项目所有,sync 永不覆盖。add-host 对已存在的宿主文件保守跳过且不入台账——后续 sync 不升级(仅报告「已存在未入台账」),要纳入包管理用 `--force` 覆盖。owned 件归项目所有、sync 永不覆盖;其台账哈希仅记账不约束,sync 每次按盘面自愈刷新(手改后无须手工对账),add-gate 接线 local-pre-commit 后同步刷新其记账。
|
|
78
|
+
|
|
79
|
+
## 设计原则
|
|
80
|
+
|
|
81
|
+
- **权威单源**:角色行为只在 `.agents/roles/`,流程只在 `.agents/commands/`,宿主适配层是纯转发薄层——换宿主不换流程。
|
|
82
|
+
- **门禁即 git 钩子**:不依赖任何 agent 客户端自觉;项目专属门禁挂 `.agents/hooks/local-pre-commit`。
|
|
83
|
+
- **中文优先**:文档协议、命令、检查输出全中文;frontmatter 受限子集供机器断言。
|
|
84
|
+
- 抽取自真实项目长期运转的引擎(某真实项目),dogfooding 是后续路线(sync 升级 / add-host / add-gate / npm 发布)的一部分。
|
|
85
|
+
- **威胁模型(2026-09-27 init-p1-batch)**:勿在不可信仓库运行 `init` / `doctor` / `sync`——三命令在执行目标侧 `.agents/scripts/` 脚本(生成器 / 校验器)前有供应链防线:脚本内容与包源渲染值(LF 归一 sha)一致才执行,失配即显式跳过提示,不执行不下结论。**防线不覆盖 git 钩子面**:预植的 `.githooks/`、`.agents/hooks/` 仍会被保留挂载,并在你自己的首次 git 操作时执行——不可信仓库请先审查/清除预置件再 init。
|
|
86
|
+
|
|
87
|
+
## 当前能力(已发布 0.8.0)
|
|
88
|
+
|
|
89
|
+
版本沿革写在 `CHANGELOG.md`。0.8.0 已包含:init / doctor / sync / add-host / add-gate、四套技术栈门禁初值、宿主薄适配、确认门、check-loop 16 项、看板端口上探、opencode 命令 `wf-` 前缀、pre-commit managed 台账快检。
|
|
90
|
+
|
|
91
|
+
仓库里还没打进版本号的增量:`audit` 档(新装默认 false)、`policyVersion`、检查 17(发版树上的未收口文档)、检查 18(委派台账对账)、检查 19(逐阶段审计)、逐阶段前置门(起草门 / 确认门 / done 前置门)、claude / cursor / codex 薄适配、`node-layer` / `py-import` / `generated-readonly` 三个可选门禁、fresh init 冒烟。效果数字等有外部仓库跑过再记,不在这次。
|
|
92
|
+
|
|
93
|
+
活跃层里 2026-09-23 至 09-28 的 approved / open 文档没有在这次改成 done 或 closed。那些文件的确认指纹绑着当时的正文,关单要逐份 `confirm-doc`。
|
|
@@ -13,8 +13,8 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
13
13
|
1. 确认同名入口文档(approved intent 或已确认的 incident)+ spec(若 L2/L3)均已确认;否则回上一阶段(fill/confirm 未过即拒)
|
|
14
14
|
2. 起草 plan:
|
|
15
15
|
- 复制 `workflow/plans/_TEMPLATE.md` → `workflow/plans/YYYY-MM-DD-<主题>.md`(与入口文档同名)
|
|
16
|
-
- L2/L3 按 4
|
|
17
|
-
- L1
|
|
16
|
+
- L2/L3 按 4 节填写:改动方案 / 任务拆解(每个任务有判据) / 执行顺序 / 验证计划(与 fill-plan.mjs 单源一致)
|
|
17
|
+
- L1 使用 Quick-Plan 极简三节:改动方案 / 约束与风险(原 Spec 核心) / 验证计划;多文件多步骤时可补任务拆解/执行顺序
|
|
18
18
|
3. 停下,输出 plan 草稿全文给用户过目,一句"可以"即确认。**逐件确认**:入口文档 / spec / plan 各自的确认点不得并作一次,plan 草稿须全文过目(不接受摘要代替)。**逐件配逐件原话**:`--delegated` 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力(事后对质看不出放行的是哪一件);原因与根治见 workflow/papercuts.md 2026-09-28
|
|
19
19
|
**确认落态唯一入口**(2026-09-27 起):用户在终端跑 `node .agents/scripts/confirm-doc.mjs <path>` 键入「可以」(draft→approved / approved→done;对话内明确确认后 AI 可 `--delegated "<原话>"` 代录,台账如实记 source/quote——**逐件调用 + 逐件原话**(一次一份,build.md「逐件确认」口径;多份并录被 confirm-doc 拒绝。--delegated 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力))。check-loop 15 如实口径:缺记录/指纹不配对 → hard-block 拦截;伪造台账本地不可机器防,留痕供事后对质;done 内容绑定(2026-09-28 起)——关单编辑(勾验/回填)先于 done 确认、confirm-doc 是最后一次写入,此后修订走 superseded 或新 intent。
|
|
20
20
|
4. 确认后 → plan 状态 draft → approved,并在 plan 内补「确认与复核」节(确认结果 + 日期)。确认环节须在文档留痕:`approved` 是确认的机器可见态,`done` 只在关单出现,禁从 `draft` 直跳 `done`;确认后立即 `docs(workflow)` 单独提交留痕(根 `AGENTS.md` 提交约定;check-loop 检查 14 口径)
|
|
@@ -26,7 +26,7 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
26
26
|
- 列改动文件清单(读后改 vs 新建)
|
|
27
27
|
- 列步骤(改 X 文件做 Y → 改 Z 文件做 W)
|
|
28
28
|
- **owned 文件同步**:kit.owned 列表文件(AGENTS.md / workflow 模板等)sync 不动,须列「手动同步装副本」步骤(见 incidents/2026-09-25-wf-runtime 复盘)
|
|
29
|
-
- 标注触达红线(对照根 `AGENTS.md
|
|
29
|
+
- 标注触达红线(对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)+ 改动域目录级 `AGENTS.md`(如有))
|
|
30
30
|
6. 停下,等用户确认改动清单
|
|
31
31
|
|
|
32
32
|
### 实现
|
|
@@ -4,20 +4,20 @@ description: Design 阶段:起 spec(L2/L3 强制,L1 可省略)
|
|
|
4
4
|
|
|
5
5
|
# Design · 起 spec
|
|
6
6
|
|
|
7
|
-
> L2/L3 强制;L1
|
|
7
|
+
> L2/L3 强制;L1 走快车道(直接跳 `next: build.md` 起草 Quick-Plan)。
|
|
8
8
|
|
|
9
9
|
## 执行
|
|
10
10
|
|
|
11
11
|
1. 确认同名入口文档已批准:新需求为 approved intent,修复为已确认的 incident 草稿;否则拒绝,分别回 `plan.md` / `maintain.md`(2026-09-30 起机器强制:fill-spec / confirm-doc 对前置未过直接拒绝 exit 2、不落盘不记账)
|
|
12
12
|
2. 级别判断(对照 AGENTS.md 第 3 条):
|
|
13
|
-
- **L1**(实现级改动,未命中 L2/L3)→
|
|
13
|
+
- **L1**(实现级改动,未命中 L2/L3)→ 走快车道,省略 spec,直接跳 `next: build.md` 起草 Quick-Plan
|
|
14
14
|
- **L2**(改规则 / 契约:编码权威 / 共享契约 / 既有接口语义 / 全局横切口径,闭集见 `new-task.md` §级别判断)→ 必须有 spec
|
|
15
15
|
- **L3**(数据与运行时结构:schema / 迁移 SQL / DI 链 / 认证与中间件管线)→ 必须有 spec + **新会话独立复核**
|
|
16
16
|
3. 起草 spec:
|
|
17
17
|
- **填空工具先跑**:`node .agents/scripts/fill-spec.mjs --level <L1|L2|L3> --topic <主题> --output workflow/specs/<date>-<主题>.md`——输出含 frontmatter 5 字段 + 5 节正文(功能行为/数据流/系统改动/约束遵守映射/风险评估)的草稿;AI 据此填实
|
|
18
18
|
- 复制 `workflow/specs/_TEMPLATE.md` → `workflow/specs/YYYY-MM-DD-<主题>.md`(与入口文档同名)
|
|
19
19
|
- 按 5 节填写:功能行为 / 数据流 / 系统改动 / 约束遵守映射 / 风险评估
|
|
20
|
-
- 约束映射必须对照根 `AGENTS.md
|
|
20
|
+
- 约束映射必须对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)与改动域目录级 `AGENTS.md`(如有)逐条说明如何满足
|
|
21
21
|
- 存在多个可行方案时,在 spec 中列出各方案取舍与 AI 建议项,由用户选定后方可确认
|
|
22
22
|
- **页面/交互入口形态必须用户确认**:spec 须写明入口是「表单(字段清单)」还是「选择器/弹窗」,禁止自行推定交互形态
|
|
23
23
|
4. 起草后停下,输出草稿全文给用户过目
|
|
@@ -18,11 +18,22 @@ description: AI-Native 闭环总入口:6 阶段指令索引(Plan→Design→Buil
|
|
|
18
18
|
| **Maintain** | [.agents/commands/maintain.md](.agents/commands/maintain.md) | "线上出事了" / "记一笔 incident" | `implementer`(方案确认后) | 三件套要点确认 |
|
|
19
19
|
| **Review**(横切,不占 6 阶段) | [.agents/commands/review.md](.agents/commands/review.md) | "评审一下" / "过 review 标准" | `independent-reviewer`(L2/L3 必须独立复核) | 问题定性与合入时机确认 |
|
|
20
20
|
|
|
21
|
+
## 风险定级(第 0 步,先定级再路由)
|
|
22
|
+
|
|
23
|
+
动工前先按下表定风险级 L0-L3(就高不就低;判据细则见下节「级别判断」),级别即风险级,决定走哪条泳道——确认放事前,还是审计补事后:
|
|
24
|
+
|
|
25
|
+
| 泳道 | 级别 | 确认与审计口径 |
|
|
26
|
+
|------|------|---------------|
|
|
27
|
+
| **协作道**(敏捷优先,审计异步补) | L0 例行 / L1 实现级 | L0 直接 commit,豁免 intent;L1 快车道(intent 一句话确认 + 极简 plan)即动工。独立复核不设同步前置,check-loop 与事后 review 兜底;确认/代录可 `--batch` 批量(仅 L0/L1) |
|
|
28
|
+
| **防御道**(严谨优先,确认同步拦) | L2 规则/契约 / L3 数据与运行时结构 | 同步确认门:spec 确认通过方可起草 plan,plan 确认后方可动手;L3 加新会话独立复核,未确认不放行 |
|
|
29
|
+
|
|
30
|
+
> 定级结果落 intent frontmatter `risk_level`(=级别,`fill-intent.mjs` 自动写入,机器选道用);协作道勾触达红线会被 check-loop 判「红线判低」hard 拦(就高升级 L2/L3 并补同名 spec)。
|
|
31
|
+
|
|
21
32
|
## 路由判断
|
|
22
33
|
|
|
23
34
|
- **新需求 / 功能**:从 `plan.md` 进,立 **intent**(`workflow/intents/`)
|
|
24
35
|
- **修复类任务 / 事故**:从 `maintain.md` 进,立 **incident**(`workflow/incidents/`);incident 在 L1+ 即 **intent 等价物**(check-loop 认 incident≡intent),不必另立 intent。先检索同类历史(`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type incidents,plans`),有同类先读其历史三件套;再按级别走:
|
|
25
|
-
|
|
36
|
+
- L0 → 直接修复;L1 → 立 incident 后进 `build.md` 起草并确认同名 Quick-Plan → `test.md`
|
|
26
37
|
- L2/L3 → 立 incident 后进 `design.md` 起草并确认同名 spec,再进 `build.md` 起草并确认同名 plan → `test.md`
|
|
27
38
|
- 仅当根因属系统性 / 门禁缺位(maintain.md 三件套「是否需要新 intent」选"是")才另立 `workflow/intents/` 同名 intent
|
|
28
39
|
- **改完代码要验证**:直接进 `test.md`(验证通过即关单;L1 到此结束)
|
|
@@ -34,7 +45,7 @@ description: AI-Native 闭环总入口:6 阶段指令索引(Plan→Design→Buil
|
|
|
34
45
|
| 级别 | 改什么 | 流程 |
|
|
35
46
|
|------|--------|------|
|
|
36
47
|
| L0 | 文档/样式微调(无行为影响) | 直接 commit,豁免 intent |
|
|
37
|
-
| L1 | **实现级改动**(未命中 L2/L3) |
|
|
48
|
+
| L1 | **实现级改动**(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) $\rightarrow$ 实现 $\rightarrow$ 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账 |
|
|
38
49
|
| L2 | **规则 / 契约**(一处改、多处依赖) | 入口文档(intent / incident) + spec + plan 三件套 |
|
|
39
50
|
| L3 | **数据与运行时结构**(schema / 迁移 SQL / DI 链 / 认证与中间件管线) | 同 L2 + spec 新会话独立复核 |
|
|
40
51
|
|
|
@@ -13,11 +13,11 @@ description: Plan 阶段:立 intent(需求来源 / 目标 / 约束 / 触达红
|
|
|
13
13
|
1. 若 `workflow/intents/` 已有目标 intent 且状态为 approved → 按级别跳 next(L1 → `build.md`,L2/L3 → `design.md`)
|
|
14
14
|
2. 否则起草新 intent:
|
|
15
15
|
- **先检索同类**:`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type intents,specs`——命中同类先读其结论与验收,新 intent 引用(防重复立项 / 重复踩坑)
|
|
16
|
-
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <L0|L1|L2|L3> --topic <主题> --output workflow/intents/<date>-<主题>.md --notes "<备注>"`——输出含 frontmatter 6 字段(含 risk_level)+
|
|
16
|
+
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <L0|L1|L2|L3> --topic <主题> --output workflow/intents/<date>-<主题>.md --notes "<备注>"`——输出含 frontmatter 6 字段(含 risk_level)+ 9 节(背景与问题/历史教训防复发/目标/非目标/约束/影响面/触达红线/验收标准 8 节正文 + 确认与复核)的草稿;AI 据此填实,模板与节标题机器保证不出错
|
|
17
17
|
- 复制 `workflow/intents/_TEMPLATE.md` → `workflow/intents/YYYY-MM-DD-<主题>.md`
|
|
18
18
|
- frontmatter 填 `模块:`(词表见 `.agents/workflow-modules.txt`,新建文档必填,check-loop 会警告)
|
|
19
|
-
- 按
|
|
20
|
-
- 红线勾选对照根 `AGENTS.md
|
|
19
|
+
- 按 8 节填写:背景与问题 / 历史教训防复发 / 目标(可验证) / 非目标 / 约束 / 影响面 / 触达红线 / 验收标准(L1 微改动可省非目标/约束两节,不硬填)
|
|
20
|
+
- 红线勾选对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)+ 改动域目录级 `AGENTS.md`(如有);**没触及就全不勾**,不要硬填
|
|
21
21
|
3. 写不出可测试判据 = 还没想清楚 → 反问澄清,不要硬填
|
|
22
22
|
4. 起草后停下,输出草稿全文给用户过目,一句"可以"即确认
|
|
23
23
|
|
|
@@ -9,7 +9,7 @@ description: 跨宿主适配层同步(正文段 sha 比对 + 用户拍板 +
|
|
|
9
9
|
|
|
10
10
|
## 何时跑
|
|
11
11
|
|
|
12
|
-
- 改 `templates/_agents/commands/*.md` 正文后(
|
|
12
|
+
- 改 `templates/_agents/commands/*.md` 正文后(11 个 commands 文件)
|
|
13
13
|
- 改 `templates/_agents/roles/*.md` 正文后(3 个 roles 文件)
|
|
14
14
|
- 装户跑 `flow-kit doctor` 报"跨宿主薄适配正文漂移 N 对" WARN 时
|
|
15
15
|
- 不跑:仅改 frontmatter;改 trae 钩子/规则;改包源其他文件
|
|
@@ -55,7 +55,7 @@ node bin/flow-kit.mjs doctor # §6.5 delegations + §6.6 o
|
|
|
55
55
|
- 失败项已修复并复测通过
|
|
56
56
|
- **关单**(日常闭环点,不依赖是否上 prod):
|
|
57
57
|
- 关单前一键过门:`node .agents/scripts/verify.mjs`(npm test + check-loop 固定编排,任一失败非零退出,非绿不关单)
|
|
58
|
-
- 新需求:逐条勾验入口 intent
|
|
58
|
+
- 新需求:逐条勾验入口 intent「验收标准」,每条补「证据:」(例如:粘贴 CI 运行结果、UI 截图路径、或具体的 commit SHA),intent $\rightarrow$ done;同名 spec/Quick-Plan(若有)仍 approved $\rightarrow$ done。**注意:勾选但缺证据会被 check-loop 拦截(hard-block)**
|
|
59
59
|
- **approved 留痕提交**(2026-09-30 起):done 确认前确认**本次关单文档**的 approved 态已进 git 历史(越早越好——approved 后即应提交;若尚未,先补提交再 done;门为逐份校验,三件套均关单时逐份各自满足)——confirm-doc 的 done 前置门硬校验(历史未出现「状态: approved」→ 拒绝落账);done 后再提交 done 态与其余改动
|
|
60
60
|
**确认落态唯一入口**(2026-09-27 起):用户在终端跑 `node .agents/scripts/confirm-doc.mjs <path>` 键入「可以」(draft→approved / approved→done;对话内明确确认后 AI 可 `--delegated "<原话>"` 代录,台账如实记 source/quote——**逐件调用 + 逐件原话**(一次一份,build.md「逐件确认」口径;多份并录被 confirm-doc 拒绝。--delegated 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力))。check-loop 15 如实口径:缺记录/指纹不配对 → hard-block 拦截;伪造台账本地不可机器防,留痕供事后对质;done 内容绑定(2026-09-28 起)——**关单编辑(勾验/回填确认结果)先于 done 确认、confirm-doc 是最后一次写入**,此后修订走 superseded 或新 intent。
|
|
61
61
|
- 修复:防复发验证已落地,incident → closed(经确认门 confirm-doc:open→fixed / fixed→closed 两跳、无单跳;2026-09-28 起 check-loop 15 对账——关单编辑先于 closed 确认,口径同 done 内容绑定)
|
|
@@ -13,8 +13,8 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
13
13
|
1. 确认同名入口文档(approved intent 或已确认的 incident)+ spec(若 L2/L3)均已确认;否则回上一阶段(fill/confirm 未过即拒)
|
|
14
14
|
2. 起草 plan:
|
|
15
15
|
- 复制 `workflow/plans/_TEMPLATE.md` → `workflow/plans/YYYY-MM-DD-<主题>.md`(与入口文档同名)
|
|
16
|
-
- L2/L3 按 4
|
|
17
|
-
- L1
|
|
16
|
+
- L2/L3 按 4 节填写:改动方案 / 任务拆解(每个任务有判据) / 执行顺序 / 验证计划(与 fill-plan.mjs 单源一致)
|
|
17
|
+
- L1 使用 Quick-Plan 极简三节:改动方案 / 约束与风险(原 Spec 核心) / 验证计划;多文件多步骤时可补任务拆解/执行顺序
|
|
18
18
|
3. 停下,输出 plan 草稿全文给用户过目,一句"可以"即确认。**逐件确认**:入口文档 / spec / plan 各自的确认点不得并作一次,plan 草稿须全文过目(不接受摘要代替)。**逐件配逐件原话**:`--delegated` 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力(事后对质看不出放行的是哪一件);原因与根治见 workflow/papercuts.md 2026-09-28
|
|
19
19
|
**确认落态唯一入口**(2026-09-27 起):用户在终端跑 `node .agents/scripts/confirm-doc.mjs <path>` 键入「可以」(draft→approved / approved→done;对话内明确确认后 AI 可 `--delegated "<原话>"` 代录,台账如实记 source/quote——**逐件调用 + 逐件原话**(一次一份,build.md「逐件确认」口径;多份并录被 confirm-doc 拒绝。--delegated 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力))。check-loop 15 如实口径:缺记录/指纹不配对 → hard-block 拦截;伪造台账本地不可机器防,留痕供事后对质;done 内容绑定(2026-09-28 起)——关单编辑(勾验/回填)先于 done 确认、confirm-doc 是最后一次写入,此后修订走 superseded 或新 intent。
|
|
20
20
|
4. 确认后 → plan 状态 draft → approved,并在 plan 内补「确认与复核」节(确认结果 + 日期)。确认环节须在文档留痕:`approved` 是确认的机器可见态,`done` 只在关单出现,禁从 `draft` 直跳 `done`;确认后立即 `docs(workflow)` 单独提交留痕(根 `AGENTS.md` 提交约定;check-loop 检查 14 口径)
|
|
@@ -26,7 +26,7 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
26
26
|
- 列改动文件清单(读后改 vs 新建)
|
|
27
27
|
- 列步骤(改 X 文件做 Y → 改 Z 文件做 W)
|
|
28
28
|
- **owned 文件同步**:kit.owned 列表文件(AGENTS.md / workflow 模板等)sync 不动,须列「手动同步装副本」步骤(见 incidents/2026-09-25-wf-runtime 复盘)
|
|
29
|
-
- 标注触达红线(对照根 `AGENTS.md
|
|
29
|
+
- 标注触达红线(对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)+ 改动域目录级 `AGENTS.md`(如有))
|
|
30
30
|
6. 停下,等用户确认改动清单
|
|
31
31
|
|
|
32
32
|
### 实现
|
|
@@ -4,20 +4,20 @@ description: Design 阶段:起 spec(L2/L3 强制,L1 可省略)
|
|
|
4
4
|
|
|
5
5
|
# Design · 起 spec
|
|
6
6
|
|
|
7
|
-
> L2/L3 强制;L1
|
|
7
|
+
> L2/L3 强制;L1 走快车道(直接跳 `next: build.md` 起草 Quick-Plan)。
|
|
8
8
|
|
|
9
9
|
## 执行
|
|
10
10
|
|
|
11
11
|
1. 确认同名入口文档已批准:新需求为 approved intent,修复为已确认的 incident 草稿;否则拒绝,分别回 `plan.md` / `maintain.md`(2026-09-30 起机器强制:fill-spec / confirm-doc 对前置未过直接拒绝 exit 2、不落盘不记账)
|
|
12
12
|
2. 级别判断(对照 AGENTS.md 第 3 条):
|
|
13
|
-
- **L1**(实现级改动,未命中 L2/L3)→
|
|
13
|
+
- **L1**(实现级改动,未命中 L2/L3)→ 走快车道,省略 spec,直接跳 `next: build.md` 起草 Quick-Plan
|
|
14
14
|
- **L2**(改规则 / 契约:编码权威 / 共享契约 / 既有接口语义 / 全局横切口径,闭集见 `new-task.md` §级别判断)→ 必须有 spec
|
|
15
15
|
- **L3**(数据与运行时结构:schema / 迁移 SQL / DI 链 / 认证与中间件管线)→ 必须有 spec + **新会话独立复核**
|
|
16
16
|
3. 起草 spec:
|
|
17
17
|
- **填空工具先跑**:`node .agents/scripts/fill-spec.mjs --level <L1|L2|L3> --topic <主题> --output workflow/specs/<date>-<主题>.md`——输出含 frontmatter 5 字段 + 5 节正文(功能行为/数据流/系统改动/约束遵守映射/风险评估)的草稿;AI 据此填实
|
|
18
18
|
- 复制 `workflow/specs/_TEMPLATE.md` → `workflow/specs/YYYY-MM-DD-<主题>.md`(与入口文档同名)
|
|
19
19
|
- 按 5 节填写:功能行为 / 数据流 / 系统改动 / 约束遵守映射 / 风险评估
|
|
20
|
-
- 约束映射必须对照根 `AGENTS.md
|
|
20
|
+
- 约束映射必须对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)与改动域目录级 `AGENTS.md`(如有)逐条说明如何满足
|
|
21
21
|
- 存在多个可行方案时,在 spec 中列出各方案取舍与 AI 建议项,由用户选定后方可确认
|
|
22
22
|
- **页面/交互入口形态必须用户确认**:spec 须写明入口是「表单(字段清单)」还是「选择器/弹窗」,禁止自行推定交互形态
|
|
23
23
|
4. 起草后停下,输出草稿全文给用户过目
|
|
@@ -18,11 +18,22 @@ description: AI-Native 闭环总入口:6 阶段指令索引(Plan→Design→Buil
|
|
|
18
18
|
| **Maintain** | [.agents/commands/maintain.md](.agents/commands/maintain.md) | "线上出事了" / "记一笔 incident" | `implementer`(方案确认后) | 三件套要点确认 |
|
|
19
19
|
| **Review**(横切,不占 6 阶段) | [.agents/commands/review.md](.agents/commands/review.md) | "评审一下" / "过 review 标准" | `independent-reviewer`(L2/L3 必须独立复核) | 问题定性与合入时机确认 |
|
|
20
20
|
|
|
21
|
+
## 风险定级(第 0 步,先定级再路由)
|
|
22
|
+
|
|
23
|
+
动工前先按下表定风险级 L0-L3(就高不就低;判据细则见下节「级别判断」),级别即风险级,决定走哪条泳道——确认放事前,还是审计补事后:
|
|
24
|
+
|
|
25
|
+
| 泳道 | 级别 | 确认与审计口径 |
|
|
26
|
+
|------|------|---------------|
|
|
27
|
+
| **协作道**(敏捷优先,审计异步补) | L0 例行 / L1 实现级 | L0 直接 commit,豁免 intent;L1 快车道(intent 一句话确认 + 极简 plan)即动工。独立复核不设同步前置,check-loop 与事后 review 兜底;确认/代录可 `--batch` 批量(仅 L0/L1) |
|
|
28
|
+
| **防御道**(严谨优先,确认同步拦) | L2 规则/契约 / L3 数据与运行时结构 | 同步确认门:spec 确认通过方可起草 plan,plan 确认后方可动手;L3 加新会话独立复核,未确认不放行 |
|
|
29
|
+
|
|
30
|
+
> 定级结果落 intent frontmatter `risk_level`(=级别,`fill-intent.mjs` 自动写入,机器选道用);协作道勾触达红线会被 check-loop 判「红线判低」hard 拦(就高升级 L2/L3 并补同名 spec)。
|
|
31
|
+
|
|
21
32
|
## 路由判断
|
|
22
33
|
|
|
23
34
|
- **新需求 / 功能**:从 `plan.md` 进,立 **intent**(`workflow/intents/`)
|
|
24
35
|
- **修复类任务 / 事故**:从 `maintain.md` 进,立 **incident**(`workflow/incidents/`);incident 在 L1+ 即 **intent 等价物**(check-loop 认 incident≡intent),不必另立 intent。先检索同类历史(`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type incidents,plans`),有同类先读其历史三件套;再按级别走:
|
|
25
|
-
|
|
36
|
+
- L0 → 直接修复;L1 → 立 incident 后进 `build.md` 起草并确认同名 Quick-Plan → `test.md`
|
|
26
37
|
- L2/L3 → 立 incident 后进 `design.md` 起草并确认同名 spec,再进 `build.md` 起草并确认同名 plan → `test.md`
|
|
27
38
|
- 仅当根因属系统性 / 门禁缺位(maintain.md 三件套「是否需要新 intent」选"是")才另立 `workflow/intents/` 同名 intent
|
|
28
39
|
- **改完代码要验证**:直接进 `test.md`(验证通过即关单;L1 到此结束)
|
|
@@ -34,7 +45,7 @@ description: AI-Native 闭环总入口:6 阶段指令索引(Plan→Design→Buil
|
|
|
34
45
|
| 级别 | 改什么 | 流程 |
|
|
35
46
|
|------|--------|------|
|
|
36
47
|
| L0 | 文档/样式微调(无行为影响) | 直接 commit,豁免 intent |
|
|
37
|
-
| L1 | **实现级改动**(未命中 L2/L3) |
|
|
48
|
+
| L1 | **实现级改动**(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) $\rightarrow$ 实现 $\rightarrow$ 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账 |
|
|
38
49
|
| L2 | **规则 / 契约**(一处改、多处依赖) | 入口文档(intent / incident) + spec + plan 三件套 |
|
|
39
50
|
| L3 | **数据与运行时结构**(schema / 迁移 SQL / DI 链 / 认证与中间件管线) | 同 L2 + spec 新会话独立复核 |
|
|
40
51
|
|
|
@@ -13,11 +13,11 @@ description: Plan 阶段:立 intent(需求来源 / 目标 / 约束 / 触达红
|
|
|
13
13
|
1. 若 `workflow/intents/` 已有目标 intent 且状态为 approved → 按级别跳 next(L1 → `build.md`,L2/L3 → `design.md`)
|
|
14
14
|
2. 否则起草新 intent:
|
|
15
15
|
- **先检索同类**:`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type intents,specs`——命中同类先读其结论与验收,新 intent 引用(防重复立项 / 重复踩坑)
|
|
16
|
-
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <L0|L1|L2|L3> --topic <主题> --output workflow/intents/<date>-<主题>.md --notes "<备注>"`——输出含 frontmatter 6 字段(含 risk_level)+
|
|
16
|
+
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <L0|L1|L2|L3> --topic <主题> --output workflow/intents/<date>-<主题>.md --notes "<备注>"`——输出含 frontmatter 6 字段(含 risk_level)+ 9 节(背景与问题/历史教训防复发/目标/非目标/约束/影响面/触达红线/验收标准 8 节正文 + 确认与复核)的草稿;AI 据此填实,模板与节标题机器保证不出错
|
|
17
17
|
- 复制 `workflow/intents/_TEMPLATE.md` → `workflow/intents/YYYY-MM-DD-<主题>.md`
|
|
18
18
|
- frontmatter 填 `模块:`(词表见 `.agents/workflow-modules.txt`,新建文档必填,check-loop 会警告)
|
|
19
|
-
- 按
|
|
20
|
-
- 红线勾选对照根 `AGENTS.md
|
|
19
|
+
- 按 8 节填写:背景与问题 / 历史教训防复发 / 目标(可验证) / 非目标 / 约束 / 影响面 / 触达红线 / 验收标准(L1 微改动可省非目标/约束两节,不硬填)
|
|
20
|
+
- 红线勾选对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)+ 改动域目录级 `AGENTS.md`(如有);**没触及就全不勾**,不要硬填
|
|
21
21
|
3. 写不出可测试判据 = 还没想清楚 → 反问澄清,不要硬填
|
|
22
22
|
4. 起草后停下,输出草稿全文给用户过目,一句"可以"即确认
|
|
23
23
|
|
|
@@ -9,7 +9,7 @@ description: 跨宿主适配层同步(正文段 sha 比对 + 用户拍板 +
|
|
|
9
9
|
|
|
10
10
|
## 何时跑
|
|
11
11
|
|
|
12
|
-
- 改 `templates/_agents/commands/*.md` 正文后(
|
|
12
|
+
- 改 `templates/_agents/commands/*.md` 正文后(11 个 commands 文件)
|
|
13
13
|
- 改 `templates/_agents/roles/*.md` 正文后(3 个 roles 文件)
|
|
14
14
|
- 装户跑 `flow-kit doctor` 报"跨宿主薄适配正文漂移 N 对" WARN 时
|
|
15
15
|
- 不跑:仅改 frontmatter;改 trae 钩子/规则;改包源其他文件
|
|
@@ -55,7 +55,7 @@ node bin/flow-kit.mjs doctor # §6.5 delegations + §6.6 o
|
|
|
55
55
|
- 失败项已修复并复测通过
|
|
56
56
|
- **关单**(日常闭环点,不依赖是否上 prod):
|
|
57
57
|
- 关单前一键过门:`node .agents/scripts/verify.mjs`(npm test + check-loop 固定编排,任一失败非零退出,非绿不关单)
|
|
58
|
-
- 新需求:逐条勾验入口 intent
|
|
58
|
+
- 新需求:逐条勾验入口 intent「验收标准」,每条补「证据:」(例如:粘贴 CI 运行结果、UI 截图路径、或具体的 commit SHA),intent $\rightarrow$ done;同名 spec/Quick-Plan(若有)仍 approved $\rightarrow$ done。**注意:勾选但缺证据会被 check-loop 拦截(hard-block)**
|
|
59
59
|
- **approved 留痕提交**(2026-09-30 起):done 确认前确认**本次关单文档**的 approved 态已进 git 历史(越早越好——approved 后即应提交;若尚未,先补提交再 done;门为逐份校验,三件套均关单时逐份各自满足)——confirm-doc 的 done 前置门硬校验(历史未出现「状态: approved」→ 拒绝落账);done 后再提交 done 态与其余改动
|
|
60
60
|
**确认落态唯一入口**(2026-09-27 起):用户在终端跑 `node .agents/scripts/confirm-doc.mjs <path>` 键入「可以」(draft→approved / approved→done;对话内明确确认后 AI 可 `--delegated "<原话>"` 代录,台账如实记 source/quote——**逐件调用 + 逐件原话**(一次一份,build.md「逐件确认」口径;多份并录被 confirm-doc 拒绝。--delegated 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力))。check-loop 15 如实口径:缺记录/指纹不配对 → hard-block 拦截;伪造台账本地不可机器防,留痕供事后对质;done 内容绑定(2026-09-28 起)——**关单编辑(勾验/回填确认结果)先于 done 确认、confirm-doc 是最后一次写入**,此后修订走 superseded 或新 intent。
|
|
61
61
|
- 修复:防复发验证已落地,incident → closed(经确认门 confirm-doc:open→fixed / fixed→closed 两跳、无单跳;2026-09-28 起 check-loop 15 对账——关单编辑先于 closed 确认,口径同 done 内容绑定)
|
|
@@ -13,8 +13,8 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
13
13
|
1. 确认同名入口文档(approved intent 或已确认的 incident)+ spec(若 L2/L3)均已确认;否则回上一阶段(fill/confirm 未过即拒)
|
|
14
14
|
2. 起草 plan:
|
|
15
15
|
- 复制 `workflow/plans/_TEMPLATE.md` → `workflow/plans/YYYY-MM-DD-<主题>.md`(与入口文档同名)
|
|
16
|
-
- L2/L3 按 4
|
|
17
|
-
- L1
|
|
16
|
+
- L2/L3 按 4 节填写:改动方案 / 任务拆解(每个任务有判据) / 执行顺序 / 验证计划(与 fill-plan.mjs 单源一致)
|
|
17
|
+
- L1 使用 Quick-Plan 极简三节:改动方案 / 约束与风险(原 Spec 核心) / 验证计划;多文件多步骤时可补任务拆解/执行顺序
|
|
18
18
|
3. 停下,输出 plan 草稿全文给用户过目,一句"可以"即确认。**逐件确认**:入口文档 / spec / plan 各自的确认点不得并作一次,plan 草稿须全文过目(不接受摘要代替)。**逐件配逐件原话**:`--delegated` 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力(事后对质看不出放行的是哪一件);原因与根治见 workflow/papercuts.md 2026-09-28
|
|
19
19
|
**确认落态唯一入口**(2026-09-27 起):用户在终端跑 `node .agents/scripts/confirm-doc.mjs <path>` 键入「可以」(draft→approved / approved→done;对话内明确确认后 AI 可 `--delegated "<原话>"` 代录,台账如实记 source/quote——**逐件调用 + 逐件原话**(一次一份,build.md「逐件确认」口径;多份并录被 confirm-doc 拒绝。--delegated 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力))。check-loop 15 如实口径:缺记录/指纹不配对 → hard-block 拦截;伪造台账本地不可机器防,留痕供事后对质;done 内容绑定(2026-09-28 起)——关单编辑(勾验/回填)先于 done 确认、confirm-doc 是最后一次写入,此后修订走 superseded 或新 intent。
|
|
20
20
|
4. 确认后 → plan 状态 draft → approved,并在 plan 内补「确认与复核」节(确认结果 + 日期)。确认环节须在文档留痕:`approved` 是确认的机器可见态,`done` 只在关单出现,禁从 `draft` 直跳 `done`;确认后立即 `docs(workflow)` 单独提交留痕(根 `AGENTS.md` 提交约定;check-loop 检查 14 口径)
|
|
@@ -26,7 +26,7 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
26
26
|
- 列改动文件清单(读后改 vs 新建)
|
|
27
27
|
- 列步骤(改 X 文件做 Y → 改 Z 文件做 W)
|
|
28
28
|
- **owned 文件同步**:kit.owned 列表文件(AGENTS.md / workflow 模板等)sync 不动,须列「手动同步装副本」步骤(见 incidents/2026-09-25-wf-runtime 复盘)
|
|
29
|
-
- 标注触达红线(对照根 `AGENTS.md
|
|
29
|
+
- 标注触达红线(对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)+ 改动域目录级 `AGENTS.md`(如有))
|
|
30
30
|
6. 停下,等用户确认改动清单
|
|
31
31
|
|
|
32
32
|
### 实现
|
|
@@ -4,20 +4,20 @@ description: Design 阶段:起 spec(L2/L3 强制,L1 可省略)
|
|
|
4
4
|
|
|
5
5
|
# Design · 起 spec
|
|
6
6
|
|
|
7
|
-
> L2/L3 强制;L1
|
|
7
|
+
> L2/L3 强制;L1 走快车道(直接跳 `next: build.md` 起草 Quick-Plan)。
|
|
8
8
|
|
|
9
9
|
## 执行
|
|
10
10
|
|
|
11
11
|
1. 确认同名入口文档已批准:新需求为 approved intent,修复为已确认的 incident 草稿;否则拒绝,分别回 `plan.md` / `maintain.md`(2026-09-30 起机器强制:fill-spec / confirm-doc 对前置未过直接拒绝 exit 2、不落盘不记账)
|
|
12
12
|
2. 级别判断(对照 AGENTS.md 第 3 条):
|
|
13
|
-
- **L1**(实现级改动,未命中 L2/L3)→
|
|
13
|
+
- **L1**(实现级改动,未命中 L2/L3)→ 走快车道,省略 spec,直接跳 `next: build.md` 起草 Quick-Plan
|
|
14
14
|
- **L2**(改规则 / 契约:编码权威 / 共享契约 / 既有接口语义 / 全局横切口径,闭集见 `new-task.md` §级别判断)→ 必须有 spec
|
|
15
15
|
- **L3**(数据与运行时结构:schema / 迁移 SQL / DI 链 / 认证与中间件管线)→ 必须有 spec + **新会话独立复核**
|
|
16
16
|
3. 起草 spec:
|
|
17
17
|
- **填空工具先跑**:`node .agents/scripts/fill-spec.mjs --level <L1|L2|L3> --topic <主题> --output workflow/specs/<date>-<主题>.md`——输出含 frontmatter 5 字段 + 5 节正文(功能行为/数据流/系统改动/约束遵守映射/风险评估)的草稿;AI 据此填实
|
|
18
18
|
- 复制 `workflow/specs/_TEMPLATE.md` → `workflow/specs/YYYY-MM-DD-<主题>.md`(与入口文档同名)
|
|
19
19
|
- 按 5 节填写:功能行为 / 数据流 / 系统改动 / 约束遵守映射 / 风险评估
|
|
20
|
-
- 约束映射必须对照根 `AGENTS.md
|
|
20
|
+
- 约束映射必须对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)与改动域目录级 `AGENTS.md`(如有)逐条说明如何满足
|
|
21
21
|
- 存在多个可行方案时,在 spec 中列出各方案取舍与 AI 建议项,由用户选定后方可确认
|
|
22
22
|
- **页面/交互入口形态必须用户确认**:spec 须写明入口是「表单(字段清单)」还是「选择器/弹窗」,禁止自行推定交互形态
|
|
23
23
|
4. 起草后停下,输出草稿全文给用户过目
|
|
@@ -18,11 +18,22 @@ description: AI-Native 闭环总入口:6 阶段指令索引(Plan→Design→Buil
|
|
|
18
18
|
| **Maintain** | [.agents/commands/maintain.md](.agents/commands/maintain.md) | "线上出事了" / "记一笔 incident" | `implementer`(方案确认后) | 三件套要点确认 |
|
|
19
19
|
| **Review**(横切,不占 6 阶段) | [.agents/commands/review.md](.agents/commands/review.md) | "评审一下" / "过 review 标准" | `independent-reviewer`(L2/L3 必须独立复核) | 问题定性与合入时机确认 |
|
|
20
20
|
|
|
21
|
+
## 风险定级(第 0 步,先定级再路由)
|
|
22
|
+
|
|
23
|
+
动工前先按下表定风险级 L0-L3(就高不就低;判据细则见下节「级别判断」),级别即风险级,决定走哪条泳道——确认放事前,还是审计补事后:
|
|
24
|
+
|
|
25
|
+
| 泳道 | 级别 | 确认与审计口径 |
|
|
26
|
+
|------|------|---------------|
|
|
27
|
+
| **协作道**(敏捷优先,审计异步补) | L0 例行 / L1 实现级 | L0 直接 commit,豁免 intent;L1 快车道(intent 一句话确认 + 极简 plan)即动工。独立复核不设同步前置,check-loop 与事后 review 兜底;确认/代录可 `--batch` 批量(仅 L0/L1) |
|
|
28
|
+
| **防御道**(严谨优先,确认同步拦) | L2 规则/契约 / L3 数据与运行时结构 | 同步确认门:spec 确认通过方可起草 plan,plan 确认后方可动手;L3 加新会话独立复核,未确认不放行 |
|
|
29
|
+
|
|
30
|
+
> 定级结果落 intent frontmatter `risk_level`(=级别,`fill-intent.mjs` 自动写入,机器选道用);协作道勾触达红线会被 check-loop 判「红线判低」hard 拦(就高升级 L2/L3 并补同名 spec)。
|
|
31
|
+
|
|
21
32
|
## 路由判断
|
|
22
33
|
|
|
23
34
|
- **新需求 / 功能**:从 `plan.md` 进,立 **intent**(`workflow/intents/`)
|
|
24
35
|
- **修复类任务 / 事故**:从 `maintain.md` 进,立 **incident**(`workflow/incidents/`);incident 在 L1+ 即 **intent 等价物**(check-loop 认 incident≡intent),不必另立 intent。先检索同类历史(`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type incidents,plans`),有同类先读其历史三件套;再按级别走:
|
|
25
|
-
|
|
36
|
+
- L0 → 直接修复;L1 → 立 incident 后进 `build.md` 起草并确认同名 Quick-Plan → `test.md`
|
|
26
37
|
- L2/L3 → 立 incident 后进 `design.md` 起草并确认同名 spec,再进 `build.md` 起草并确认同名 plan → `test.md`
|
|
27
38
|
- 仅当根因属系统性 / 门禁缺位(maintain.md 三件套「是否需要新 intent」选"是")才另立 `workflow/intents/` 同名 intent
|
|
28
39
|
- **改完代码要验证**:直接进 `test.md`(验证通过即关单;L1 到此结束)
|
|
@@ -34,7 +45,7 @@ description: AI-Native 闭环总入口:6 阶段指令索引(Plan→Design→Buil
|
|
|
34
45
|
| 级别 | 改什么 | 流程 |
|
|
35
46
|
|------|--------|------|
|
|
36
47
|
| L0 | 文档/样式微调(无行为影响) | 直接 commit,豁免 intent |
|
|
37
|
-
| L1 | **实现级改动**(未命中 L2/L3) |
|
|
48
|
+
| L1 | **实现级改动**(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) $\rightarrow$ 实现 $\rightarrow$ 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账 |
|
|
38
49
|
| L2 | **规则 / 契约**(一处改、多处依赖) | 入口文档(intent / incident) + spec + plan 三件套 |
|
|
39
50
|
| L3 | **数据与运行时结构**(schema / 迁移 SQL / DI 链 / 认证与中间件管线) | 同 L2 + spec 新会话独立复核 |
|
|
40
51
|
|
|
@@ -13,11 +13,11 @@ description: Plan 阶段:立 intent(需求来源 / 目标 / 约束 / 触达红
|
|
|
13
13
|
1. 若 `workflow/intents/` 已有目标 intent 且状态为 approved → 按级别跳 next(L1 → `build.md`,L2/L3 → `design.md`)
|
|
14
14
|
2. 否则起草新 intent:
|
|
15
15
|
- **先检索同类**:`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type intents,specs`——命中同类先读其结论与验收,新 intent 引用(防重复立项 / 重复踩坑)
|
|
16
|
-
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <L0|L1|L2|L3> --topic <主题> --output workflow/intents/<date>-<主题>.md --notes "<备注>"`——输出含 frontmatter 6 字段(含 risk_level)+
|
|
16
|
+
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <L0|L1|L2|L3> --topic <主题> --output workflow/intents/<date>-<主题>.md --notes "<备注>"`——输出含 frontmatter 6 字段(含 risk_level)+ 9 节(背景与问题/历史教训防复发/目标/非目标/约束/影响面/触达红线/验收标准 8 节正文 + 确认与复核)的草稿;AI 据此填实,模板与节标题机器保证不出错
|
|
17
17
|
- 复制 `workflow/intents/_TEMPLATE.md` → `workflow/intents/YYYY-MM-DD-<主题>.md`
|
|
18
18
|
- frontmatter 填 `模块:`(词表见 `.agents/workflow-modules.txt`,新建文档必填,check-loop 会警告)
|
|
19
|
-
- 按
|
|
20
|
-
- 红线勾选对照根 `AGENTS.md
|
|
19
|
+
- 按 8 节填写:背景与问题 / 历史教训防复发 / 目标(可验证) / 非目标 / 约束 / 影响面 / 触达红线 / 验收标准(L1 微改动可省非目标/约束两节,不硬填)
|
|
20
|
+
- 红线勾选对照根 `AGENTS.md` 红线/约束相关节(如「项目适配区」「门禁与提交」)+ 改动域目录级 `AGENTS.md`(如有);**没触及就全不勾**,不要硬填
|
|
21
21
|
3. 写不出可测试判据 = 还没想清楚 → 反问澄清,不要硬填
|
|
22
22
|
4. 起草后停下,输出草稿全文给用户过目,一句"可以"即确认
|
|
23
23
|
|
|
@@ -9,7 +9,7 @@ description: 跨宿主适配层同步(正文段 sha 比对 + 用户拍板 +
|
|
|
9
9
|
|
|
10
10
|
## 何时跑
|
|
11
11
|
|
|
12
|
-
- 改 `templates/_agents/commands/*.md` 正文后(
|
|
12
|
+
- 改 `templates/_agents/commands/*.md` 正文后(11 个 commands 文件)
|
|
13
13
|
- 改 `templates/_agents/roles/*.md` 正文后(3 个 roles 文件)
|
|
14
14
|
- 装户跑 `flow-kit doctor` 报"跨宿主薄适配正文漂移 N 对" WARN 时
|
|
15
15
|
- 不跑:仅改 frontmatter;改 trae 钩子/规则;改包源其他文件
|
|
@@ -55,7 +55,7 @@ node bin/flow-kit.mjs doctor # §6.5 delegations + §6.6 o
|
|
|
55
55
|
- 失败项已修复并复测通过
|
|
56
56
|
- **关单**(日常闭环点,不依赖是否上 prod):
|
|
57
57
|
- 关单前一键过门:`node .agents/scripts/verify.mjs`(npm test + check-loop 固定编排,任一失败非零退出,非绿不关单)
|
|
58
|
-
- 新需求:逐条勾验入口 intent
|
|
58
|
+
- 新需求:逐条勾验入口 intent「验收标准」,每条补「证据:」(例如:粘贴 CI 运行结果、UI 截图路径、或具体的 commit SHA),intent $\rightarrow$ done;同名 spec/Quick-Plan(若有)仍 approved $\rightarrow$ done。**注意:勾选但缺证据会被 check-loop 拦截(hard-block)**
|
|
59
59
|
- **approved 留痕提交**(2026-09-30 起):done 确认前确认**本次关单文档**的 approved 态已进 git 历史(越早越好——approved 后即应提交;若尚未,先补提交再 done;门为逐份校验,三件套均关单时逐份各自满足)——confirm-doc 的 done 前置门硬校验(历史未出现「状态: approved」→ 拒绝落账);done 后再提交 done 态与其余改动
|
|
60
60
|
**确认落态唯一入口**(2026-09-27 起):用户在终端跑 `node .agents/scripts/confirm-doc.mjs <path>` 键入「可以」(draft→approved / approved→done;对话内明确确认后 AI 可 `--delegated "<原话>"` 代录,台账如实记 source/quote——**逐件调用 + 逐件原话**(一次一份,build.md「逐件确认」口径;多份并录被 confirm-doc 拒绝。--delegated 每次传当次实际放行的措辞,不复用同句——复用同句使台账 quote 失去分辨力))。check-loop 15 如实口径:缺记录/指纹不配对 → hard-block 拦截;伪造台账本地不可机器防,留痕供事后对质;done 内容绑定(2026-09-28 起)——**关单编辑(勾验/回填确认结果)先于 done 确认、confirm-doc 是最后一次写入**,此后修订走 superseded 或新 intent。
|
|
61
61
|
- 修复:防复发验证已落地,incident → closed(经确认门 confirm-doc:open→fixed / fixed→closed 两跳、无单跳;2026-09-28 起 check-loop 15 对账——关单编辑先于 closed 确认,口径同 done 内容绑定)
|