agentic-flow-kit 1.7.16 → 1.8.0
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 +11 -7
- package/modules/hosts/claude/commands/wf-build.md +1 -1
- package/modules/hosts/claude/commands/wf-maintain.md +1 -1
- package/modules/hosts/claude/commands/wf-new-task.md +9 -8
- package/modules/hosts/claude/commands/wf-plan.md +1 -1
- package/modules/hosts/claude/commands/wf-review.md +1 -1
- package/modules/hosts/claude/commands/wf-test.md +1 -1
- package/modules/hosts/codex/commands/wf-build.md +1 -1
- package/modules/hosts/codex/commands/wf-maintain.md +1 -1
- package/modules/hosts/codex/commands/wf-new-task.md +9 -8
- package/modules/hosts/codex/commands/wf-plan.md +1 -1
- package/modules/hosts/codex/commands/wf-review.md +1 -1
- package/modules/hosts/codex/commands/wf-test.md +1 -1
- package/modules/hosts/cursor/commands/wf-build.md +1 -1
- package/modules/hosts/cursor/commands/wf-maintain.md +1 -1
- package/modules/hosts/cursor/commands/wf-new-task.md +9 -8
- package/modules/hosts/cursor/commands/wf-plan.md +1 -1
- package/modules/hosts/cursor/commands/wf-review.md +1 -1
- package/modules/hosts/cursor/commands/wf-test.md +1 -1
- package/modules/hosts/opencode/commands/wf-build.md +1 -1
- package/modules/hosts/opencode/commands/wf-maintain.md +1 -1
- package/modules/hosts/opencode/commands/wf-new-task.md +9 -8
- package/modules/hosts/opencode/commands/wf-plan.md +1 -1
- package/modules/hosts/opencode/commands/wf-review.md +1 -1
- package/modules/hosts/opencode/commands/wf-test.md +1 -1
- package/modules/hosts/trae/commands/wf-build.md +1 -1
- package/modules/hosts/trae/commands/wf-maintain.md +1 -1
- package/modules/hosts/trae/commands/wf-new-task.md +9 -8
- package/modules/hosts/trae/commands/wf-plan.md +1 -1
- package/modules/hosts/trae/commands/wf-review.md +1 -1
- package/modules/hosts/trae/commands/wf-test.md +1 -1
- package/package.json +1 -1
- package/src/cli.mjs +6 -2
- package/src/doctor.mjs +11 -2
- package/src/executor.mjs +25 -8
- package/src/executor.test.mjs +4 -1
- package/src/fresh-init.test.mjs +1 -1
- package/src/init.mjs +20 -3
- package/src/profiles.mjs +7 -3
- package/src/rule-budget.test.mjs +2 -2
- package/src/stack-profile.test.mjs +6 -0
- package/src/validate.mjs +6 -1
- package/src/validate.test.mjs +1 -1
- package/templates/.gitattributes +4 -1
- package/templates/AGENTS.md +2 -2
- package/templates/_agents/commands/build.md +1 -1
- package/templates/_agents/commands/maintain.md +1 -1
- package/templates/_agents/commands/new-task.md +9 -8
- package/templates/_agents/commands/plan.md +1 -1
- package/templates/_agents/commands/review.md +1 -1
- package/templates/_agents/commands/test.md +1 -1
- package/templates/_agents/engine-lock.json +130 -42
- package/templates/_agents/hooks/check-index-incremental.mjs +48 -0
- package/templates/_agents/hooks/check-pairing-incremental.mjs +66 -0
- package/templates/_agents/hooks/check-wiki-ledger.mjs +30 -0
- package/templates/_agents/lane-surfaces.txt +4 -1
- package/templates/_agents/level-hints.txt +1 -1
- package/templates/_agents/loop/papercut-debt/DESIGN.md +112 -0
- package/templates/_agents/mechanism-registry.md +27 -0
- package/templates/_agents/rule-budgets.txt +2 -2
- package/templates/_agents/scripts/agg-delegations.cjs +21 -3
- package/templates/_agents/scripts/agg-gate-stats.mjs +3 -3
- package/templates/_agents/scripts/agg-judgments.mjs +80 -0
- package/templates/_agents/scripts/agg-judgments.test.mjs +45 -0
- package/templates/_agents/scripts/archive-sweep.mjs +233 -0
- package/templates/_agents/scripts/archive-sweep.test.mjs +129 -0
- package/templates/_agents/scripts/check-attribution.mjs +37 -0
- package/templates/_agents/scripts/check-convergence.mjs +119 -0
- package/templates/_agents/scripts/check-engine-integrity.mjs +4 -1
- package/templates/_agents/scripts/check-funnel.mjs +56 -0
- package/templates/_agents/scripts/check-hygiene.mjs +5 -5
- package/templates/_agents/scripts/check-index-incremental.test.mjs +73 -0
- package/templates/_agents/scripts/check-lane-surface.mjs +2 -2
- package/templates/_agents/scripts/check-lane-surface.test.mjs +5 -5
- package/templates/_agents/scripts/check-ledger-invariant.mjs +403 -152
- package/templates/_agents/scripts/check-ledger-invariant.test.mjs +433 -3
- package/templates/_agents/scripts/check-loop-rev.test.mjs +8 -5
- package/templates/_agents/scripts/check-loop-unit.test.mjs +8 -0
- package/templates/_agents/scripts/check-loop.mjs +215 -34
- package/templates/_agents/scripts/check-loop.test.mjs +570 -49
- package/templates/_agents/scripts/check-prejudgment.mjs +59 -0
- package/templates/_agents/scripts/check-registry.mjs +45 -0
- package/templates/_agents/scripts/check-scope.mjs +96 -0
- package/templates/_agents/scripts/check-scope.test.mjs +96 -0
- package/templates/_agents/scripts/check-scripts-syntax.mjs +61 -0
- package/templates/_agents/scripts/check-scripts-syntax.test.mjs +72 -0
- package/templates/_agents/scripts/check-spec-verif.mjs +47 -0
- package/templates/_agents/scripts/compact-ledgers.mjs +3 -3
- package/templates/_agents/scripts/confirm-doc.mjs +114 -38
- package/templates/_agents/scripts/confirm-doc.test.mjs +180 -4
- package/templates/_agents/scripts/edit-face-check.mjs +5 -3
- package/templates/_agents/scripts/fill-intent.mjs +5 -3
- package/templates/_agents/scripts/fill-intent.test.mjs +19 -1
- package/templates/_agents/scripts/fill-plan.mjs +10 -6
- package/templates/_agents/scripts/fill-plan.test.mjs +19 -3
- package/templates/_agents/scripts/fill-spec.mjs +6 -3
- package/templates/_agents/scripts/fill-spec.test.mjs +12 -4
- package/templates/_agents/scripts/fixture-scripts.mjs +2 -2
- package/templates/_agents/scripts/fixture-scripts.test.mjs +6 -1
- package/templates/_agents/scripts/gate-checklist.mjs +6 -0
- package/templates/_agents/scripts/gate-seg.mjs +1 -1
- package/templates/_agents/scripts/gen-effective-policy.mjs +107 -0
- package/templates/_agents/scripts/gen-effective-policy.test.mjs +100 -0
- package/templates/_agents/scripts/gen-verify-evidence.mjs +107 -0
- package/templates/_agents/scripts/gen-verify-evidence.test.mjs +84 -0
- package/templates/_agents/scripts/gen-workflow-dashboard.mjs +8 -3
- package/templates/_agents/scripts/gen-workflow-dashboard.test.mjs +2 -1
- package/templates/_agents/scripts/gen-workflow-metrics.mjs +3 -3
- package/templates/_agents/scripts/git-core.mjs +45 -0
- package/templates/_agents/scripts/judgment-ledger.mjs +65 -0
- package/templates/_agents/scripts/judgment-ledger.test.mjs +129 -0
- package/templates/_agents/scripts/kb-search.mjs +19 -4
- package/templates/_agents/scripts/kb-search.test.mjs +33 -0
- package/templates/_agents/scripts/lane-surface-audit.mjs +143 -0
- package/templates/_agents/scripts/lane-surface-audit.test.mjs +93 -0
- package/templates/_agents/scripts/ledger-shards.mjs +307 -0
- package/templates/_agents/scripts/ledger-shards.test.mjs +339 -0
- package/templates/_agents/scripts/level-criteria.mjs +9 -10
- package/templates/_agents/scripts/level-criteria.test.mjs +7 -5
- package/templates/_agents/scripts/papercut-debt-controller.mjs +141 -0
- package/templates/_agents/scripts/papercut-debt-controller.test.mjs +127 -0
- package/templates/_agents/scripts/papercut-debt-sensor.mjs +170 -0
- package/templates/_agents/scripts/papercut-debt-sensor.test.mjs +146 -0
- package/templates/_agents/scripts/pipeline-run.mjs +6 -22
- package/templates/_agents/scripts/pipeline-run.test.mjs +22 -42
- package/templates/_agents/scripts/policy.mjs +28 -0
- package/templates/_agents/scripts/resolve-merge-conflicts.mjs +110 -0
- package/templates/_agents/scripts/resolve-merge-conflicts.test.mjs +87 -0
- package/templates/_agents/scripts/rewrite-file.mjs +133 -0
- package/templates/_agents/scripts/rewrite-file.test.mjs +148 -0
- package/templates/_agents/scripts/rule-budget.mjs +83 -0
- package/templates/_agents/scripts/run-tests.mjs +99 -0
- package/templates/_agents/scripts/run-tests.test.mjs +105 -0
- package/templates/_agents/scripts/solidify-task.test.mjs +1 -1
- package/templates/_agents/scripts/stage-gates.mjs +34 -12
- package/templates/_agents/scripts/trust-mode.mjs +4 -4
- package/templates/_agents/scripts/trust-mode.test.mjs +1 -1
- package/templates/_agents/scripts/verify.mjs +135 -58
- package/templates/_agents/scripts/verify.test.mjs +156 -47
- package/templates/_agents/scripts/wf-journal.mjs +8 -4
- package/templates/_agents/scripts/workflow-board-server.test.mjs +2 -2
- package/templates/_agents/scripts/workflow-enums.test.mjs +14 -5
- package/templates/_agents/scripts-test-exempt.txt +1 -0
- package/templates/_agents/skills/papercut-fix/SKILL.md +60 -0
- package/templates/_agents/skills/papercut-fix/references/response-template.md +81 -0
- package/templates/_agents/workflow-enums.txt +8 -1
- package/templates/_githooks/pre-commit +110 -90
- package/templates/_githooks/pre-merge-commit +27 -23
- package/templates/_githooks/pre-push +4 -3
- package/templates/_github/workflows/kit-ci.yml +4 -3
- package/templates/workflow/README.md +14 -7
- package/templates/workflow/incidents/_TEMPLATE.md +4 -1
- package/templates/workflow/intents/_TEMPLATE.md +4 -2
- package/templates/workflow/papercuts.md +2 -0
- package/templates/workflow/plans/_TEMPLATE.md +10 -5
- package/templates/workflow/regression-checklist.md +1 -0
- package/templates/workflow/specs/_TEMPLATE.md +17 -1
- package/templates/_agents/hooks/check-pairing-incremental.sh +0 -43
- package/templates/_agents/hooks/check-wiki-ledger.sh +0 -18
- package/templates/_agents/scripts/rule-budget.sh +0 -74
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ node .agents/scripts/confirm-doc.mjs workflow/intents/<文件>.md # 终端里
|
|
|
29
29
|
|
|
30
30
|
## 五条硬规则
|
|
31
31
|
|
|
32
|
-
新装的 `kit.json` 写 `audit: false` 与 `policyVersion:
|
|
32
|
+
新装的 `kit.json` 写 `audit: false` 与 `policyVersion: 12`(v1–v12 全锚,新装空台账零回溯负担):check-loop 只阻断配对、验收勾验、确认留痕,外加发版提交树上仍未收口的文档。敏感信息在 pre-commit,双源和台账在 doctor / sync。`audit` 缺省(升级来的旧台账)保持全量卫生警告;自己装一份 dogfood 时可显式置 `audit: true`。豁免日期只在 `.agents/scripts/policy.mjs` 的 `policyVersion` 表里改(当前生效规则的可读视图在 `workflow/effective-policy.md`,policy 变更后重生成并随同提交)。
|
|
33
33
|
|
|
34
34
|
可选红线用 `add-gate`:`dotnet-ca`、`node-layer`、`py-import`、`generated-readonly`、`test-protect`。约定见 `modules/gates/README.md`。
|
|
35
35
|
|
|
@@ -44,13 +44,17 @@ node .agents/scripts/confirm-doc.mjs workflow/intents/<文件>.md # 终端里
|
|
|
44
44
|
| 形态 | 机制 |
|
|
45
45
|
|---|---|
|
|
46
46
|
| 多人/多分支合并冲突 | `.gitattributes` 的 `merge=jsonl-union` → 并集去重,两侧行全保留、无冲突可解(此前人工解的常见错法是「整取一侧」——静默丢掉另一侧的确认行) |
|
|
47
|
-
| 单机多 worktree 并行 append |
|
|
47
|
+
| 单机多 worktree 并行 append | 确认行**默认**写分片 `.agents/confirmations.d/<doc>.jsonl`(2026-10-13 ledger-shard-default),各写各的;`--no-shard` / `CONFIRM_SHARDED=0` 回退主台账;里程碑可选跑 `compact-ledgers.mjs --execute` 并回主台账 |
|
|
48
48
|
| 所有者明令删某批文档 | **特许修剪**:同笔提交 `.agents/ledger-prune-manifest.json`(逐行 sha256 + 授权 + 理由),门禁逐行对账放行;无 manifest 的删/改/重排仍全拦 |
|
|
49
49
|
|
|
50
50
|
哈希链的域是「**同一 doc 的逻辑序**」而非文件物理序(生效日锚,缺键回退旧口径,存量零变化),因此上面三种协作都不打断它;就地改行、删行、插行三类篡改照拦。诚实边界:manifest 是可写文件,**刻意伪造即可让任意删行合法化**——与「台账本地可写」同级,本通道只把「顺手手改」抬到「提交一份可被 git 历史对质的凭据」。
|
|
51
51
|
|
|
52
52
|
> **存量装户迁移动作(升级后必做)**:`merge=jsonl-union` 属 `.gitattributes`,而该文件是**项目自持(owned)**、`sync` 永不覆盖——升级后**不会自动获得**。需手动在目标仓 `.gitattributes` 补一行 `.agents/*.jsonl merge=jsonl-union`。driver 是本机态配置、不跨机共享,`init` 会自动配;漏配则退化为文本冲突(**不静默丢数据,但需人工解**)。
|
|
53
53
|
|
|
54
|
+
> **存量装户迁移指引(级别 L0 退役,`level.all` 收敛为 `L1 L2 L3`)**:升级前已按 L0 定级的存量文档,`sync` 升级后把 frontmatter `级别: L0` 改为 `L1`,或在行首加 `流程: legacy`(存量豁免通路,跳过级别/配对检查)——不改会被 incident 级别枚举校验出 WARN「级别缺失」,且 `--batch` / `--auto` 自治门按 suspect 拒(fail-closed)。
|
|
55
|
+
|
|
56
|
+
> **存量装户迁移指引(policyVersion 升 12 + 生效规则视图)**:`kit.json` 属项目自持(owned)、`sync` 永不覆盖——`policyVersion` 升 12 由装户自选时机(v12 全锚生效日 = 发布当日 advisory 档 / 发布次日 hard 档,锚前存量不追溯)。升级后跑一次 `node .agents/scripts/gen-effective-policy.mjs` 把生成的 `workflow/effective-policy.md` 随同提交:该文件是生效规则的入库视图,`verify` 的 effective-policy 门对缺文件判漂移(新装由 init 首跑种子;存量不补跑则该门红一次,补跑即绿)。
|
|
57
|
+
|
|
54
58
|
## 快速开始
|
|
55
59
|
|
|
56
60
|
```bash
|
|
@@ -110,7 +114,7 @@ init 不问项目名 / 描述:`AGENTS.md` 只生成「AI工作流 + Wiki」两
|
|
|
110
114
|
## 装了什么
|
|
111
115
|
|
|
112
116
|
```
|
|
113
|
-
.agents/ 阶段命令×8 / 角色契约×3 / 门禁钩子 /
|
|
117
|
+
.agents/ 阶段命令×8 / 角色契约×3 / 门禁钩子 / 引擎脚本(检索·索引·看板·预算·聚合·判定流水)/ 技能×3 / settings.json / kit.json 台账
|
|
114
118
|
+ level-criteria.mjs(级别判据机器单源)/ level-hints.txt(项目自持的路径下限清单,默认空)
|
|
115
119
|
.githooks/ pre-commit(通用门禁编排+项目门禁挂载点)/ pre-push(闭环断档)/ commit-msg / post-commit / pre-merge-commit
|
|
116
120
|
workflow/ intents/specs/plans/incidents 模板×4 + README 协议 + 台账三件(delegations/papercuts/regression-checklist)
|
|
@@ -123,7 +127,7 @@ modules/gates/ 可选门禁模块(dotnet-ca:Clean Architecture 参考
|
|
|
123
127
|
|
|
124
128
|
## CI 远端门与离线安装
|
|
125
129
|
|
|
126
|
-
**CI 远端门**:init 已把 `.github/workflows/kit-ci.yml` 写进装户仓(GitHub Actions:checkout
|
|
130
|
+
**CI 远端门**:init 已把 `.github/workflows/kit-ci.yml` 写进装户仓(GitHub Actions:checkout 后复跑统一入口 `node .agents/scripts/verify.mjs`——七门 GATES 编排:语法自检 / 测试【有根 package.json 才跑】/ 编排脚本检查 / 常驻面预算 / 生效规则视图漂移 / check-loop 闭环硬门 / 台账不变量历史全扫,逐门 pass/fail、任一门红即红;门清单见 `node .agents/scripts/verify.mjs --list`)。本地 git 钩子可被 `--no-verify` 绕过,远端门兜底;该文件归装户自持(owned),`flow-kit sync` 永不覆盖,非 GitHub 装户可删。其他 CI(GitLab / Jenkins / Azure DevOps…)等价接入 = 同一入口命令 + 服务端分支策略:
|
|
127
131
|
|
|
128
132
|
```bash
|
|
129
133
|
node .agents/scripts/verify.mjs # 远端门本体(工程在子目录时加 --test-cmd "<项目测试命令>")
|
|
@@ -163,9 +167,9 @@ npm install ./agentic-flow-kit-<版本>.tgz # 项目内:之后用 npx
|
|
|
163
167
|
|
|
164
168
|
当前语义四点:
|
|
165
169
|
|
|
166
|
-
- **门禁面**:check-loop
|
|
167
|
-
- **闭环面**:intents → specs → plans → incidents 四态文档链 + 确认台账(`.agents/confirmations.jsonl
|
|
168
|
-
- **观测面**:`workflow/INDEX.md`(检索索引)、`workflow/DASHBOARD.md`(红绿灯仪表盘)、`workflow/metrics.md
|
|
170
|
+
- **门禁面**:check-loop 26 项检查 + 3x(分道:默认硬门 / `--hygiene` 卫生段 / `--all`,权威清单见引擎头部)+ `.githooks/` 五个钩子(pre-commit / pre-push / commit-msg / post-commit / pre-merge-commit),门禁逻辑不依赖 agent 客户端自觉。
|
|
171
|
+
- **闭环面**:intents → specs → plans → incidents 四态文档链 + 确认台账(`.agents/confirmations.jsonl` 及默认分片)+ 逐阶段前置门(起草门 / 确认门 / done 前置门)+ **台账并发三形态**(并集合并 / 分片写入与 compact 归并 / 特许修剪)与按 doc 逻辑序的哈希链(见上文「台账并发」段)+ 终态件同名家族滚动归档(关单即归档,kb 检索覆盖归档件)。
|
|
172
|
+
- **观测面**:`workflow/INDEX.md`(检索索引)、`workflow/DASHBOARD.md`(红绿灯仪表盘)、`workflow/metrics.md`(月度快照)、`workflow/effective-policy.md`(生效规则视图)与判定流水 `.agents/judgments.jsonl`(机制月度对账数据底座)——**观测面非门禁**,红灯是「看」的不是「拦」的。
|
|
169
173
|
- **执行面**:`route`(手动路由的机器面:定级 + 泳道 + 下一阶段 + 入口 md)与 `run`(自动流水线薄壳转发装户状态机);判据单源在装户 `.agents/scripts/level-criteria.mjs`,md 改为引用它而非承载判据散文(见上文「执行面」段)。
|
|
170
174
|
|
|
171
175
|
版本号与已发布能力看 `package.json` 的 `version` 与 `CHANGELOG.md`;仓库当前工作流实况看 `workflow/INDEX.md`。
|
|
@@ -40,7 +40,7 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
40
40
|
### 1.3 实现
|
|
41
41
|
|
|
42
42
|
7. 确认后按 plan 顺序推进;每个任务对照判据自验。若任务满足 `.agents/roles/implementer.md` 的边界,主智能体可将单个工作包连同必读材料、授权文件和验收条件委派给 `implementer`;否则由主智能体执行。
|
|
43
|
-
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1)
|
|
43
|
+
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1);范围对账 `node .agents/scripts/check-scope.mjs workflow/plans/YYYY-MM-DD-<主题>.md`——越界件(改了未声明)即收口(回填 plan 或回滚),plan 不可读 exit 2;默认 advisory exit 0,`--strict` 供门禁化调用。
|
|
44
44
|
9. **项目架构红线**:数据访问模式、公共字段写入等以根与目录级 `AGENTS.md`(如有)红线为准,不自创旁路。
|
|
45
45
|
10. **L3 且含 schema 变更时**:schema 变更走项目约定的维护方式(人工 SQL / 迁移工具,以目录级 `AGENTS.md` 或 spec 约束为准),不得擅自引入项目未采用的迁移机制(仅运行时 / 管线类 L3 无此约束)。
|
|
46
46
|
11. 实现中若需偏离已确认的 plan(改公共接口 / 动 plan 未列文件 / 引新依赖 / 影响任务判据)→ 停下,向用户说明原因与影响,确认后再继续。
|
|
@@ -45,7 +45,7 @@ description: Maintain 阶段:立 incident + 复盘三件套(修复 / 防复发 /
|
|
|
45
45
|
**3. 规范条目**(必须有可追溯落点)
|
|
46
46
|
- 落点优先级(取最前者可行即止):`workflow/regression-checklist.md` 回归条目 / `.agents/hooks/` 或 `tests/` 断言(机器门)→ `.agents/skills/`、`.agents/notes/` → `workflow/` 文档 → `.agents/commands/`
|
|
47
47
|
- **根 `AGENTS.md` 不再是落点**;**入册门槛**:已由机器门强制的内容只留一行指针,禁止在常驻面复述;**一进一出**:落点为常驻面时须在本 commit 内删除或下沉一条被取代条目
|
|
48
|
-
- 常驻面体积预算由 pre-commit 硬拦(`
|
|
48
|
+
- 常驻面体积预算由 pre-commit 硬拦(`node .agents/scripts/rule-budget.mjs --staged`,表 `.agents/rule-budgets.txt`)——超限先删再增
|
|
49
49
|
- 引用:commit <SHA> / 文件:<路径>#L<行>;若无新增条目,理由:<已有条目覆盖,说明条目位置>
|
|
50
50
|
|
|
51
51
|
### 1.4 起草后停下
|
|
@@ -34,16 +34,18 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
34
34
|
**诚实边界**:机器**无法**发现你没跑 route——定级发生在改动面确定之前,没有可比对的记录面,
|
|
35
35
|
详见 [ARCHITECTURE §5](../ARCHITECTURE.md) 与 CHANGELOG 1.7.16 B3 条。
|
|
36
36
|
|
|
37
|
-
动工前按下表定风险级
|
|
37
|
+
动工前按下表定风险级 L1-L3(就高不就低;判据细则见下节「级别判断」,单源 level-criteria.mjs),级别即风险级,决定走哪条泳道——确认放事前,还是审计补事后:
|
|
38
38
|
|
|
39
39
|
| 泳道 | 级别 | 确认与审计口径 |
|
|
40
40
|
|------|------|---------------|
|
|
41
|
-
| **协作道**(敏捷优先,审计异步补) |
|
|
41
|
+
| **协作道**(敏捷优先,审计异步补) | L1 实现级 | 一份 plan 即入口(来源 / 目标 / 红线 / 改动 / 验证 / 验收),不另立 intent。独立复核不设同步前置,check-loop 与事后 review 兜底;确认/代录可 `--batch` 批量(仅 L1) |
|
|
42
42
|
| **防御道**(严谨优先,确认同步拦) | L2 规则/契约 / L3 数据与运行时结构 | 同步确认门:spec 确认通过方可起草 plan,plan 确认后方可动手;L3 加新会话独立复核,未确认不放行 |
|
|
43
43
|
|
|
44
|
-
>
|
|
44
|
+
> **两问定级**(2026-10-13 L0 退役,自源仓收敛系列 1 回灌):结构面(schema / 迁移 SQL / DI / 认证管线)→ L3;契约或共享口径 → L2;两者都没有 → L1。不要按严重程度从 L1 往上滑。
|
|
45
|
+
> **落位**: L1 写在 plan frontmatter `级别`;L2/L3 写在 intent(intent 另以 `risk_level`=级别双写,`fill-intent.mjs` 自动写入,机器选道用)。
|
|
46
|
+
> **判低拦截**: 入口勾触达红线 → check-loop「红线判低」hard 拦 → 升到 L2/L3 并补同名 spec。
|
|
45
47
|
>
|
|
46
|
-
>
|
|
48
|
+
> **L2/L3 起草期合并预览**:三件套起草按 [design.md §0](design.md) 一次呈现要点总览(逐件确认代录不变)。
|
|
47
49
|
|
|
48
50
|
## 3. 路由判断
|
|
49
51
|
|
|
@@ -54,7 +56,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
54
56
|
- **自动化驱动(并列入口,可选)**:一句话全程走 [pipeline-run.md](pipeline-run.md)——状态机驱动+工单协议+原话代录,与下述手动路由二选一,同一任务不混用
|
|
55
57
|
- **新需求 / 功能**:从 `plan.md` 进,立 **intent**(`workflow/intents/`)
|
|
56
58
|
- **修复类任务 / 事故**:从 `maintain.md` 进,立 **incident**(`workflow/incidents/`);incident 在 L1+ 即 **intent 等价物**(check-loop 认 incident≡intent),不必另立 intent。先检索同类历史(`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type incidents,plans`),有同类先读其历史三件套;再按级别走:
|
|
57
|
-
-
|
|
59
|
+
- L1 → 立 incident 后进 `build.md` 起草并确认同名 Quick-Plan → `test.md`
|
|
58
60
|
- L2/L3 → 立 incident 后进 `design.md` 起草并确认同名 spec,再进 `build.md` 起草并确认同名 plan → `test.md`
|
|
59
61
|
- 仅当根因属系统性 / 门禁缺位(maintain.md 三件套「是否需要新 intent」选"是")才另立 `workflow/intents/` 同名 intent
|
|
60
62
|
- **改完代码要验证**:直接进 `test.md`(验证通过即关单;L1 到此结束)
|
|
@@ -79,8 +81,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
79
81
|
|
|
80
82
|
| 级别 | 单源语义(摘要) | 流程 |
|
|
81
83
|
|------|-----------------|------|
|
|
82
|
-
|
|
|
83
|
-
| L1 | 实现级改动(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) → 实现 → 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账 |
|
|
84
|
+
| L1 | 实现级改动(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) → 实现 → 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账;亦可一份 plan 即入口(不另立 intent) |
|
|
84
85
|
| L2 | 规则 / 契约(一处改、多处依赖) | 入口文档(intent / incident) + spec + plan 三件套 |
|
|
85
86
|
| L3 | 数据与运行时结构(结构面闭集见单源 `L3_SURFACES`) | 同 L2 + spec 新会话独立复核 |
|
|
86
87
|
|
|
@@ -91,7 +92,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
91
92
|
|
|
92
93
|
## 5. intent 豁免(避免小改动也走完整闭环)
|
|
93
94
|
|
|
94
|
-
- **
|
|
95
|
+
- **L1 新需求**:一份 plan 即入口,不另立 intent(不必 spec)
|
|
95
96
|
- **docs 级改动**(AGENTS.md / workflow/ 模板 / .agents/ 脚本与 commands / yaml):豁免 intent,走 Conventional Commits 直接 commit;若同时触及代码,按代码部分级别立 intent
|
|
96
97
|
- **bootstrap 类改动**(引入规则本身):豁免 intent,commit message 显式声明 `bootstrap`
|
|
97
98
|
|
|
@@ -13,7 +13,7 @@ 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 <
|
|
16
|
+
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <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
19
|
- 按 8 节填写:背景与问题 / 历史教训防复发 / 目标(可验证) / 非目标 / 约束 / 影响面 / 触达红线 / 验收标准(L1 微改动可省非目标/约束两节,不硬填)
|
|
@@ -45,5 +45,5 @@ description: 代码评审标准(按风险分级:机器兜底 + AI 自查出
|
|
|
45
45
|
|
|
46
46
|
- **机器兜底**(pre-commit / pre-push / test 自动拦,无需人守):门禁清单与判据以 `.githooks/`、`.agents/hooks/`、`check-loop.sh` 头部注释为准;`项目测试命令` 跑自动化用例。
|
|
47
47
|
- **AI 复核**:机器门禁完成后优先委派 `independent-reviewer`,聚焦 P0 hook 未覆盖项 + 全部 P1(P2 视精力)——产出分级问题清单 + 修复建议。复核方法参考 `code-review` 技能(Standards×Spec 双轴);每条 finding 报告前过 `review-verification-protocol` 防误报门(锚定 file:line、给出证据、校准严重级,不确定就降级为提问)。
|
|
48
|
-
- **独立性**:L2 / L3 必须用独立子智能体,宿主不支持时另开新会话,不得由原作者自查冒充;
|
|
48
|
+
- **独立性**:L2 / L3 必须用独立子智能体,宿主不支持时另开新会话,不得由原作者自查冒充;L1 且宿主不支持子智能体时可由主智能体按同一复核契约执行。
|
|
49
49
|
- **用户决策**:问题定性(误报驳回 / P0 成立必修 / P1、P2 处置裁量)+ 合入时机;git 历史即评审记录,追溯靠 commit 与 tag。
|
|
@@ -55,7 +55,7 @@ npx agentic-flow-kit doctor # §6.5 delegations + §6.6 o
|
|
|
55
55
|
|
|
56
56
|
- 输出测试报告(通过项 / 失败项);失败项已修复并复测通过。
|
|
57
57
|
- **关单**(日常闭环点,不依赖是否上 prod):
|
|
58
|
-
- 关单前一键过门:`node .agents/scripts/verify.mjs --doc workflow/intents/<本单>.md
|
|
58
|
+
- 关单前一键过门:`node .agents/scripts/verify.mjs --doc workflow/intents/<本单>.md`(七门编排:语法/测试/编排检查/预算/生效规则视图/闭环/台账不变量,fail-fast 失败行留痕,非绿不关单);**`--doc` 把绿凭证绑到本单**——不带它落下的绿行不给任何单背书,confirm-doc 前置与检查 8 只认带本单 `--doc` 的绿行(仅 v6+ 生效);**全绿尾部自动落凭证并重生成 `workflow/verify-evidence.md`**(`effective-policy.md` 同为生成物——两者勿手改,policy/台账变更后重生成随同提交);**装户仓**(当前目录无 `package.json`)测试门显式跳过且**不落测试绿凭证**(防假绿),按项目口径手工跑或带 `--test-cmd "<项目测试命令>"` 指定
|
|
59
59
|
- 新需求:逐条勾验入口 intent「验收标准」,每条补「证据:」(例如:粘贴 CI 运行结果、UI 截图路径、或具体的 commit SHA),intent → done;同名 spec/Quick-Plan(若有)仍 approved → done。**注意:勾选但缺证据会被 check-loop 拦截(hard-block)**
|
|
60
60
|
- **approved 留痕提交**:done 确认前确认**本次关单文档**的 approved 态已进 git 历史(越早越好——approved 后即应提交;若尚未,先补提交再 done;门为逐份校验,三件套均关单时逐份各自满足)——confirm-doc 的 done 前置门硬校验(历史未出现「状态: approved」→ 拒绝落账);done 后再提交 done 态与其余改动
|
|
61
61
|
- **确认落态**:唯一入口 `node .agents/scripts/confirm-doc.mjs <path>`(两形态 / 逐件代录(摘要可复用——分辨力由 scope+指纹承担)/ done 内容绑定(关单编辑先于 done 确认、confirm-doc 是最后一次写入)/ 台账对质全口径见根 `AGENTS.md` §1.3 确认门)。
|
|
@@ -40,7 +40,7 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
40
40
|
### 1.3 实现
|
|
41
41
|
|
|
42
42
|
7. 确认后按 plan 顺序推进;每个任务对照判据自验。若任务满足 `.agents/roles/implementer.md` 的边界,主智能体可将单个工作包连同必读材料、授权文件和验收条件委派给 `implementer`;否则由主智能体执行。
|
|
43
|
-
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1)
|
|
43
|
+
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1);范围对账 `node .agents/scripts/check-scope.mjs workflow/plans/YYYY-MM-DD-<主题>.md`——越界件(改了未声明)即收口(回填 plan 或回滚),plan 不可读 exit 2;默认 advisory exit 0,`--strict` 供门禁化调用。
|
|
44
44
|
9. **项目架构红线**:数据访问模式、公共字段写入等以根与目录级 `AGENTS.md`(如有)红线为准,不自创旁路。
|
|
45
45
|
10. **L3 且含 schema 变更时**:schema 变更走项目约定的维护方式(人工 SQL / 迁移工具,以目录级 `AGENTS.md` 或 spec 约束为准),不得擅自引入项目未采用的迁移机制(仅运行时 / 管线类 L3 无此约束)。
|
|
46
46
|
11. 实现中若需偏离已确认的 plan(改公共接口 / 动 plan 未列文件 / 引新依赖 / 影响任务判据)→ 停下,向用户说明原因与影响,确认后再继续。
|
|
@@ -45,7 +45,7 @@ description: Maintain 阶段:立 incident + 复盘三件套(修复 / 防复发 /
|
|
|
45
45
|
**3. 规范条目**(必须有可追溯落点)
|
|
46
46
|
- 落点优先级(取最前者可行即止):`workflow/regression-checklist.md` 回归条目 / `.agents/hooks/` 或 `tests/` 断言(机器门)→ `.agents/skills/`、`.agents/notes/` → `workflow/` 文档 → `.agents/commands/`
|
|
47
47
|
- **根 `AGENTS.md` 不再是落点**;**入册门槛**:已由机器门强制的内容只留一行指针,禁止在常驻面复述;**一进一出**:落点为常驻面时须在本 commit 内删除或下沉一条被取代条目
|
|
48
|
-
- 常驻面体积预算由 pre-commit 硬拦(`
|
|
48
|
+
- 常驻面体积预算由 pre-commit 硬拦(`node .agents/scripts/rule-budget.mjs --staged`,表 `.agents/rule-budgets.txt`)——超限先删再增
|
|
49
49
|
- 引用:commit <SHA> / 文件:<路径>#L<行>;若无新增条目,理由:<已有条目覆盖,说明条目位置>
|
|
50
50
|
|
|
51
51
|
### 1.4 起草后停下
|
|
@@ -34,16 +34,18 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
34
34
|
**诚实边界**:机器**无法**发现你没跑 route——定级发生在改动面确定之前,没有可比对的记录面,
|
|
35
35
|
详见 [ARCHITECTURE §5](../ARCHITECTURE.md) 与 CHANGELOG 1.7.16 B3 条。
|
|
36
36
|
|
|
37
|
-
动工前按下表定风险级
|
|
37
|
+
动工前按下表定风险级 L1-L3(就高不就低;判据细则见下节「级别判断」,单源 level-criteria.mjs),级别即风险级,决定走哪条泳道——确认放事前,还是审计补事后:
|
|
38
38
|
|
|
39
39
|
| 泳道 | 级别 | 确认与审计口径 |
|
|
40
40
|
|------|------|---------------|
|
|
41
|
-
| **协作道**(敏捷优先,审计异步补) |
|
|
41
|
+
| **协作道**(敏捷优先,审计异步补) | L1 实现级 | 一份 plan 即入口(来源 / 目标 / 红线 / 改动 / 验证 / 验收),不另立 intent。独立复核不设同步前置,check-loop 与事后 review 兜底;确认/代录可 `--batch` 批量(仅 L1) |
|
|
42
42
|
| **防御道**(严谨优先,确认同步拦) | L2 规则/契约 / L3 数据与运行时结构 | 同步确认门:spec 确认通过方可起草 plan,plan 确认后方可动手;L3 加新会话独立复核,未确认不放行 |
|
|
43
43
|
|
|
44
|
-
>
|
|
44
|
+
> **两问定级**(2026-10-13 L0 退役,自源仓收敛系列 1 回灌):结构面(schema / 迁移 SQL / DI / 认证管线)→ L3;契约或共享口径 → L2;两者都没有 → L1。不要按严重程度从 L1 往上滑。
|
|
45
|
+
> **落位**: L1 写在 plan frontmatter `级别`;L2/L3 写在 intent(intent 另以 `risk_level`=级别双写,`fill-intent.mjs` 自动写入,机器选道用)。
|
|
46
|
+
> **判低拦截**: 入口勾触达红线 → check-loop「红线判低」hard 拦 → 升到 L2/L3 并补同名 spec。
|
|
45
47
|
>
|
|
46
|
-
>
|
|
48
|
+
> **L2/L3 起草期合并预览**:三件套起草按 [design.md §0](design.md) 一次呈现要点总览(逐件确认代录不变)。
|
|
47
49
|
|
|
48
50
|
## 3. 路由判断
|
|
49
51
|
|
|
@@ -54,7 +56,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
54
56
|
- **自动化驱动(并列入口,可选)**:一句话全程走 [pipeline-run.md](pipeline-run.md)——状态机驱动+工单协议+原话代录,与下述手动路由二选一,同一任务不混用
|
|
55
57
|
- **新需求 / 功能**:从 `plan.md` 进,立 **intent**(`workflow/intents/`)
|
|
56
58
|
- **修复类任务 / 事故**:从 `maintain.md` 进,立 **incident**(`workflow/incidents/`);incident 在 L1+ 即 **intent 等价物**(check-loop 认 incident≡intent),不必另立 intent。先检索同类历史(`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type incidents,plans`),有同类先读其历史三件套;再按级别走:
|
|
57
|
-
-
|
|
59
|
+
- L1 → 立 incident 后进 `build.md` 起草并确认同名 Quick-Plan → `test.md`
|
|
58
60
|
- L2/L3 → 立 incident 后进 `design.md` 起草并确认同名 spec,再进 `build.md` 起草并确认同名 plan → `test.md`
|
|
59
61
|
- 仅当根因属系统性 / 门禁缺位(maintain.md 三件套「是否需要新 intent」选"是")才另立 `workflow/intents/` 同名 intent
|
|
60
62
|
- **改完代码要验证**:直接进 `test.md`(验证通过即关单;L1 到此结束)
|
|
@@ -79,8 +81,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
79
81
|
|
|
80
82
|
| 级别 | 单源语义(摘要) | 流程 |
|
|
81
83
|
|------|-----------------|------|
|
|
82
|
-
|
|
|
83
|
-
| L1 | 实现级改动(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) → 实现 → 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账 |
|
|
84
|
+
| L1 | 实现级改动(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) → 实现 → 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账;亦可一份 plan 即入口(不另立 intent) |
|
|
84
85
|
| L2 | 规则 / 契约(一处改、多处依赖) | 入口文档(intent / incident) + spec + plan 三件套 |
|
|
85
86
|
| L3 | 数据与运行时结构(结构面闭集见单源 `L3_SURFACES`) | 同 L2 + spec 新会话独立复核 |
|
|
86
87
|
|
|
@@ -91,7 +92,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
91
92
|
|
|
92
93
|
## 5. intent 豁免(避免小改动也走完整闭环)
|
|
93
94
|
|
|
94
|
-
- **
|
|
95
|
+
- **L1 新需求**:一份 plan 即入口,不另立 intent(不必 spec)
|
|
95
96
|
- **docs 级改动**(AGENTS.md / workflow/ 模板 / .agents/ 脚本与 commands / yaml):豁免 intent,走 Conventional Commits 直接 commit;若同时触及代码,按代码部分级别立 intent
|
|
96
97
|
- **bootstrap 类改动**(引入规则本身):豁免 intent,commit message 显式声明 `bootstrap`
|
|
97
98
|
|
|
@@ -13,7 +13,7 @@ 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 <
|
|
16
|
+
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <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
19
|
- 按 8 节填写:背景与问题 / 历史教训防复发 / 目标(可验证) / 非目标 / 约束 / 影响面 / 触达红线 / 验收标准(L1 微改动可省非目标/约束两节,不硬填)
|
|
@@ -45,5 +45,5 @@ description: 代码评审标准(按风险分级:机器兜底 + AI 自查出
|
|
|
45
45
|
|
|
46
46
|
- **机器兜底**(pre-commit / pre-push / test 自动拦,无需人守):门禁清单与判据以 `.githooks/`、`.agents/hooks/`、`check-loop.sh` 头部注释为准;`项目测试命令` 跑自动化用例。
|
|
47
47
|
- **AI 复核**:机器门禁完成后优先委派 `independent-reviewer`,聚焦 P0 hook 未覆盖项 + 全部 P1(P2 视精力)——产出分级问题清单 + 修复建议。复核方法参考 `code-review` 技能(Standards×Spec 双轴);每条 finding 报告前过 `review-verification-protocol` 防误报门(锚定 file:line、给出证据、校准严重级,不确定就降级为提问)。
|
|
48
|
-
- **独立性**:L2 / L3 必须用独立子智能体,宿主不支持时另开新会话,不得由原作者自查冒充;
|
|
48
|
+
- **独立性**:L2 / L3 必须用独立子智能体,宿主不支持时另开新会话,不得由原作者自查冒充;L1 且宿主不支持子智能体时可由主智能体按同一复核契约执行。
|
|
49
49
|
- **用户决策**:问题定性(误报驳回 / P0 成立必修 / P1、P2 处置裁量)+ 合入时机;git 历史即评审记录,追溯靠 commit 与 tag。
|
|
@@ -55,7 +55,7 @@ npx agentic-flow-kit doctor # §6.5 delegations + §6.6 o
|
|
|
55
55
|
|
|
56
56
|
- 输出测试报告(通过项 / 失败项);失败项已修复并复测通过。
|
|
57
57
|
- **关单**(日常闭环点,不依赖是否上 prod):
|
|
58
|
-
- 关单前一键过门:`node .agents/scripts/verify.mjs --doc workflow/intents/<本单>.md
|
|
58
|
+
- 关单前一键过门:`node .agents/scripts/verify.mjs --doc workflow/intents/<本单>.md`(七门编排:语法/测试/编排检查/预算/生效规则视图/闭环/台账不变量,fail-fast 失败行留痕,非绿不关单);**`--doc` 把绿凭证绑到本单**——不带它落下的绿行不给任何单背书,confirm-doc 前置与检查 8 只认带本单 `--doc` 的绿行(仅 v6+ 生效);**全绿尾部自动落凭证并重生成 `workflow/verify-evidence.md`**(`effective-policy.md` 同为生成物——两者勿手改,policy/台账变更后重生成随同提交);**装户仓**(当前目录无 `package.json`)测试门显式跳过且**不落测试绿凭证**(防假绿),按项目口径手工跑或带 `--test-cmd "<项目测试命令>"` 指定
|
|
59
59
|
- 新需求:逐条勾验入口 intent「验收标准」,每条补「证据:」(例如:粘贴 CI 运行结果、UI 截图路径、或具体的 commit SHA),intent → done;同名 spec/Quick-Plan(若有)仍 approved → done。**注意:勾选但缺证据会被 check-loop 拦截(hard-block)**
|
|
60
60
|
- **approved 留痕提交**:done 确认前确认**本次关单文档**的 approved 态已进 git 历史(越早越好——approved 后即应提交;若尚未,先补提交再 done;门为逐份校验,三件套均关单时逐份各自满足)——confirm-doc 的 done 前置门硬校验(历史未出现「状态: approved」→ 拒绝落账);done 后再提交 done 态与其余改动
|
|
61
61
|
- **确认落态**:唯一入口 `node .agents/scripts/confirm-doc.mjs <path>`(两形态 / 逐件代录(摘要可复用——分辨力由 scope+指纹承担)/ done 内容绑定(关单编辑先于 done 确认、confirm-doc 是最后一次写入)/ 台账对质全口径见根 `AGENTS.md` §1.3 确认门)。
|
|
@@ -40,7 +40,7 @@ description: Build 阶段:起 plan + 实现代码 + 自验(确认后才动代码
|
|
|
40
40
|
### 1.3 实现
|
|
41
41
|
|
|
42
42
|
7. 确认后按 plan 顺序推进;每个任务对照判据自验。若任务满足 `.agents/roles/implementer.md` 的边界,主智能体可将单个工作包连同必读材料、授权文件和验收条件委派给 `implementer`;否则由主智能体执行。
|
|
43
|
-
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1)
|
|
43
|
+
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1);范围对账 `node .agents/scripts/check-scope.mjs workflow/plans/YYYY-MM-DD-<主题>.md`——越界件(改了未声明)即收口(回填 plan 或回滚),plan 不可读 exit 2;默认 advisory exit 0,`--strict` 供门禁化调用。
|
|
44
44
|
9. **项目架构红线**:数据访问模式、公共字段写入等以根与目录级 `AGENTS.md`(如有)红线为准,不自创旁路。
|
|
45
45
|
10. **L3 且含 schema 变更时**:schema 变更走项目约定的维护方式(人工 SQL / 迁移工具,以目录级 `AGENTS.md` 或 spec 约束为准),不得擅自引入项目未采用的迁移机制(仅运行时 / 管线类 L3 无此约束)。
|
|
46
46
|
11. 实现中若需偏离已确认的 plan(改公共接口 / 动 plan 未列文件 / 引新依赖 / 影响任务判据)→ 停下,向用户说明原因与影响,确认后再继续。
|
|
@@ -45,7 +45,7 @@ description: Maintain 阶段:立 incident + 复盘三件套(修复 / 防复发 /
|
|
|
45
45
|
**3. 规范条目**(必须有可追溯落点)
|
|
46
46
|
- 落点优先级(取最前者可行即止):`workflow/regression-checklist.md` 回归条目 / `.agents/hooks/` 或 `tests/` 断言(机器门)→ `.agents/skills/`、`.agents/notes/` → `workflow/` 文档 → `.agents/commands/`
|
|
47
47
|
- **根 `AGENTS.md` 不再是落点**;**入册门槛**:已由机器门强制的内容只留一行指针,禁止在常驻面复述;**一进一出**:落点为常驻面时须在本 commit 内删除或下沉一条被取代条目
|
|
48
|
-
- 常驻面体积预算由 pre-commit 硬拦(`
|
|
48
|
+
- 常驻面体积预算由 pre-commit 硬拦(`node .agents/scripts/rule-budget.mjs --staged`,表 `.agents/rule-budgets.txt`)——超限先删再增
|
|
49
49
|
- 引用:commit <SHA> / 文件:<路径>#L<行>;若无新增条目,理由:<已有条目覆盖,说明条目位置>
|
|
50
50
|
|
|
51
51
|
### 1.4 起草后停下
|
|
@@ -34,16 +34,18 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
34
34
|
**诚实边界**:机器**无法**发现你没跑 route——定级发生在改动面确定之前,没有可比对的记录面,
|
|
35
35
|
详见 [ARCHITECTURE §5](../ARCHITECTURE.md) 与 CHANGELOG 1.7.16 B3 条。
|
|
36
36
|
|
|
37
|
-
动工前按下表定风险级
|
|
37
|
+
动工前按下表定风险级 L1-L3(就高不就低;判据细则见下节「级别判断」,单源 level-criteria.mjs),级别即风险级,决定走哪条泳道——确认放事前,还是审计补事后:
|
|
38
38
|
|
|
39
39
|
| 泳道 | 级别 | 确认与审计口径 |
|
|
40
40
|
|------|------|---------------|
|
|
41
|
-
| **协作道**(敏捷优先,审计异步补) |
|
|
41
|
+
| **协作道**(敏捷优先,审计异步补) | L1 实现级 | 一份 plan 即入口(来源 / 目标 / 红线 / 改动 / 验证 / 验收),不另立 intent。独立复核不设同步前置,check-loop 与事后 review 兜底;确认/代录可 `--batch` 批量(仅 L1) |
|
|
42
42
|
| **防御道**(严谨优先,确认同步拦) | L2 规则/契约 / L3 数据与运行时结构 | 同步确认门:spec 确认通过方可起草 plan,plan 确认后方可动手;L3 加新会话独立复核,未确认不放行 |
|
|
43
43
|
|
|
44
|
-
>
|
|
44
|
+
> **两问定级**(2026-10-13 L0 退役,自源仓收敛系列 1 回灌):结构面(schema / 迁移 SQL / DI / 认证管线)→ L3;契约或共享口径 → L2;两者都没有 → L1。不要按严重程度从 L1 往上滑。
|
|
45
|
+
> **落位**: L1 写在 plan frontmatter `级别`;L2/L3 写在 intent(intent 另以 `risk_level`=级别双写,`fill-intent.mjs` 自动写入,机器选道用)。
|
|
46
|
+
> **判低拦截**: 入口勾触达红线 → check-loop「红线判低」hard 拦 → 升到 L2/L3 并补同名 spec。
|
|
45
47
|
>
|
|
46
|
-
>
|
|
48
|
+
> **L2/L3 起草期合并预览**:三件套起草按 [design.md §0](design.md) 一次呈现要点总览(逐件确认代录不变)。
|
|
47
49
|
|
|
48
50
|
## 3. 路由判断
|
|
49
51
|
|
|
@@ -54,7 +56,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
54
56
|
- **自动化驱动(并列入口,可选)**:一句话全程走 [pipeline-run.md](pipeline-run.md)——状态机驱动+工单协议+原话代录,与下述手动路由二选一,同一任务不混用
|
|
55
57
|
- **新需求 / 功能**:从 `plan.md` 进,立 **intent**(`workflow/intents/`)
|
|
56
58
|
- **修复类任务 / 事故**:从 `maintain.md` 进,立 **incident**(`workflow/incidents/`);incident 在 L1+ 即 **intent 等价物**(check-loop 认 incident≡intent),不必另立 intent。先检索同类历史(`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type incidents,plans`),有同类先读其历史三件套;再按级别走:
|
|
57
|
-
-
|
|
59
|
+
- L1 → 立 incident 后进 `build.md` 起草并确认同名 Quick-Plan → `test.md`
|
|
58
60
|
- L2/L3 → 立 incident 后进 `design.md` 起草并确认同名 spec,再进 `build.md` 起草并确认同名 plan → `test.md`
|
|
59
61
|
- 仅当根因属系统性 / 门禁缺位(maintain.md 三件套「是否需要新 intent」选"是")才另立 `workflow/intents/` 同名 intent
|
|
60
62
|
- **改完代码要验证**:直接进 `test.md`(验证通过即关单;L1 到此结束)
|
|
@@ -79,8 +81,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
79
81
|
|
|
80
82
|
| 级别 | 单源语义(摘要) | 流程 |
|
|
81
83
|
|------|-----------------|------|
|
|
82
|
-
|
|
|
83
|
-
| L1 | 实现级改动(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) → 实现 → 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账 |
|
|
84
|
+
| L1 | 实现级改动(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) → 实现 → 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账;亦可一份 plan 即入口(不另立 intent) |
|
|
84
85
|
| L2 | 规则 / 契约(一处改、多处依赖) | 入口文档(intent / incident) + spec + plan 三件套 |
|
|
85
86
|
| L3 | 数据与运行时结构(结构面闭集见单源 `L3_SURFACES`) | 同 L2 + spec 新会话独立复核 |
|
|
86
87
|
|
|
@@ -91,7 +92,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
91
92
|
|
|
92
93
|
## 5. intent 豁免(避免小改动也走完整闭环)
|
|
93
94
|
|
|
94
|
-
- **
|
|
95
|
+
- **L1 新需求**:一份 plan 即入口,不另立 intent(不必 spec)
|
|
95
96
|
- **docs 级改动**(AGENTS.md / workflow/ 模板 / .agents/ 脚本与 commands / yaml):豁免 intent,走 Conventional Commits 直接 commit;若同时触及代码,按代码部分级别立 intent
|
|
96
97
|
- **bootstrap 类改动**(引入规则本身):豁免 intent,commit message 显式声明 `bootstrap`
|
|
97
98
|
|
|
@@ -13,7 +13,7 @@ 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 <
|
|
16
|
+
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <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
19
|
- 按 8 节填写:背景与问题 / 历史教训防复发 / 目标(可验证) / 非目标 / 约束 / 影响面 / 触达红线 / 验收标准(L1 微改动可省非目标/约束两节,不硬填)
|
|
@@ -45,5 +45,5 @@ description: 代码评审标准(按风险分级:机器兜底 + AI 自查出
|
|
|
45
45
|
|
|
46
46
|
- **机器兜底**(pre-commit / pre-push / test 自动拦,无需人守):门禁清单与判据以 `.githooks/`、`.agents/hooks/`、`check-loop.sh` 头部注释为准;`项目测试命令` 跑自动化用例。
|
|
47
47
|
- **AI 复核**:机器门禁完成后优先委派 `independent-reviewer`,聚焦 P0 hook 未覆盖项 + 全部 P1(P2 视精力)——产出分级问题清单 + 修复建议。复核方法参考 `code-review` 技能(Standards×Spec 双轴);每条 finding 报告前过 `review-verification-protocol` 防误报门(锚定 file:line、给出证据、校准严重级,不确定就降级为提问)。
|
|
48
|
-
- **独立性**:L2 / L3 必须用独立子智能体,宿主不支持时另开新会话,不得由原作者自查冒充;
|
|
48
|
+
- **独立性**:L2 / L3 必须用独立子智能体,宿主不支持时另开新会话,不得由原作者自查冒充;L1 且宿主不支持子智能体时可由主智能体按同一复核契约执行。
|
|
49
49
|
- **用户决策**:问题定性(误报驳回 / P0 成立必修 / P1、P2 处置裁量)+ 合入时机;git 历史即评审记录,追溯靠 commit 与 tag。
|
|
@@ -55,7 +55,7 @@ npx agentic-flow-kit doctor # §6.5 delegations + §6.6 o
|
|
|
55
55
|
|
|
56
56
|
- 输出测试报告(通过项 / 失败项);失败项已修复并复测通过。
|
|
57
57
|
- **关单**(日常闭环点,不依赖是否上 prod):
|
|
58
|
-
- 关单前一键过门:`node .agents/scripts/verify.mjs --doc workflow/intents/<本单>.md
|
|
58
|
+
- 关单前一键过门:`node .agents/scripts/verify.mjs --doc workflow/intents/<本单>.md`(七门编排:语法/测试/编排检查/预算/生效规则视图/闭环/台账不变量,fail-fast 失败行留痕,非绿不关单);**`--doc` 把绿凭证绑到本单**——不带它落下的绿行不给任何单背书,confirm-doc 前置与检查 8 只认带本单 `--doc` 的绿行(仅 v6+ 生效);**全绿尾部自动落凭证并重生成 `workflow/verify-evidence.md`**(`effective-policy.md` 同为生成物——两者勿手改,policy/台账变更后重生成随同提交);**装户仓**(当前目录无 `package.json`)测试门显式跳过且**不落测试绿凭证**(防假绿),按项目口径手工跑或带 `--test-cmd "<项目测试命令>"` 指定
|
|
59
59
|
- 新需求:逐条勾验入口 intent「验收标准」,每条补「证据:」(例如:粘贴 CI 运行结果、UI 截图路径、或具体的 commit SHA),intent → done;同名 spec/Quick-Plan(若有)仍 approved → done。**注意:勾选但缺证据会被 check-loop 拦截(hard-block)**
|
|
60
60
|
- **approved 留痕提交**:done 确认前确认**本次关单文档**的 approved 态已进 git 历史(越早越好——approved 后即应提交;若尚未,先补提交再 done;门为逐份校验,三件套均关单时逐份各自满足)——confirm-doc 的 done 前置门硬校验(历史未出现「状态: approved」→ 拒绝落账);done 后再提交 done 态与其余改动
|
|
61
61
|
- **确认落态**:唯一入口 `node .agents/scripts/confirm-doc.mjs <path>`(两形态 / 逐件代录(摘要可复用——分辨力由 scope+指纹承担)/ done 内容绑定(关单编辑先于 done 确认、confirm-doc 是最后一次写入)/ 台账对质全口径见根 `AGENTS.md` §1.3 确认门)。
|
|
@@ -40,7 +40,7 @@ description: Build 阶段 · 起 plan + 实现代码 + 自验(两道确认门
|
|
|
40
40
|
### 1.3 实现
|
|
41
41
|
|
|
42
42
|
7. 确认后按 plan 顺序推进;每个任务对照判据自验。若任务满足 `.agents/roles/implementer.md` 的边界,主智能体可将单个工作包连同必读材料、授权文件和验收条件委派给 `implementer`;否则由主智能体执行。
|
|
43
|
-
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1)
|
|
43
|
+
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1);范围对账 `node .agents/scripts/check-scope.mjs workflow/plans/YYYY-MM-DD-<主题>.md`——越界件(改了未声明)即收口(回填 plan 或回滚),plan 不可读 exit 2;默认 advisory exit 0,`--strict` 供门禁化调用。
|
|
44
44
|
9. **项目架构红线**:数据访问模式、公共字段写入等以根与目录级 `AGENTS.md`(如有)红线为准,不自创旁路。
|
|
45
45
|
10. **L3 且含 schema 变更时**:schema 变更走项目约定的维护方式(人工 SQL / 迁移工具,以目录级 `AGENTS.md` 或 spec 约束为准),不得擅自引入项目未采用的迁移机制(仅运行时 / 管线类 L3 无此约束)。
|
|
46
46
|
11. 实现中若需偏离已确认的 plan(改公共接口 / 动 plan 未列文件 / 引新依赖 / 影响任务判据)→ 停下,向用户说明原因与影响,确认后再继续。
|
|
@@ -45,7 +45,7 @@ description: Maintain 阶段 · 立 incident + 复盘三件套(incident 在 L1
|
|
|
45
45
|
**3. 规范条目**(必须有可追溯落点)
|
|
46
46
|
- 落点优先级(取最前者可行即止):`workflow/regression-checklist.md` 回归条目 / `.agents/hooks/` 或 `tests/` 断言(机器门)→ `.agents/skills/`、`.agents/notes/` → `workflow/` 文档 → `.agents/commands/`
|
|
47
47
|
- **根 `AGENTS.md` 不再是落点**;**入册门槛**:已由机器门强制的内容只留一行指针,禁止在常驻面复述;**一进一出**:落点为常驻面时须在本 commit 内删除或下沉一条被取代条目
|
|
48
|
-
- 常驻面体积预算由 pre-commit 硬拦(`
|
|
48
|
+
- 常驻面体积预算由 pre-commit 硬拦(`node .agents/scripts/rule-budget.mjs --staged`,表 `.agents/rule-budgets.txt`)——超限先删再增
|
|
49
49
|
- 引用:commit <SHA> / 文件:<路径>#L<行>;若无新增条目,理由:<已有条目覆盖,说明条目位置>
|
|
50
50
|
|
|
51
51
|
### 1.4 起草后停下
|
|
@@ -34,16 +34,18 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
34
34
|
**诚实边界**:机器**无法**发现你没跑 route——定级发生在改动面确定之前,没有可比对的记录面,
|
|
35
35
|
详见 [ARCHITECTURE §5](../ARCHITECTURE.md) 与 CHANGELOG 1.7.16 B3 条。
|
|
36
36
|
|
|
37
|
-
动工前按下表定风险级
|
|
37
|
+
动工前按下表定风险级 L1-L3(就高不就低;判据细则见下节「级别判断」,单源 level-criteria.mjs),级别即风险级,决定走哪条泳道——确认放事前,还是审计补事后:
|
|
38
38
|
|
|
39
39
|
| 泳道 | 级别 | 确认与审计口径 |
|
|
40
40
|
|------|------|---------------|
|
|
41
|
-
| **协作道**(敏捷优先,审计异步补) |
|
|
41
|
+
| **协作道**(敏捷优先,审计异步补) | L1 实现级 | 一份 plan 即入口(来源 / 目标 / 红线 / 改动 / 验证 / 验收),不另立 intent。独立复核不设同步前置,check-loop 与事后 review 兜底;确认/代录可 `--batch` 批量(仅 L1) |
|
|
42
42
|
| **防御道**(严谨优先,确认同步拦) | L2 规则/契约 / L3 数据与运行时结构 | 同步确认门:spec 确认通过方可起草 plan,plan 确认后方可动手;L3 加新会话独立复核,未确认不放行 |
|
|
43
43
|
|
|
44
|
-
>
|
|
44
|
+
> **两问定级**(2026-10-13 L0 退役,自源仓收敛系列 1 回灌):结构面(schema / 迁移 SQL / DI / 认证管线)→ L3;契约或共享口径 → L2;两者都没有 → L1。不要按严重程度从 L1 往上滑。
|
|
45
|
+
> **落位**: L1 写在 plan frontmatter `级别`;L2/L3 写在 intent(intent 另以 `risk_level`=级别双写,`fill-intent.mjs` 自动写入,机器选道用)。
|
|
46
|
+
> **判低拦截**: 入口勾触达红线 → check-loop「红线判低」hard 拦 → 升到 L2/L3 并补同名 spec。
|
|
45
47
|
>
|
|
46
|
-
>
|
|
48
|
+
> **L2/L3 起草期合并预览**:三件套起草按 [design.md §0](design.md) 一次呈现要点总览(逐件确认代录不变)。
|
|
47
49
|
|
|
48
50
|
## 3. 路由判断
|
|
49
51
|
|
|
@@ -54,7 +56,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
54
56
|
- **自动化驱动(并列入口,可选)**:一句话全程走 [pipeline-run.md](pipeline-run.md)——状态机驱动+工单协议+原话代录,与下述手动路由二选一,同一任务不混用
|
|
55
57
|
- **新需求 / 功能**:从 `plan.md` 进,立 **intent**(`workflow/intents/`)
|
|
56
58
|
- **修复类任务 / 事故**:从 `maintain.md` 进,立 **incident**(`workflow/incidents/`);incident 在 L1+ 即 **intent 等价物**(check-loop 认 incident≡intent),不必另立 intent。先检索同类历史(`node .agents/scripts/kb-search.mjs "<关键词>" --scope workflow --type incidents,plans`),有同类先读其历史三件套;再按级别走:
|
|
57
|
-
-
|
|
59
|
+
- L1 → 立 incident 后进 `build.md` 起草并确认同名 Quick-Plan → `test.md`
|
|
58
60
|
- L2/L3 → 立 incident 后进 `design.md` 起草并确认同名 spec,再进 `build.md` 起草并确认同名 plan → `test.md`
|
|
59
61
|
- 仅当根因属系统性 / 门禁缺位(maintain.md 三件套「是否需要新 intent」选"是")才另立 `workflow/intents/` 同名 intent
|
|
60
62
|
- **改完代码要验证**:直接进 `test.md`(验证通过即关单;L1 到此结束)
|
|
@@ -79,8 +81,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
79
81
|
|
|
80
82
|
| 级别 | 单源语义(摘要) | 流程 |
|
|
81
83
|
|------|-----------------|------|
|
|
82
|
-
|
|
|
83
|
-
| L1 | 实现级改动(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) → 实现 → 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账 |
|
|
84
|
+
| L1 | 实现级改动(未命中 L2/L3) | 快车道:液态草稿(.zcode/drafts) → 实现 → 固化(`solidify-task.mjs`)——用户确认后带 `--delegated "<原话>"` 执行;无确认来源只迁移不落账;亦可一份 plan 即入口(不另立 intent) |
|
|
84
85
|
| L2 | 规则 / 契约(一处改、多处依赖) | 入口文档(intent / incident) + spec + plan 三件套 |
|
|
85
86
|
| L3 | 数据与运行时结构(结构面闭集见单源 `L3_SURFACES`) | 同 L2 + spec 新会话独立复核 |
|
|
86
87
|
|
|
@@ -91,7 +92,7 @@ flow-kit route --files <预计改动面…> --kind require|fix|verify|review|dep
|
|
|
91
92
|
|
|
92
93
|
## 5. intent 豁免(避免小改动也走完整闭环)
|
|
93
94
|
|
|
94
|
-
- **
|
|
95
|
+
- **L1 新需求**:一份 plan 即入口,不另立 intent(不必 spec)
|
|
95
96
|
- **docs 级改动**(AGENTS.md / workflow/ 模板 / .agents/ 脚本与 commands / yaml):豁免 intent,走 Conventional Commits 直接 commit;若同时触及代码,按代码部分级别立 intent
|
|
96
97
|
- **bootstrap 类改动**(引入规则本身):豁免 intent,commit message 显式声明 `bootstrap`
|
|
97
98
|
|
|
@@ -13,7 +13,7 @@ description: Plan 阶段 · 立 intent(AI 起草、用户确认;本阶段不
|
|
|
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 <
|
|
16
|
+
- **填空工具先跑**:`node .agents/scripts/fill-intent.mjs --module <模块> --level <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
19
|
- 按 8 节填写:背景与问题 / 历史教训防复发 / 目标(可验证) / 非目标 / 约束 / 影响面 / 触达红线 / 验收标准(L1 微改动可省非目标/约束两节,不硬填)
|
|
@@ -45,5 +45,5 @@ description: Review · 代码评审(横切,合入前使用;P0/P1/P2 分级
|
|
|
45
45
|
|
|
46
46
|
- **机器兜底**(pre-commit / pre-push / test 自动拦,无需人守):门禁清单与判据以 `.githooks/`、`.agents/hooks/`、`check-loop.sh` 头部注释为准;`项目测试命令` 跑自动化用例。
|
|
47
47
|
- **AI 复核**:机器门禁完成后优先委派 `independent-reviewer`,聚焦 P0 hook 未覆盖项 + 全部 P1(P2 视精力)——产出分级问题清单 + 修复建议。复核方法参考 `code-review` 技能(Standards×Spec 双轴);每条 finding 报告前过 `review-verification-protocol` 防误报门(锚定 file:line、给出证据、校准严重级,不确定就降级为提问)。
|
|
48
|
-
- **独立性**:L2 / L3 必须用独立子智能体,宿主不支持时另开新会话,不得由原作者自查冒充;
|
|
48
|
+
- **独立性**:L2 / L3 必须用独立子智能体,宿主不支持时另开新会话,不得由原作者自查冒充;L1 且宿主不支持子智能体时可由主智能体按同一复核契约执行。
|
|
49
49
|
- **用户决策**:问题定性(误报驳回 / P0 成立必修 / P1、P2 处置裁量)+ 合入时机;git 历史即评审记录,追溯靠 commit 与 tag。
|
|
@@ -55,7 +55,7 @@ npx agentic-flow-kit doctor # §6.5 delegations + §6.6 o
|
|
|
55
55
|
|
|
56
56
|
- 输出测试报告(通过项 / 失败项);失败项已修复并复测通过。
|
|
57
57
|
- **关单**(日常闭环点,不依赖是否上 prod):
|
|
58
|
-
- 关单前一键过门:`node .agents/scripts/verify.mjs --doc workflow/intents/<本单>.md
|
|
58
|
+
- 关单前一键过门:`node .agents/scripts/verify.mjs --doc workflow/intents/<本单>.md`(七门编排:语法/测试/编排检查/预算/生效规则视图/闭环/台账不变量,fail-fast 失败行留痕,非绿不关单);**`--doc` 把绿凭证绑到本单**——不带它落下的绿行不给任何单背书,confirm-doc 前置与检查 8 只认带本单 `--doc` 的绿行(仅 v6+ 生效);**全绿尾部自动落凭证并重生成 `workflow/verify-evidence.md`**(`effective-policy.md` 同为生成物——两者勿手改,policy/台账变更后重生成随同提交);**装户仓**(当前目录无 `package.json`)测试门显式跳过且**不落测试绿凭证**(防假绿),按项目口径手工跑或带 `--test-cmd "<项目测试命令>"` 指定
|
|
59
59
|
- 新需求:逐条勾验入口 intent「验收标准」,每条补「证据:」(例如:粘贴 CI 运行结果、UI 截图路径、或具体的 commit SHA),intent → done;同名 spec/Quick-Plan(若有)仍 approved → done。**注意:勾选但缺证据会被 check-loop 拦截(hard-block)**
|
|
60
60
|
- **approved 留痕提交**:done 确认前确认**本次关单文档**的 approved 态已进 git 历史(越早越好——approved 后即应提交;若尚未,先补提交再 done;门为逐份校验,三件套均关单时逐份各自满足)——confirm-doc 的 done 前置门硬校验(历史未出现「状态: approved」→ 拒绝落账);done 后再提交 done 态与其余改动
|
|
61
61
|
- **确认落态**:唯一入口 `node .agents/scripts/confirm-doc.mjs <path>`(两形态 / 逐件代录(摘要可复用——分辨力由 scope+指纹承担)/ done 内容绑定(关单编辑先于 done 确认、confirm-doc 是最后一次写入)/ 台账对质全口径见根 `AGENTS.md` §1.3 确认门)。
|
|
@@ -41,7 +41,7 @@ description: Build 阶段 · 起 plan + 实现代码 + 自验(两道确认门
|
|
|
41
41
|
### 1.3 实现
|
|
42
42
|
|
|
43
43
|
7. 确认后按 plan 顺序推进;每个任务对照判据自验。若任务满足 `.agents/roles/implementer.md` 的边界,主智能体可将单个工作包连同必读材料、授权文件和验收条件委派给 `implementer`;否则由主智能体执行。
|
|
44
|
-
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1)
|
|
44
|
+
8. 自验:按改动域跑 `项目构建命令` / `项目类型检查命令` / `项目测试命令`(对应编译 / 前端类型检查 / 自动化测试;静态门全集见 `test.md` §1);范围对账 `node .agents/scripts/check-scope.mjs workflow/plans/YYYY-MM-DD-<主题>.md`——越界件(改了未声明)即收口(回填 plan 或回滚),plan 不可读 exit 2;默认 advisory exit 0,`--strict` 供门禁化调用。
|
|
45
45
|
9. **项目架构红线**:数据访问模式、公共字段写入等以根与目录级 `AGENTS.md`(如有)红线为准,不自创旁路。
|
|
46
46
|
10. **L3 且含 schema 变更时**:schema 变更走项目约定的维护方式(人工 SQL / 迁移工具,以目录级 `AGENTS.md` 或 spec 约束为准),不得擅自引入项目未采用的迁移机制(仅运行时 / 管线类 L3 无此约束)。
|
|
47
47
|
11. 实现中若需偏离已确认的 plan(改公共接口 / 动 plan 未列文件 / 引新依赖 / 影响任务判据)→ 停下,向用户说明原因与影响,确认后再继续。
|
|
@@ -46,7 +46,7 @@ description: Maintain 阶段 · 立 incident + 复盘三件套(incident 在 L1
|
|
|
46
46
|
**3. 规范条目**(必须有可追溯落点)
|
|
47
47
|
- 落点优先级(取最前者可行即止):`workflow/regression-checklist.md` 回归条目 / `.agents/hooks/` 或 `tests/` 断言(机器门)→ `.agents/skills/`、`.agents/notes/` → `workflow/` 文档 → `.agents/commands/`
|
|
48
48
|
- **根 `AGENTS.md` 不再是落点**;**入册门槛**:已由机器门强制的内容只留一行指针,禁止在常驻面复述;**一进一出**:落点为常驻面时须在本 commit 内删除或下沉一条被取代条目
|
|
49
|
-
- 常驻面体积预算由 pre-commit 硬拦(`
|
|
49
|
+
- 常驻面体积预算由 pre-commit 硬拦(`node .agents/scripts/rule-budget.mjs --staged`,表 `.agents/rule-budgets.txt`)——超限先删再增
|
|
50
50
|
- 引用:commit <SHA> / 文件:<路径>#L<行>;若无新增条目,理由:<已有条目覆盖,说明条目位置>
|
|
51
51
|
|
|
52
52
|
### 1.4 起草后停下
|