add-coder 0.1.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 +50 -0
- package/bin/add-coder.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +576 -0
- package/package.json +64 -0
- package/templates/adapters/claude/hooks/doc-format-guard.sh +17 -0
- package/templates/adapters/claude/hooks/notification.sh +9 -0
- package/templates/adapters/claude/hooks/permission-gate.sh +18 -0
- package/templates/adapters/claude/hooks/post-tool-failure.sh +10 -0
- package/templates/adapters/claude/hooks/post-tool-use.sh +18 -0
- package/templates/adapters/claude/hooks/pre-compact.sh +14 -0
- package/templates/adapters/claude/hooks/pre-tool-use.sh +28 -0
- package/templates/adapters/claude/hooks/prompt-submit.sh +16 -0
- package/templates/adapters/claude/hooks/review-checklist.sh +10 -0
- package/templates/adapters/claude/hooks/session-start.sh +23 -0
- package/templates/adapters/claude/hooks/stop-check.sh +10 -0
- package/templates/adapters/claude/hooks/subagent-guard.sh +15 -0
- package/templates/adapters/claude/mcp.json +13 -0
- package/templates/adapters/claude/settings.json +125 -0
- package/templates/adapters/qoder/hooks/doc-format-guard.sh +164 -0
- package/templates/adapters/qoder/hooks/lib/context-inject.sh +96 -0
- package/templates/adapters/qoder/hooks/lib/state-detect.sh +104 -0
- package/templates/adapters/qoder/hooks/lib/vocabulary.sh +49 -0
- package/templates/adapters/qoder/hooks/notification.sh +22 -0
- package/templates/adapters/qoder/hooks/permission-gate.sh +8 -0
- package/templates/adapters/qoder/hooks/post-tool-failure.sh +8 -0
- package/templates/adapters/qoder/hooks/post-tool-use.sh +20 -0
- package/templates/adapters/qoder/hooks/pre-compact.sh +12 -0
- package/templates/adapters/qoder/hooks/pre-tool-use.sh +77 -0
- package/templates/adapters/qoder/hooks/prompt-submit.sh +72 -0
- package/templates/adapters/qoder/hooks/review-checklist.sh +157 -0
- package/templates/adapters/qoder/hooks/session-start.sh +16 -0
- package/templates/adapters/qoder/hooks/stop-check.sh +71 -0
- package/templates/adapters/qoder/hooks/subagent-guard.sh +11 -0
- package/templates/adapters/qoder/mcp.json +13 -0
- package/templates/adapters/qoder/settings.json +125 -0
- package/templates/adapters/qoder/sync-policy.json +18 -0
- package/templates/adapters/vscode/extensions.json +5 -0
- package/templates/adapters/vscode/launch.json +16 -0
- package/templates/adapters/vscode/settings.json +16 -0
- package/templates/adapters/vscode/tasks.json +38 -0
- package/templates/core/agents/add-flow-guardian.md +276 -0
- package/templates/core/agents/add-orchestrator.md +217 -0
- package/templates/core/plans/2026-07/08/farm-agent-add-coder-npm-package-add-route-v1.md +323 -0
- package/templates/core/plans/2026-07/08/farm-agent-add-coder-npm-package-handoff-v1.md +678 -0
- package/templates/core/plans/2026-07/08/farm-agent-add-coder-npm-package-plan-v1.md +785 -0
- package/templates/core/prisma/add.prisma +34 -0
- package/templates/core/reports/REPORT-WORKFLOW.md +250 -0
- package/templates/core/reports/boundary-runtime-report.md +134 -0
- package/templates/core/reports/code-review-combined-report.md +227 -0
- package/templates/core/reports/code-review-fix-verification-report.md +505 -0
- package/templates/core/reports/code-review-suggestions.md +66 -0
- package/templates/core/reports/index.md +57 -0
- package/templates/core/reports/runtime-report/gateway.md +741 -0
- package/templates/core/rules/project_rules.md +905 -0
- package/templates/core/rules/theory-practice-map.toml +105 -0
- package/templates/core/scripts/mcp-server.ts +3492 -0
- package/templates/core/skills/add-paradigm/SKILL.md +1086 -0
- package/templates/core/skills/session-init/SKILL.md +215 -0
- package/templates/core/specs/farm-agent-add-coder-npm-package/checklist.md +125 -0
- package/templates/core/specs/farm-agent-add-coder-npm-package/spec.md +343 -0
- package/templates/core/specs/farm-agent-add-coder-npm-package/tasks.md +203 -0
- package/templates/core/templates/01-/346/236/266/346/236/204//343/200/212ADD/345/274/200/345/217/221/345/267/245/344/275/234/350/267/257/345/276/204/344/270/216/346/226/207/346/241/243/345/215/217/345/220/214/350/247/204/350/214/203/343/200/213.md +386 -0
- package/templates/core/templates/TERMINOLOGY.md +81 -0
- package/templates/core/templates/add-route-template-heavyweight.md +288 -0
- package/templates/core/templates/add-route-template.md +242 -0
- package/templates/core/templates/add-route-template.schema.json +35 -0
- package/templates/core/templates/checklist-template.md +72 -0
- package/templates/core/templates/checklist-template.schema.json +20 -0
- package/templates/core/templates/fix-verification-template.md +132 -0
- package/templates/core/templates/fix-verification-template.schema.json +54 -0
- package/templates/core/templates/handoff-multi-round-template.md +295 -0
- package/templates/core/templates/handoff-multi-round.schema.json +48 -0
- package/templates/core/templates/handoff-single-round-template.md +145 -0
- package/templates/core/templates/handoff-single-round.schema.json +92 -0
- package/templates/core/templates/index.md +60 -0
- package/templates/core/templates/report-template.md +126 -0
- package/templates/core/templates/report-template.schema.json +69 -0
- package/templates/core/templates/review-implementation-template.md +66 -0
- package/templates/core/templates/review-implementation-template.schema.json +58 -0
- package/templates/core/templates/review-runtime-template.md +73 -0
- package/templates/core/templates/review-runtime-template.schema.json +47 -0
- package/templates/core/templates/review-template.md +37 -0
- package/templates/core/templates/review-template.schema.json +42 -0
- package/templates/core/templates/runtime-report-template.md +73 -0
- package/templates/core/templates/runtime-report-template.schema.json +48 -0
- package/templates/core/templates/simple-plan-template.md +166 -0
- package/templates/core/templates/simple-plan-template.schema.json +109 -0
- package/templates/core/templates/spec-template.md +22 -0
- package/templates/core/templates/spec-template.schema.json +41 -0
- package/templates/core/templates/standard-plan-template.md +96 -0
- package/templates/core/templates/standard-plan-template.schema.json +73 -0
- package/templates/core/templates/tasks-template.md +54 -0
- package/templates/core/templates/tasks-template.schema.json +43 -0
- package/templates/core/tools/README.md +361 -0
- package/templates/core/vocabulary/add-governance-vocabulary.md +370 -0
- package/templates/shared/hooks-lib/common.sh +22 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# ADD 模板术语权威规范
|
|
2
|
+
|
|
3
|
+
> **定位**:项目所有 ADD 模板的术语唯一真相源。模板修改、守卫校验、LLM prompt 均以此为准。
|
|
4
|
+
> **消费方**:16 个模板、`doc-format-guard.sh`、`pre-tool-use.sh`、`AGENTS.md`、`.qoder/hooks/lib/vocabulary.sh`
|
|
5
|
+
> **关联 Plan**:`{{projectName}}-add-template-standardization-plan-v1.md`
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 一、术语层级
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
ADD 范式层(纵向,所有 Plan 通用):
|
|
13
|
+
Step ───── 大写 S,ADD 工作流阶段 例: "Step 3: 代码实现"
|
|
14
|
+
|
|
15
|
+
实施层(横向,Plan 内部):
|
|
16
|
+
Round ──── 大写 R,多轮 Plan 的原子事务 例: "第1轮 ── 类型收敛"
|
|
17
|
+
Task ───── 大写 T,单文件/模块工作单元 例: "Task 1: 抽取 BaseChatSchema"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Step 和 Round 不冲突——Step 是纵向流程,Round 是 Step 3 内部的事务拆分。单轮 Plan 只用 Step,多轮 Plan 在 Step 3 内部用 Round。
|
|
21
|
+
|
|
22
|
+
**Phase 已废弃**:单轮 Plan 中 Task 打组带来注意力分散,多轮 Plan 直接用 Round 拆分即可,不需要 Phase 中间层。
|
|
23
|
+
|
|
24
|
+
## 二、禁止词与替代词
|
|
25
|
+
|
|
26
|
+
| 禁止 | 替代 | 原因 |
|
|
27
|
+
|------|------|------|
|
|
28
|
+
| `轮次` | `Step` 或 `Round`(视上下文) | 与两概念都冲突 |
|
|
29
|
+
| `阶段` | (已废弃) | Phase 概念已全局移除 |
|
|
30
|
+
| `步骤` | `Task` | 与 Task 撞名 |
|
|
31
|
+
| `第X步骤` | `Task X` | 同上 |
|
|
32
|
+
|
|
33
|
+
## 三、各模板术语适用表
|
|
34
|
+
|
|
35
|
+
| 模板 | 应出现的词 | 不应出现的词 |
|
|
36
|
+
|------|--------|---------|
|
|
37
|
+
| `plan-template.md` | Step, Task | Round, 轮次, 阶段, 步骤 |
|
|
38
|
+
| `simple-plan-template.md` | Step, Task | Round, 轮次, 阶段, 步骤 |
|
|
39
|
+
| `spec-template.md` | Requirement | Step,Task |
|
|
40
|
+
| `tasks-template.md` Task | Step, Round |
|
|
41
|
+
| `checklist-template.md` | (无固定术语) | 阶段, 步骤 |
|
|
42
|
+
| `handoff-single-round-template.md` | Step | Round, 轮次 |
|
|
43
|
+
| `handoff-multi-round-template.md` | Step, Round, Task 阶段, 步骤 |
|
|
44
|
+
| `add-route-template.md` | Step, Task | Round, 轮次 |
|
|
45
|
+
| `add-route-template-heavyweight.md` | Step, Task | Round, 轮次 |
|
|
46
|
+
| `review-template.md` | (无固定术语) | 阶段, 步骤 |
|
|
47
|
+
| `review-implementation-template.md` | (无固定术语) | 阶段, 步骤 |
|
|
48
|
+
| `review-runtime-template.md` | (无固定术语) | 阶段, 步骤 |
|
|
49
|
+
| `report-template.md` | (无固定术语) | — |
|
|
50
|
+
| `runtime-report-template.md` | (无固定术语) | — |
|
|
51
|
+
| `fix-verification-template.md` | (无固定术语) | — |
|
|
52
|
+
| `handoff-template.md` | Step | Round, 轮次 |
|
|
53
|
+
|
|
54
|
+
## 四、标题层级规范
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
## X. 章节名 ← 一级章节(X = 一/二/三 或 1/2/3)
|
|
58
|
+
### X.X 子章节名 ← 二级章节
|
|
59
|
+
#### 子子章节名 ← 三级章节
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
- §A/§B 字母分区 → 统一改用数字(如 `§A` → `### 3.1 源码关联`)
|
|
63
|
+
- plan-template 一级编号用中文数字(一/二/三),handoff 用阿拉伯数字(1/2/3),不变
|
|
64
|
+
- 禁止 `#####` 四级标题
|
|
65
|
+
|
|
66
|
+
## 五、占位符规范
|
|
67
|
+
|
|
68
|
+
所有模板占位符统一 `{ }` 包裹。守卫检测到未替换占位符 → 阻断写入。
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
{需求名} {核心内容} {版本号} {ISO 时间戳}
|
|
72
|
+
{N} {描述} {检查项1} {确认项2}
|
|
73
|
+
{项目名} {变更描述} {文件路径} {关键字}
|
|
74
|
+
{ACTION_1} {ACTION_2} {ACTION_3}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 六、修订记录
|
|
78
|
+
|
|
79
|
+
| 版本 | 日期 | 变更 |
|
|
80
|
+
|------|------|------|
|
|
81
|
+
| v1 | 2026-07-04 | 初版:四层术语 + 禁止词 + 模板适用表 + 标题层级 + 占位符 |
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
# {需求域名}-{核心内容}-add-route-v{版本号}
|
|
2
|
+
|
|
3
|
+
> **定位**:Plan → ADD Step执行映射。不重复 Plan 的架构设计和 Specs 的任务细节——只定义每个 ADD Step 在本 Plan 中的具体动作、输入、产出。
|
|
4
|
+
>
|
|
5
|
+
> **模式**:重型(Heavyweight)——每一步产出检查强制执行"验证并更新项目状态",包含 `check_spec_sync` 文档-代码交叉校验。适用于后端系统、多层管线、审计合规场景。
|
|
6
|
+
>
|
|
7
|
+
> **绑定**:Plan: `{plan-path}` · Spec: `{spec-path}` · Tasks: `{tasks-path}` · Handoff: `{handoff-path}`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Step 0:文档先行(Documentation First)
|
|
12
|
+
|
|
13
|
+
**目的**:代码动工前,确认 Plan + Specs + Handoff 三元组齐全,项目文档反映即将实现的变更。
|
|
14
|
+
|
|
15
|
+
**输入**:
|
|
16
|
+
- 上游 Review(触发来源)
|
|
17
|
+
- Plan 文档
|
|
18
|
+
- 规划说明书、架构文档等项目知识库
|
|
19
|
+
|
|
20
|
+
**动作**:
|
|
21
|
+
1. 确认 Specs 三元组就绪:`spec.md` + `tasks.md` + `checklist.md`
|
|
22
|
+
2. 调用 `find_related_docs` 检索受影响的架构/规范/需求文档
|
|
23
|
+
3. 按检索结果更新项目文档(`docs/*/knowledge/`),或声明"本次变更无需更新项目文档"并说明理由
|
|
24
|
+
4. 确认 Handoff 就绪(含 round 边界、ADD-7 策略表、回滚方案)
|
|
25
|
+
|
|
26
|
+
**产出**:
|
|
27
|
+
- [ ] 验证并更新项目状态:Specs 三元组路径确认
|
|
28
|
+
- [ ] 验证并更新项目状态:项目文档已更新(或无需更新声明已记录)
|
|
29
|
+
- [ ] 验证并更新项目状态:Handoff 就绪
|
|
30
|
+
|
|
31
|
+
### §0.8 DPS 闸门(上游文档质量校验)
|
|
32
|
+
|
|
33
|
+
> **重型强制**:Step 0 完成后、进入 Step 1 前,调用 `check_dps` 验证上游文档质量。Plan 概括度 → Review 注意力稀释 → Specs 遗漏 → 实现偏差,这是首要根因。
|
|
34
|
+
|
|
35
|
+
调用 `check_dps({ planKeyword: "{planKeyword}" })`。
|
|
36
|
+
|
|
37
|
+
| DPS | 判定 | 动作 |
|
|
38
|
+
|-----|:--:|------|
|
|
39
|
+
| ≥ 85 | 🟢 | 进入 Step 1 |
|
|
40
|
+
| 70–84 | 🟡 | 回退补齐短板(补 Review 缺失维度 / Specs 缺失 Requirement) |
|
|
41
|
+
| < 70 | 🔴 | 回退细化 Plan 本身(粒度不足是下游漂移的根因) |
|
|
42
|
+
|
|
43
|
+
- [ ] DPS 已通过(≥ 85),可进入 Step 1
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 1:功能分析与审计打点定义
|
|
48
|
+
|
|
49
|
+
**目的**:定义本次变更涉及的所有审计打点,扩展 `AgentAuditPhase`。
|
|
50
|
+
|
|
51
|
+
**输入**:
|
|
52
|
+
- Plan §3 的 Task 列表
|
|
53
|
+
- `src/lib/agent-audit-logger.ts` 当前 `AgentAuditPhase` 联合类型
|
|
54
|
+
|
|
55
|
+
**动作**:
|
|
56
|
+
1. 列出本次变更涉及的所有业务环节
|
|
57
|
+
2. 在 `AgentAuditPhase` 联合类型中新增需要的字面量
|
|
58
|
+
|
|
59
|
+
**产出**:
|
|
60
|
+
- [ ] 验证并更新项目状态:本次审计打点清单已同步到 tasks.md Step 1 区域
|
|
61
|
+
|
|
62
|
+
| 字面量 | 使用场景 | Task |
|
|
63
|
+
|-------|---------|------|
|
|
64
|
+
| `NEW_PHASE` | 描述 | Task N |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Step 2:审计基础设施确认
|
|
69
|
+
|
|
70
|
+
**目的**:确认 `agentAudit()` 通道可用,无需新建 logger 文件。
|
|
71
|
+
|
|
72
|
+
**输入**:
|
|
73
|
+
- `src/lib/agent-audit-logger.ts`
|
|
74
|
+
- Step 1 的 AgentAuditPhase 扩展
|
|
75
|
+
|
|
76
|
+
**动作**:
|
|
77
|
+
1. 确认 `agentAudit(phase, detail, extra?)` 接受 Step 1 新增的字面量
|
|
78
|
+
2. 确认三通道输出正常(console + file + AuditLog 表)
|
|
79
|
+
3. 确认辅助函数可用(`agentAuditNodeStart/End/Error`、`agentAuditRetrieval` 等)
|
|
80
|
+
|
|
81
|
+
**产出**:
|
|
82
|
+
- [ ] 验证并更新项目状态:`agentAudit()` 通道确认可用,状态已同步到 checklist.md ADD 规则合规项
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Step 3:业务逻辑实现与审计植入
|
|
87
|
+
|
|
88
|
+
**目的**:按 Plan 的 Task 依赖拓扑,逐 Task 实施代码 + 嵌入审计点。
|
|
89
|
+
|
|
90
|
+
**输入**:
|
|
91
|
+
- Plan §3 修复方案(每个 Task 的改动文件、操作、代码模板)
|
|
92
|
+
- Plan §4 依赖与约束
|
|
93
|
+
- `tasks.md` 的 Task 清单
|
|
94
|
+
- Handoff 的 ADD-7 审计策略表
|
|
95
|
+
|
|
96
|
+
**动作**:
|
|
97
|
+
|
|
98
|
+
### §3.0 前置守卫(重型强制)
|
|
99
|
+
|
|
100
|
+
调用 `check_add_route_status` 确认 add-route 文件有效存在,不通过则禁止进入代码实现。
|
|
101
|
+
|
|
102
|
+
### Task 映射表
|
|
103
|
+
|
|
104
|
+
| # | Task | 文件 | 审计植入点 | 新增字面量 | 依赖 | 状态 |
|
|
105
|
+
|---|------|------|-----------|-----------|------|------|
|
|
106
|
+
| 1 | {Task名} | `file.ts` | `agentAudit("PHASE", ...)` | `PHASE_NAME` | 无 | ⬜ |
|
|
107
|
+
| 2 | {Task名} | `file.ts` | 无(结构变更) | — | Task 1 | ⬜ |
|
|
108
|
+
|
|
109
|
+
### 依赖拓扑
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Task N ──→ Task M(说明依赖原因)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### 每个 Task 完成后(重型强制执行)
|
|
116
|
+
|
|
117
|
+
1. 验证该 Task 的 checklist `[T]` 项
|
|
118
|
+
2. 调用 `record_dev_operation` 记录 ADD-7 审计
|
|
119
|
+
3. **验证并更新项目状态**:将该 Task 在 `tasks.md` 中逐子项勾选为 `[x]`
|
|
120
|
+
|
|
121
|
+
**产出**:
|
|
122
|
+
- [ ] 验证并更新项目状态:全部 Task 的 `[T]` 项通过,`tasks.md` 已完成项已逐项勾选
|
|
123
|
+
- [ ] 验证并更新项目状态:每个文件有 `record_dev_operation` 记录,`checklist.md` ADD-7 审计项已确认
|
|
124
|
+
- [ ] 验证并更新项目状态:调用 `check_spec_sync` 确认 spec 文档勾选状态与实际代码一致
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Step 3.5:实现审查
|
|
129
|
+
|
|
130
|
+
**目的**:代码完成后,验证意图与实现无语义鸿沟(ADD-10)。
|
|
131
|
+
|
|
132
|
+
**输入**:
|
|
133
|
+
- `checklist.md`
|
|
134
|
+
- `review-implementation-template.md`
|
|
135
|
+
|
|
136
|
+
**动作**:
|
|
137
|
+
1. 逐项执行 `checklist.md` 中所有 `[T]` 编译期检查项
|
|
138
|
+
2. 按 `checklist-template.md` 执行跨项目联调检查
|
|
139
|
+
3. 读取 `review-implementation-template.md`,生成 `review-implementation.md`
|
|
140
|
+
4. 所有 `[T]` 项通过后,生成 `review-runtime.md`(含 `[R]` 待验证清单)
|
|
141
|
+
5. **重型强制**:调用 `check_spec_sync` 确认 `tasks.md` / `checklist.md` 全部已完成项的勾选状态正确,不一致项立即同步更新
|
|
142
|
+
|
|
143
|
+
**产出**:
|
|
144
|
+
- [ ] 验证并更新项目状态:`checklist.md` 全部 `[T]` 项已通过并勾选
|
|
145
|
+
- [ ] 验证并更新项目状态:`review-implementation.md` 已生成
|
|
146
|
+
- [ ] 验证并更新项目状态:`review-runtime.md` 已生成(含 `[R]` 待验证清单)
|
|
147
|
+
- [ ] 验证并更新项目状态:`check_spec_sync` 通过——spec 文档勾选状态与代码一致
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Step 4:审计数据验证
|
|
152
|
+
|
|
153
|
+
**目的**:编译 + 审计完整性检查。
|
|
154
|
+
|
|
155
|
+
**输入**:
|
|
156
|
+
- 全部修改文件
|
|
157
|
+
- MCP 工具:`check_phase_symmetry`、`check_failure_path`、`check_spec_sync`
|
|
158
|
+
|
|
159
|
+
**动作**:
|
|
160
|
+
1. `npx tsc --noEmit` —— 零类型错误
|
|
161
|
+
2. `npm run lint` —— 无新增 lint 问题
|
|
162
|
+
3. 调用 `check_phase_symmetry` 验证打点标记完整性
|
|
163
|
+
4. 调用 `check_failure_path` 验证失败路径审计等价(ADD-6)
|
|
164
|
+
5. **重型强制**:调用 `check_spec_sync` 确认 spec 文档与实际代码一致
|
|
165
|
+
|
|
166
|
+
**产出**:
|
|
167
|
+
- [ ] `tsc --noEmit` 通过
|
|
168
|
+
- [ ] `npm run lint` 通过
|
|
169
|
+
- [ ] 对称性验证通过
|
|
170
|
+
- [ ] 失败路径审计等价验证通过
|
|
171
|
+
- [ ] 验证并更新项目状态:`check_spec_sync` 通过,checklist.md 编译检查项已同步勾选
|
|
172
|
+
|
|
173
|
+
### §4.6 RAHS 闸门(下游执行健康度校验)
|
|
174
|
+
|
|
175
|
+
> **重型强制**:Step 4 各项检查完成后,调用 `check_rahs` 量化本轮注意力漂移程度。范围扩散 + 审计漏记 + 类型错误是最常见的漂移信号。
|
|
176
|
+
|
|
177
|
+
调用 `check_rahs({ planKeyword: "{planKeyword}" })`。
|
|
178
|
+
|
|
179
|
+
| RAHS | 判定 | 动作 |
|
|
180
|
+
|------|:--:|------|
|
|
181
|
+
| ≥ 90 | 🟢 | 进入 Step 5 |
|
|
182
|
+
| 70–89 | 🟡 | 自检:范围扩散?审计漏记?类型错误? |
|
|
183
|
+
| < 70 | 🔴 | 注意力漂移严重,返工回退 Step 3 |
|
|
184
|
+
|
|
185
|
+
- [ ] RAHS 已通过(≥ 90),可进入 Step 5
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Step 5:AI 自动合规检查
|
|
190
|
+
|
|
191
|
+
**目的**:扫描全部修改文件的 ADD-1~ADD-7 合规性。
|
|
192
|
+
|
|
193
|
+
**输入**:
|
|
194
|
+
- 全部修改文件的代码
|
|
195
|
+
- MCP 工具:`check_add_compliance`
|
|
196
|
+
|
|
197
|
+
**动作**:
|
|
198
|
+
1. 对每个修改文件调用 `check_add_compliance(code, projectPattern="event-based")`
|
|
199
|
+
2. 汇总合规报告,标注违规项和风险等级
|
|
200
|
+
|
|
201
|
+
**产出**:
|
|
202
|
+
- [ ] 验证并更新项目状态:合规报告已生成,违规项处理决策已记录
|
|
203
|
+
- [ ] 验证并更新项目状态:`checklist.md` ADD 规则合规检查项已同步勾选
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Step 6:从审计数据定位问题
|
|
208
|
+
|
|
209
|
+
> **仅当 Step 4/5 发现异常时进入。**
|
|
210
|
+
|
|
211
|
+
**目的**:根据审计日志定位问题根因。
|
|
212
|
+
|
|
213
|
+
**动作**:
|
|
214
|
+
1. 查询审计日志(`query_audit_logs` 或直接 grep)
|
|
215
|
+
2. 对照 Plan 验收到位情况
|
|
216
|
+
|
|
217
|
+
**产出**:
|
|
218
|
+
- [ ] 验证并更新项目状态:问题清单已记录(含文件路径和根因分析),已同步到 `tasks.md` 对应 Task 的异常标记
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Step 7:修复并验证
|
|
223
|
+
|
|
224
|
+
> **仅当 Step 6 发现问题时进入。**
|
|
225
|
+
|
|
226
|
+
**动作**:
|
|
227
|
+
1. 按问题优先级逐个修复
|
|
228
|
+
2. 修复后回到 Step 4 重新验证
|
|
229
|
+
|
|
230
|
+
**产出**:
|
|
231
|
+
- [ ] 验证并更新项目状态:所有问题已修复,`checklist.md` 回归验证项已重新勾选
|
|
232
|
+
- [ ] 验证并更新项目状态:Step 4/5 复验通过
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Step 8:收敛判断 + Handoff 更新 + Step 0 第二部分
|
|
237
|
+
|
|
238
|
+
**目的**:功能收敛判定,更新 Handoff,回到架构文档做最终校准。
|
|
239
|
+
|
|
240
|
+
**输入**:
|
|
241
|
+
- Handoff 文档
|
|
242
|
+
- 架构文档(`docs/*/knowledge/01-架构/`)
|
|
243
|
+
- `checklist.md` 最终状态
|
|
244
|
+
|
|
245
|
+
**动作**:
|
|
246
|
+
1. **收敛判断**:全部 `[T]` 项通过 + `[R]` 清单已生成 + RAHS ≥ 90 → 功能收敛
|
|
247
|
+
2. **RAHS 最终核定**:调用 `check_rahs({ planKeyword: "{planKeyword}" })`,RAHS ≥ 90 方可收敛,< 90 回退修复
|
|
248
|
+
3. **验证并更新项目状态**:`tasks.md` 全部 Task 已完成 + 全部子项已勾选,`checklist.md` 全部可验证项已勾选
|
|
249
|
+
4. **验证并更新项目状态**:调用 `check_spec_sync` 做最终交叉校验——Plan 预期、spec 勾选状态、git diff 实际变更、ADD-7 审计记录四者一致
|
|
250
|
+
5. **Handoff 更新**:更新 Handoff 的 §7(实际产出与偏离)、§8(验证结果)、§9(后置确认)
|
|
251
|
+
6. **Step 0 第二部分**:回架构文档做最终校准——验证 `{{docsDir}}/knowledge/01-架构/` 下相关文档已反映变更
|
|
252
|
+
7. **ADD-7 回查**:`query_audit_logs` 确认全部 `record_dev_operation` 记录已落库,按 action/targetId 交叉验证
|
|
253
|
+
|
|
254
|
+
**产出**:
|
|
255
|
+
- [ ] 验证并更新项目状态:收敛判定结果
|
|
256
|
+
- [ ] 验证并更新项目状态:`tasks.md` + `checklist.md` 全部完成项已勾选
|
|
257
|
+
- [ ] 验证并更新项目状态:`check_spec_sync` 四者一致确认
|
|
258
|
+
- [ ] 验证并更新项目状态:Handoff 已更新
|
|
259
|
+
- [ ] 验证并更新项目状态:架构文档已校准
|
|
260
|
+
- [ ] 验证并更新项目状态:ADD-7 审计记录已落库确认
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Step 9:Report Closure(运行时发现关闭 — 条件性操作)
|
|
265
|
+
|
|
266
|
+
**目的**:仅 runtime-fix plan 执行。关闭 gateway.md 运行时发现。
|
|
267
|
+
|
|
268
|
+
**输入**:
|
|
269
|
+
- `report-handoff-template.md`
|
|
270
|
+
- `gateway.md`
|
|
271
|
+
|
|
272
|
+
**动作**:
|
|
273
|
+
1. 按 `report-handoff-template.md` 在 handoff 中追加 Report Closure 章节
|
|
274
|
+
2. 在 gateway.md 中为被修复的发现追加 `- [x]` 标记
|
|
275
|
+
3. 运行 `npx tsx scripts/check-boundary-report.ts` 验证关闭
|
|
276
|
+
|
|
277
|
+
**产出**:
|
|
278
|
+
- [ ] 验证并更新项目状态:handoff 已追加 Report Closure 章节
|
|
279
|
+
- [ ] 验证并更新项目状态:gateway.md 发现已追加 `- [x]` 标记
|
|
280
|
+
- [ ] 验证并更新项目状态:`check-boundary-report.ts` 已关闭类型无残留
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## 附录:文件清单
|
|
285
|
+
|
|
286
|
+
| 文件 | 操作 | Task | targetType | ADD-7 状态 |
|
|
287
|
+
|------|------|------|-----------|------------|
|
|
288
|
+
| `path/to/file.ts` | MODIFY | Task N | TYPE | ⬜ |
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# {需求域名}-{核心内容}-add-route-v{版本号}
|
|
2
|
+
|
|
3
|
+
> **定位**:Plan → ADD Step执行映射。不重复 Plan 的架构设计和 Specs 的任务细节——只定义每个 ADD Step 在本 Plan 中的具体动作、输入、产出。
|
|
4
|
+
>
|
|
5
|
+
> **绑定**:Plan: `{plan-path}` · Spec: `{spec-path}` · Tasks: `{tasks-path}` · Handoff: `{handoff-path}`
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Step 0:文档先行(Documentation First)
|
|
10
|
+
|
|
11
|
+
**目的**:代码动工前,确认 Plan + Specs + Handoff 三元组齐全,项目文档反映即将实现的变更。
|
|
12
|
+
|
|
13
|
+
**输入**:
|
|
14
|
+
- 上游 Review(触发来源)
|
|
15
|
+
- Plan 文档
|
|
16
|
+
- 规划说明书、架构文档等项目知识库
|
|
17
|
+
|
|
18
|
+
**动作**:
|
|
19
|
+
1. 确认 Specs 三元组就绪:`spec.md` + `tasks.md` + `checklist.md`
|
|
20
|
+
2. 调用 `find_related_docs` 检索受影响的架构/规范/需求文档
|
|
21
|
+
3. 按检索结果更新项目文档(`docs/*/knowledge/`),或声明"本次变更无需更新项目文档"并说明理由
|
|
22
|
+
4. 确认 Handoff 就绪(含 round 边界、ADD-7 策略表、回滚方案)
|
|
23
|
+
|
|
24
|
+
**产出**:
|
|
25
|
+
- [ ] Specs 三元组路径确认
|
|
26
|
+
- [ ] 项目文档更新(或无需更新声明)
|
|
27
|
+
- [ ] Handoff 就绪
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Step 1:功能分析与审计打点定义
|
|
32
|
+
|
|
33
|
+
**目的**:定义本次变更涉及的所有审计打点,扩展 `AgentAuditPhase`。
|
|
34
|
+
|
|
35
|
+
**输入**:
|
|
36
|
+
- Plan §3 的 Task 列表
|
|
37
|
+
- `src/lib/agent-audit-logger.ts` 当前 `AgentAuditPhase` 联合类型
|
|
38
|
+
|
|
39
|
+
**动作**:
|
|
40
|
+
1. 列出本次变更涉及的所有业务环节
|
|
41
|
+
2. 在 `AgentAuditPhase` 联合类型中新增需要的字面量
|
|
42
|
+
|
|
43
|
+
**产出**:
|
|
44
|
+
- [ ] 本次审计打点清单(含 字面量名和使用场景)
|
|
45
|
+
|
|
46
|
+
| 字面量 | 使用场景 | Task |
|
|
47
|
+
|-------|---------|------|
|
|
48
|
+
| `NEW_PHASE` | 描述 | Task N |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Step 2:审计基础设施确认
|
|
53
|
+
|
|
54
|
+
**目的**:确认 `agentAudit()` 通道可用,无需新建 logger 文件。
|
|
55
|
+
|
|
56
|
+
**输入**:
|
|
57
|
+
- `src/lib/agent-audit-logger.ts`
|
|
58
|
+
- Step 1 的 AgentAuditPhase 扩展
|
|
59
|
+
|
|
60
|
+
**动作**:
|
|
61
|
+
1. 确认 `agentAudit(phase, detail, extra?)` 接受 Step 1 新增的字面量
|
|
62
|
+
2. 确认三通道输出正常(console + file + AuditLog 表)
|
|
63
|
+
3. 确认辅助函数可用(`agentAuditNodeStart/End/Error`、`agentAuditRetrieval` 等)
|
|
64
|
+
|
|
65
|
+
**产出**:
|
|
66
|
+
- [ ] `agentAudit()` 通道确认可用
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Step 3:业务逻辑实现与审计植入
|
|
71
|
+
|
|
72
|
+
**目的**:按 Plan 的 Task 依赖拓扑,逐 Task 实施代码 + 嵌入审计点。
|
|
73
|
+
|
|
74
|
+
**输入**:
|
|
75
|
+
- Plan §3 修复方案(每个 Task 的改动文件、操作、代码模板)
|
|
76
|
+
- Plan §4 依赖与约束
|
|
77
|
+
- `tasks.md` 的 Task 清单
|
|
78
|
+
- Handoff 的 ADD-7 审计策略表
|
|
79
|
+
|
|
80
|
+
**动作**:
|
|
81
|
+
|
|
82
|
+
### Task 映射表
|
|
83
|
+
|
|
84
|
+
| # | Task | 文件 | 审计植入点 | 新增字面量 | 依赖 | 状态 |
|
|
85
|
+
|---|------|------|-----------|-----------|------|------|
|
|
86
|
+
| 1 | {Task名} | `file.ts` | `agentAudit("PHASE", ...)` | `PHASE_NAME` | 无 | ⬜ |
|
|
87
|
+
| 2 | {Task名} | `file.ts` | 无(结构变更) | — | Task 1 | ⬜ |
|
|
88
|
+
|
|
89
|
+
### 依赖拓扑
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Task N ──→ Task M(说明依赖原因)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 每个 Task 完成后
|
|
96
|
+
|
|
97
|
+
1. 验证该 Task 的 checklist `[T]` 项
|
|
98
|
+
2. 调用 `record_dev_operation` 记录 ADD-7 审计
|
|
99
|
+
|
|
100
|
+
**产出**:
|
|
101
|
+
- [ ] 全部 Task 的 `[T]` 项通过
|
|
102
|
+
- [ ] 每个文件有 `record_dev_operation` 记录
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Step 3.5:实现审查
|
|
107
|
+
|
|
108
|
+
**目的**:代码完成后,验证意图与实现无语义鸿沟(ADD-10)。
|
|
109
|
+
|
|
110
|
+
**输入**:
|
|
111
|
+
- `checklist.md`
|
|
112
|
+
- `review-implementation-template.md`
|
|
113
|
+
|
|
114
|
+
**动作**:
|
|
115
|
+
1. 逐项执行 `checklist.md` 中所有 `[T]` 编译期检查项
|
|
116
|
+
2. 按 `checklist-template.md` 执行跨项目联调检查
|
|
117
|
+
3. 读取 `review-implementation-template.md`,生成 `review-implementation.md`
|
|
118
|
+
4. 所有 `[T]` 项通过后,生成 `review-runtime.md`(含 `[R]` 待验证清单)
|
|
119
|
+
|
|
120
|
+
**产出**:
|
|
121
|
+
- [ ] `checklist.md` 全部 `[T]` 项已通过
|
|
122
|
+
- [ ] `review-implementation.md` 已生成
|
|
123
|
+
- [ ] `review-runtime.md` 已生成
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Step 4:审计数据验证
|
|
128
|
+
|
|
129
|
+
**目的**:编译 + 审计完整性检查。
|
|
130
|
+
|
|
131
|
+
**输入**:
|
|
132
|
+
- 全部修改文件
|
|
133
|
+
- MCP 工具:`check_phase_symmetry`、`check_failure_path`
|
|
134
|
+
|
|
135
|
+
**动作**:
|
|
136
|
+
1. `npx tsc --noEmit` —— 零类型错误
|
|
137
|
+
2. `npm run lint` —— 无新增 lint 问题
|
|
138
|
+
3. 调用 `check_phase_symmetry` 验证打点标记完整性
|
|
139
|
+
4. 调用 `check_failure_path` 验证失败路径审计等价(ADD-6)
|
|
140
|
+
|
|
141
|
+
**产出**:
|
|
142
|
+
- [ ] `tsc --noEmit` 通过
|
|
143
|
+
- [ ] `npm run lint` 通过
|
|
144
|
+
- [ ] 对称性验证通过
|
|
145
|
+
- [ ] 失败路径审计等价验证通过
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Step 5:AI 自动合规检查
|
|
150
|
+
|
|
151
|
+
**目的**:扫描全部修改文件的 ADD-1~ADD-7 合规性。
|
|
152
|
+
|
|
153
|
+
**输入**:
|
|
154
|
+
- 全部修改文件的代码
|
|
155
|
+
- MCP 工具:`check_add_compliance`
|
|
156
|
+
|
|
157
|
+
**动作**:
|
|
158
|
+
1. 对每个修改文件调用 `check_add_compliance(code, projectPattern="event-based")`
|
|
159
|
+
2. 汇总合规报告,标注违规项和风险等级
|
|
160
|
+
|
|
161
|
+
**产出**:
|
|
162
|
+
- [ ] 合规报告已生成
|
|
163
|
+
- [ ] 所有违规项有处理决策(修复/豁免/记录)
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Step 6:从审计数据定位问题
|
|
168
|
+
|
|
169
|
+
> **仅当 Step 4/5 发现异常时进入。**
|
|
170
|
+
|
|
171
|
+
**目的**:根据审计日志定位问题根因。
|
|
172
|
+
|
|
173
|
+
**动作**:
|
|
174
|
+
1. 查询审计日志(`query_audit_logs` 或直接 grep)
|
|
175
|
+
2. 对照 Plan 验收到位情况
|
|
176
|
+
|
|
177
|
+
**产出**:
|
|
178
|
+
- [ ] 问题清单(含文件路径和根因分析)
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Step 7:修复并验证
|
|
183
|
+
|
|
184
|
+
> **仅当 Step 6 发现问题时进入。**
|
|
185
|
+
|
|
186
|
+
**动作**:
|
|
187
|
+
1. 按问题优先级逐个修复
|
|
188
|
+
2. 修复后回到 Step 4 重新验证
|
|
189
|
+
|
|
190
|
+
**产出**:
|
|
191
|
+
- [ ] 所有问题已修复
|
|
192
|
+
- [ ] Step 4/5 复验通过
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Step 8:收敛判断 + Handoff 更新 + Step 0 第二部分
|
|
197
|
+
|
|
198
|
+
**目的**:功能收敛判定,更新 Handoff,回到架构文档做最终校准。
|
|
199
|
+
|
|
200
|
+
**输入**:
|
|
201
|
+
- Handoff 文档
|
|
202
|
+
- 架构文档(`docs/*/knowledge/01-架构/`)
|
|
203
|
+
|
|
204
|
+
**动作**:
|
|
205
|
+
1. **收敛判断**:全部 `[T]` 项通过 + `[R]` 清单已生成 → 功能收敛
|
|
206
|
+
2. **Handoff 更新**:更新 Handoff 的 §7(实际产出与偏离)、§8(验证结果)、§9(后置确认)
|
|
207
|
+
3. **Step 0 第二部分**:回架构文档做最终校准——验证 `{{docsDir}}/knowledge/01-架构/` 下相关文档已反映变更
|
|
208
|
+
4. **ADD-7 回查**:`query_audit_logs` 确认全部 `record_dev_operation` 记录已落库,按 action/targetId 交叉验证
|
|
209
|
+
|
|
210
|
+
**产出**:
|
|
211
|
+
- [ ] 收敛判定结果
|
|
212
|
+
- [ ] Handoff 已更新
|
|
213
|
+
- [ ] 架构文档已校准
|
|
214
|
+
- [ ] ADD-7 审计记录已落库确认
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Step 9:Report Closure(运行时发现关闭 — 条件性操作)
|
|
219
|
+
|
|
220
|
+
**目的**:仅 runtime-fix plan 执行。关闭 gateway.md 运行时发现。
|
|
221
|
+
|
|
222
|
+
**输入**:
|
|
223
|
+
- `report-handoff-template.md`
|
|
224
|
+
- `gateway.md`
|
|
225
|
+
|
|
226
|
+
**动作**:
|
|
227
|
+
1. 按 `report-handoff-template.md` 在 handoff 中追加 Report Closure 章节
|
|
228
|
+
2. 在 gateway.md 中为被修复的发现追加 `- [x]` 标记
|
|
229
|
+
3. 运行 `npx tsx scripts/check-boundary-report.ts` 验证关闭
|
|
230
|
+
|
|
231
|
+
**产出**:
|
|
232
|
+
- [ ] handoff 已追加 Report Closure 章节
|
|
233
|
+
- [ ] gateway.md 发现已追加 `- [x]` 标记
|
|
234
|
+
- [ ] `check-boundary-report.ts` 已关闭类型无残留
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 附录:文件清单
|
|
239
|
+
|
|
240
|
+
| 文件 | 操作 | Task | targetType | ADD-7 状态 |
|
|
241
|
+
|------|------|------|-----------|------------|
|
|
242
|
+
| `path/to/file.ts` | MODIFY | Task N | TYPE | ⬜ |
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "add-route-template.md",
|
|
3
|
+
"shared_by": [
|
|
4
|
+
"add-route-template.md",
|
|
5
|
+
"add-route-template-heavyweight.md"
|
|
6
|
+
],
|
|
7
|
+
"sections": [
|
|
8
|
+
{
|
|
9
|
+
"id": "step0",
|
|
10
|
+
"heading": "## Step 0",
|
|
11
|
+
"required": true
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": "step3",
|
|
15
|
+
"heading": "## Step 3",
|
|
16
|
+
"required": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "step8",
|
|
20
|
+
"heading": "## Step 8",
|
|
21
|
+
"required": true
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"placeholders": [
|
|
25
|
+
"{需求域名}",
|
|
26
|
+
"{核心内容}",
|
|
27
|
+
"{版本号}"
|
|
28
|
+
],
|
|
29
|
+
"forbidden_terms": [
|
|
30
|
+
"Phase",
|
|
31
|
+
"Round",
|
|
32
|
+
"轮次",
|
|
33
|
+
"阶段"
|
|
34
|
+
]
|
|
35
|
+
}
|