@namewta/speculo 1.0.18 → 1.0.19
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/package.json +5 -2
- package/template/canonical/canonical-specdev-goal-plan.md +2 -2
- package/template/canonical/canonical-specdev-grill-with-docs.md +2 -2
- package/template/canonical/canonical-specdev-spec.md +11 -136
- package/template/canonical/canonical-specdev-tickets.md +2 -2
- package/template/canonical/canonical-specdev-wayfinder.md +2 -2
- package/template/commands/handoff.md +16 -0
- package/template/commands/retro.md +1 -1
- package/template/skills/github-npm-ops/references/issue-pr-triage.md +8 -0
- package/template/skills/speculo-retro/references/entry-procedure.md +19 -3
- package/template/skills/speculo-retro/references/issue-drafting-sop.md +3 -1
- package/template/workflows/learning/A-archive/A-archive.md +2 -5
- package/template/workflows/learning/A-assess-and-plan/A-assess-and-plan.md +2 -5
- package/template/workflows/learning/C-consolidate/C-consolidate.md +2 -5
- package/template/workflows/learning/G-goal/G-goal.md +5 -23
- package/template/workflows/learning/H-homework/H-homework.md +2 -5
- package/template/workflows/learning/I-init-setup/I-init-setup.md +4 -9
- package/template/workflows/learning/L-lesson/L-lesson.md +2 -5
- package/template/workflows/learning/Q-question/Q-question.md +16 -8
- package/template/workflows/learning/Q-question/inquiry-template.md +2 -0
- package/template/workflows/learning/Q-question/tools/validate-inquiry.mjs +112 -0
- package/template/workflows/learning/R-review/R-review.md +3 -6
- package/template/workflows/learning/README.md +2 -2
- package/template/workflows/learning/common/rules/knowledge-organization.md +1 -1
- package/template/workflows/learning/common/rules/mastery-policy.md +1 -1
- package/template/workflows/learning/common/skills/socratic-questioning/SKILL.md +1 -1
- package/template/workflows/ops/D-project-deploy/D-project-deploy.md +6 -2
- package/template/workflows/ops/H-host-manage/H-host-manage.md +10 -18
- package/template/workflows/ops/H-host-manage/references/host-profiles.md +21 -0
- package/template/workflows/ops/I-initialize/I-initialize.md +4 -4
- package/template/workflows/ops/README.md +22 -84
- package/template/workflows/ops/S-server-connect/S-server-connect.md +3 -3
- package/template/workflows/ops/V-inventory-view/V-inventory-view.md +2 -2
- package/template/workflows/ops/common/rules/deployment-layout.md +51 -0
- package/template/workflows/ops/common/rules/recovery.md +6 -0
- package/template/workflows/ops/common/rules/server-onboarding.md +6 -0
- package/template/workflows/person/M-mao-zedong-cognitive-os/M-mao-zedong-cognitive-os.md +13 -68
- package/template/workflows/person/S-steelman-deliberation/S-steelman-deliberation.md +11 -123
- package/template/workflows/person/S-steelman-deliberation/references/state-and-publication.md +86 -0
- package/template/workflows/specdev/A-archive-and-consolidate/A-archive-and-consolidate.md +2 -17
- package/template/workflows/specdev/A-archive-and-consolidate/consolidation-interview.md +10 -1
- package/template/workflows/specdev/C-code-review/C-code-review.md +3 -14
- package/template/workflows/specdev/C-code-review/code-review-template.md +4 -0
- package/template/workflows/specdev/D-diagnose-bugs/D-diagnose-bugs.md +1 -23
- package/template/workflows/specdev/G-grill-with-docs/G-grill-with-docs.md +2 -2
- package/template/workflows/specdev/I-implement/I-implement.md +2 -2
- package/template/workflows/specdev/I-implement/evidence-template.md +8 -0
- package/template/workflows/specdev/I-implement/references/implementation-procedure.md +8 -42
- package/template/workflows/specdev/I-init-setup/I-init-setup.md +16 -117
- package/template/workflows/specdev/I-init-setup/references/first-setup.md +46 -0
- package/template/workflows/specdev/L-learn-change/L-learn-change.md +11 -89
- package/template/workflows/specdev/L-learn-change/references/lesson-format.md +47 -0
- package/template/workflows/specdev/P-goal-plan/P-goal-plan.md +2 -2
- package/template/workflows/specdev/P-prototype/P-prototype.md +2 -16
- package/template/workflows/specdev/R-review-architecture/R-review-architecture.md +19 -57
- package/template/workflows/specdev/R-review-architecture/architecture-review-template.md +2 -1
- package/template/workflows/specdev/R-review-architecture/references/selected-design.md +23 -0
- package/template/workflows/specdev/R-review-architecture/review-rubric.md +2 -2
- package/template/workflows/specdev/README.md +4 -4
- package/template/workflows/specdev/S-spec/S-spec.md +11 -138
- package/template/workflows/specdev/T-tickets/T-tickets.md +2 -2
- package/template/workflows/specdev/T-triage/T-triage.md +21 -136
- package/template/workflows/specdev/T-triage/intake-protocol.md +19 -0
- package/template/workflows/specdev/W-wayfinder/W-wayfinder.md +2 -2
- package/template/workflows/specdev/common/rules/deployment-handoff.md +23 -0
- package/template/workflows/specdev/common/skills/code-review/SKILL.md +5 -4
- package/template/workflows/specdev/common/skills/code-review/references/result-reuse.md +15 -0
|
@@ -9,67 +9,25 @@ keywords: [毛泽东, 毛选, 矛盾分析, 战略, 组织, 咨询]
|
|
|
9
9
|
|
|
10
10
|
# 毛泽东 · 认知操作系统
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
以特定方法论开展“分析问题—制定战略—组织行动”咨询,产物只写当前 person change。激活时读取 `<Path>{roots.workflows}/person/INDEX.md</Path>` 与 `<Path>{roots.workflows}/person/common/rules/activation-and-memory.md</Path>`;Person 没有 README,不加载其他 phase 或整套书籍。
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## 按阶段推进
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
2. 再读取 `<Path>{roots.workflows}/person/common/rules/activation-and-memory.md</Path>`,按当前分支、状态和关键词定位最小相关工件。
|
|
18
|
-
3. 只在本 Work 明确要求恢复、冲突、执行安全或归档证据时扩展为全量读取;缺少匹配证据或 owner/gateway 时停止受影响分支。
|
|
16
|
+
下表有序且硬依赖:上一阶段产物完成、验证后才进入下一阶段。每个阶段只读取自己的入口,角色、声音、模型和引用纪律由该入口及其参考单点维护。
|
|
19
17
|
|
|
20
|
-
|
|
18
|
+
| 阶段 | 进入时读取 | 产物与可判定完成门 |
|
|
19
|
+
|---|---|---|
|
|
20
|
+
| 1 激活与问诊 | `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/activate.md</Path>` | `<Path>{roots.state}/person/changes/{change}/problem-statement.md</Path>`:首次激活声明;开口三问中至少追问两题且用户回应;问题类型和主框架确定;六段填实 |
|
|
21
|
+
| 2 诊断分析 | `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/diagnose.md</Path>` | `<Path>{roots.state}/person/changes/{change}/analysis.md</Path>`:至少两个 Module A 模型;必过 A1,二手信息过 A3,多方利益过 A6;每个结论含条件/局限,主要矛盾有论证 |
|
|
22
|
+
| 3 战略制定 | `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/strategize.md</Path>` | `<Path>{roots.state}/person/changes/{change}/strategy.md</Path>`:沿定性→定向→站位→时间→投放→运用展开主框架;必要辅助框架;至少两阶段及明确关键战役 |
|
|
23
|
+
| 4 组织行动 | `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/mobilize.md</Path>` | `<Path>{roots.state}/person/changes/{change}/action-plan.md</Path>`:行动、责任人、期限、完成条件、失败处置与反馈机制明确 |
|
|
24
|
+
| 5 综合交付 | `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/deliver.md</Path>` | `<Path>{roots.state}/person/changes/{change}/consultation-output.md</Path>`:按交付模板整合四阶段,教员第一人称、五拍论证、收尾四动作、反模式检查与内在张力标注;全部原文引用有篇目出处 |
|
|
21
25
|
|
|
26
|
+
每项产物回读后必须无残留 `[TODO:]`;缺少用户回应、阶段证据或原文出处时保留当前阶段,不用后续产物掩盖缺口。
|
|
22
27
|
|
|
23
|
-
##
|
|
28
|
+
## 引用检索
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
委托给 `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/activate.md</Path>`。输出首次激活声明,通过开口三问摸清用户处境,判定问题类型并匹配主框架。
|
|
28
|
-
|
|
29
|
-
产物:`<Path>{roots.state}/person/changes/{change}/problem-statement.md</Path>`
|
|
30
|
-
|
|
31
|
-
**完成标准**:首次激活声明已输出,至少已追问 2 个开口问题且用户已回应,问题类型与主框架已匹配,problem-statement.md 六段均已填写无残留 `[TODO:]`。
|
|
32
|
-
|
|
33
|
-
### 2. 诊断分析
|
|
34
|
-
|
|
35
|
-
依赖步骤 1 的 problem-statement.md。委托给 `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/diagnose.md</Path>`。从 Module A 八模型中选用至少 2 个进行诊断——所有问题必过 A1(矛盾分析);信息来自二手必过 A3(调查研究);涉及多方利益必过 A6(结构分析)。
|
|
36
|
-
|
|
37
|
-
产物:`<Path>{roots.state}/person/changes/{change}/analysis.md</Path>`
|
|
38
|
-
|
|
39
|
-
**完成标准**:已应用至少 2 个 Module A 模型,每个模型结论带条件与局限,主要矛盾已明确写出且带论证,analysis.md 无残留 `[TODO:]`。
|
|
40
|
-
|
|
41
|
-
### 3. 战略制定
|
|
42
|
-
|
|
43
|
-
依赖步骤 2 的 analysis.md。委托给 `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/strategize.md</Path>`。沿元框架流水线(定性→定向→站位→时间→投放→运用)展开主框架,必要时补充辅助框架。
|
|
44
|
-
|
|
45
|
-
产物:`<Path>{roots.state}/person/changes/{change}/strategy.md</Path>`
|
|
46
|
-
|
|
47
|
-
**完成标准**:主框架已选定并充分展开,阶段划分清晰(至少分两步),有明确的关键战役判断,strategy.md 无残留 `[TODO:]`。
|
|
48
|
-
|
|
49
|
-
### 4. 组织行动
|
|
50
|
-
|
|
51
|
-
依赖步骤 3 的 strategy.md。委托给 `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/mobilize.md</Path>`。将战略转化为具体行动方案——谁来干、干什么、什么时候干完、干到什么程度算好、干砸了怎么办。
|
|
52
|
-
|
|
53
|
-
产物:`<Path>{roots.state}/person/changes/{change}/action-plan.md</Path>`
|
|
54
|
-
|
|
55
|
-
**完成标准**:行动、责任与反馈机制已明确,action-plan.md 无残留 `[TODO:]`。
|
|
56
|
-
|
|
57
|
-
### 5. 综合交付
|
|
58
|
-
|
|
59
|
-
依赖前四步全部产物。委托给 `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/deliver.md</Path>`。按模板 `../_templates/mao-consultation-output-template.md` 整合为连贯的教员第一人称咨询输出——五拍论证节奏、收尾四动作、引用纪律、反模式检查和内在张力标注。
|
|
60
|
-
|
|
61
|
-
产物:`<Path>{roots.state}/person/changes/{change}/consultation-output.md</Path>`
|
|
62
|
-
|
|
63
|
-
**完成标准**:已整合四阶段产物为连贯的教员第一人称咨询输出,五拍论证节奏可辨识,收尾四动作齐全,所有毛泽东原文引用均带篇目出处,反模式检查通过,consultation-output.md 无残留 `[TODO:]`。
|
|
64
|
-
|
|
65
|
-
## 依赖关系
|
|
66
|
-
|
|
67
|
-
- 步骤 2「诊断分析」依赖步骤 1「激活与问诊」
|
|
68
|
-
- 步骤 3「战略制定」依赖步骤 2「诊断分析」
|
|
69
|
-
- 步骤 4「组织行动」依赖步骤 3「战略制定」
|
|
70
|
-
- 步骤 5「综合交付」依赖步骤 4「组织行动」
|
|
71
|
-
|
|
72
|
-
所有步骤为硬依赖——前一产物必须完成并验证后才能进入下一步。
|
|
30
|
+
需要引用时,先读当前 phase 的 framework index,再在 `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/references/research/15-quote-bank.md</Path>` 定位篇目编号,最后仅回读匹配的原文。目录映射查询 `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/books/README.md</Path>`;无匹配证据则停止该引用或依赖结论,不扫描整套书籍。
|
|
73
31
|
|
|
74
32
|
## 状态追踪
|
|
75
33
|
|
|
@@ -82,16 +40,3 @@ keywords: [毛泽东, 毛选, 矛盾分析, 战略, 组织, 咨询]
|
|
|
82
40
|
- **`methods_applied`**(数组)—— 组织阶段已应用的 Module C 方法列表
|
|
83
41
|
- **`quotes_cited`**(数组)—— 已引用的毛泽东原话及出处
|
|
84
42
|
- **`consultation_status`**(字符串)—— 当前阶段:`activating` → `diagnosing` → `strategizing` → `mobilizing` → `delivering` → `completed`
|
|
85
|
-
|
|
86
|
-
## 渐进披露
|
|
87
|
-
|
|
88
|
-
角色、声音、模型和引用规则继续由各 phase 文件及其相对引用拥有;未进入 phase 时不加载对应材料。
|
|
89
|
-
|
|
90
|
-
| 文件 | 触发条件 |
|
|
91
|
-
|------|----------|
|
|
92
|
-
| `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/activate.md</Path>` | 步骤 1「激活与问诊」进入时 |
|
|
93
|
-
| `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/diagnose.md</Path>` | 步骤 2「诊断分析」进入时 |
|
|
94
|
-
| `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/strategize.md</Path>` | 步骤 3「战略制定」进入时 |
|
|
95
|
-
| `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/mobilize.md</Path>` | 步骤 4「组织行动」进入时 |
|
|
96
|
-
| `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/deliver.md</Path>` | 步骤 5「综合交付」进入时 |
|
|
97
|
-
| `<Path>{roots.workflows}/person/M-mao-zedong-cognitive-os/books/README.md</Path>` | 需要查原文时——引语库 `references/research/15-quote-bank.md` 映射篇目编号到 books 目录 |
|
|
@@ -9,39 +9,13 @@ keywords: [双向钢人, steelman, 决策, 反谄媚, 关键变量, 明确判断
|
|
|
9
9
|
|
|
10
10
|
# 双向钢人论证
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
重述用户真正的问题,分别形成支持与反对当前倾向的最强可信论证,找出分歧和关键变量,只关闭一个最高价值的不确定性,再给出明确判断与可验证行动。不以虚假平衡、迎合立场或通用建议替代判断。
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
激活时读取 `<Path>{roots.workflows}/person/INDEX.md</Path>` 与 `<Path>{roots.workflows}/person/common/rules/activation-and-memory.md</Path>`;Person 不使用不存在的 README。
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
2. 使用钢人论证法,分别给出支持当前想法与反对它的最强论证;
|
|
18
|
-
3. 找出双方真正的分歧,以及最可能改变结论的关键变量;
|
|
19
|
-
4. 只问用户一个最关键的问题;等用户回答后,再给出明确判断、理由和下一步行动。
|
|
16
|
+
## 输入与权威
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
1. 先读取 `<Path>{roots.workflows}/person/INDEX.md</Path>` 与当前 Work 的状态入口;Person 使用整文件 INDEX,不加载不存在的 README。
|
|
24
|
-
2. 再读取 `<Path>{roots.workflows}/person/common/rules/activation-and-memory.md</Path>`,按当前分支、状态和关键词定位最小相关工件。
|
|
25
|
-
3. 只在本 Work 明确要求恢复、冲突、执行安全或归档证据时扩展为全量读取;缺少匹配证据或 owner/gateway 时停止受影响分支。
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
## 输入、权威与边界
|
|
29
|
-
|
|
30
|
-
### 必需输入
|
|
31
|
-
|
|
32
|
-
- 一个需要选择、判断、取舍、排序或制定策略的具体问题。
|
|
33
|
-
|
|
34
|
-
缺失可识别问题,或输入只是无需权衡的事实查询时,返回 `blocked-input`,说明缺少什么,不制造虚假争论。
|
|
35
|
-
|
|
36
|
-
### 可选输入
|
|
37
|
-
|
|
38
|
-
- 用户当前倾向、候选方案与反对意见;
|
|
39
|
-
- 时间窗口、预算、资源、风险和不可逆约束;
|
|
40
|
-
- 已知事实、项目材料、证据或外部来源;
|
|
41
|
-
- 用户已经明确的目标、价值排序和成功标准;
|
|
42
|
-
- 调用方显式提供的 `{change}`。
|
|
43
|
-
|
|
44
|
-
不存在的可选输入静默跳过;已经明确的信息不得重复询问。
|
|
18
|
+
必需一个需要选择、判断、排序或策略的具体问题;缺失或只是无需权衡的事实查询时返回 `blocked-input`,不制造争论。按已知情况采用用户倾向、候选/反对意见、时间/预算/资源、不可逆约束、事实来源、价值目标和调用方 change;缺失的可选内容静默跳过,已明确信息不重复问。
|
|
45
19
|
|
|
46
20
|
### 权威顺序
|
|
47
21
|
|
|
@@ -64,7 +38,9 @@ keywords: [双向钢人, steelman, 决策, 反谄媚, 关键变量, 明确判断
|
|
|
64
38
|
|
|
65
39
|
它不修改其他 person work 的产物或 active 条目,不把运行时状态写回 `{roots.workflows}/person/_state/`,也不提交、推送、发布、部署或执行不可逆操作。
|
|
66
40
|
|
|
67
|
-
##
|
|
41
|
+
## 按持久化阶段执行
|
|
42
|
+
|
|
43
|
+
新建、恢复或状态写入前读取 `<Path>{roots.workflows}/person/S-steelman-deliberation/references/state-and-publication.md</Path>`,遵守 v1 字段、候选校验、原子替换顺序和未知字段保留;不得覆盖其他 Work。
|
|
68
44
|
|
|
69
45
|
### 1. 解析 roots,选择或恢复 change
|
|
70
46
|
|
|
@@ -94,23 +70,9 @@ keywords: [双向钢人, steelman, 决策, 反谄媚, 关键变量, 明确判断
|
|
|
94
70
|
|
|
95
71
|
### 3. 回答前的双向钢人化
|
|
96
72
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
若问题依赖会变化的公开事实、专业事实、冲突材料、代码/测试/配置,或属于医疗、法律、财务、安全等高风险领域,再读取 `<Path>{roots.workflows}/person/S-steelman-deliberation/evidence-gate.md</Path>`;可发现的事实先探索,不拿来问用户。
|
|
100
|
-
|
|
101
|
-
使用 `<Path>{roots.workflows}/person/S-steelman-deliberation/_templates/steelman-dossier-template.md</Path>` 在 change 目录下的唯一临时子目录中写入候选 dossier 与候选 `.status.json`,重读后运行:
|
|
73
|
+
仅在无有效 dossier 时读取 `<Path>{roots.workflows}/person/S-steelman-deliberation/deliberate.md</Path>`,完整重述问题、分层证据、正反钢人、分歧与关键变量,形成唯一关键问题。变化事实、专业事实、冲突材料、代码或高风险领域还须读 `<Path>{roots.workflows}/person/S-steelman-deliberation/evidence-gate.md</Path>`;可发现的事实先探索,不拿来问用户。
|
|
102
74
|
|
|
103
|
-
|
|
104
|
-
node <Path>{roots.workflows}/person/S-steelman-deliberation/tools/validate-steelman-change.mjs</Path> \
|
|
105
|
-
--phase awaiting-answer \
|
|
106
|
-
--change-dir <Path>{roots.state}/person/changes/{change}</Path> \
|
|
107
|
-
--dossier-file <Path>{roots.state}/person/changes/{change}/.steelman-stage/steelman-dossier.md</Path> \
|
|
108
|
-
--status-file <Path>{roots.state}/person/changes/{change}/.steelman-stage/.status.json</Path>
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
临时目录名在并发时追加唯一后缀。校验通过后,先原子替换正式 dossier,再原子替换 change `.status.json`;workflow active 只在步骤 4 确认需要等待用户时更新。校验失败时删除临时目录并保持正式工件和旧状态不变。
|
|
112
|
-
|
|
113
|
-
**完成标准**:dossier 是回答前的冻结快照;正反最强可信论证、真正分歧、关键变量和唯一问题均存在;没有最终判断或行动建议;校验退出码为 0。
|
|
75
|
+
按状态与发布合同的“回答前”分支创建、校验并发布 dossier;其中没有最终判断或行动建议,退出码必须为 0。该 dossier 随后冻结。
|
|
114
76
|
|
|
115
77
|
### 4. 只关闭一个最高价值的不确定性
|
|
116
78
|
|
|
@@ -132,73 +94,9 @@ node <Path>{roots.workflows}/person/S-steelman-deliberation/tools/validate-steel
|
|
|
132
94
|
|
|
133
95
|
### 5. 明确裁决并形成行动
|
|
134
96
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
使用 `<Path>{roots.workflows}/person/S-steelman-deliberation/_templates/decision-template.md</Path>` 在唯一临时目录中写入候选 decision 与候选完成态 `.status.json`,随后运行:
|
|
97
|
+
得到有效回答后原样保存,设置 `phase: judging`,再读取 `<Path>{roots.workflows}/person/S-steelman-deliberation/judge.md</Path>`。以冻结 dossier 和真实回答裁决,不重做迎合回答的新分析。
|
|
138
98
|
|
|
139
|
-
|
|
140
|
-
node <Path>{roots.workflows}/person/S-steelman-deliberation/tools/validate-steelman-change.mjs</Path> \
|
|
141
|
-
--phase completed \
|
|
142
|
-
--change-dir <Path>{roots.state}/person/changes/{change}</Path> \
|
|
143
|
-
--decision-file <Path>{roots.state}/person/changes/{change}/.steelman-stage/decision.md</Path> \
|
|
144
|
-
--status-file <Path>{roots.state}/person/changes/{change}/.steelman-stage/.status.json</Path>
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
校验通过后才原子替换正式 decision 和 change 状态,并只从 workflow `status.json.active` 删除匹配当前 `change` 且属于本 work 的条目。校验失败时删除临时目录、返回 `validation-failed`,保留可恢复的 `judging` 状态。
|
|
148
|
-
|
|
149
|
-
**完成标准**:decision 给出明确判断、决定性理由、对最强反方的回应、具体行动、反转条件及置信度;状态与工件一致;校验退出码为 0。
|
|
150
|
-
|
|
151
|
-
## 状态合同
|
|
152
|
-
|
|
153
|
-
### Workflow 状态
|
|
154
|
-
|
|
155
|
-
`<Path>{roots.state}/person/status.json</Path>` 保持 `schema_version: 1`,本 work 只管理 `active` 数组中的如下条目:
|
|
156
|
-
|
|
157
|
-
```json
|
|
158
|
-
{
|
|
159
|
-
"change": "2026-08-18-steelman-company-anniversary",
|
|
160
|
-
"work_id": "person/steelman-deliberation",
|
|
161
|
-
"phase": "awaiting-answer",
|
|
162
|
-
"updated_at": "2026-08-18T00:00:00.000Z"
|
|
163
|
-
}
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
读取—合并—写入时保留未知顶层字段、未知 entry 字段和其他 work 的全部条目。写临时文件、重读 JSON、再原子替换。
|
|
167
|
-
|
|
168
|
-
### Change 状态
|
|
169
|
-
|
|
170
|
-
`<Path>{roots.state}/person/changes/{change}/.status.json</Path>` 至少包含:
|
|
171
|
-
|
|
172
|
-
```json
|
|
173
|
-
{
|
|
174
|
-
"schema_version": 1,
|
|
175
|
-
"artifact": "person-work-status",
|
|
176
|
-
"workflow": "person",
|
|
177
|
-
"change": "2026-08-18-steelman-company-anniversary",
|
|
178
|
-
"work_id": "person/steelman-deliberation",
|
|
179
|
-
"status": "active",
|
|
180
|
-
"phase": "awaiting-answer",
|
|
181
|
-
"key_question": "[唯一关键问题]",
|
|
182
|
-
"key_question_asked": true,
|
|
183
|
-
"question_disposition": "asked",
|
|
184
|
-
"answer_received": false,
|
|
185
|
-
"user_answer": null,
|
|
186
|
-
"created_at": "2026-08-18T00:00:00.000Z",
|
|
187
|
-
"updated_at": "2026-08-18T00:00:00.000Z",
|
|
188
|
-
"completed_at": null,
|
|
189
|
-
"blockers": []
|
|
190
|
-
}
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
允许转换:
|
|
194
|
-
|
|
195
|
-
```text
|
|
196
|
-
intake → deliberating → awaiting-answer → judging → completed
|
|
197
|
-
任一活动阶段 → blocked
|
|
198
|
-
awaiting-answer → reframe-required
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
`question_disposition` 只能是 `asked | already-answered`;前者要求 `key_question_asked: true`,后者要求 `key_question_asked: false`。工件先验证,change 状态后更新,workflow active 最后更新。状态只是工件的索引,不替代工件本身。
|
|
99
|
+
按状态与发布合同的“回答后”分支校验候选 decision 后才发布并关闭本 Work 的 active 条目;失败保留可恢复的 judging,不报完成。decision 必须包含明确判断、决定性理由、最强反方回应、具体行动、反转条件与置信度,且能追溯到关键变量和回答。
|
|
202
100
|
|
|
203
101
|
## 返回合同
|
|
204
102
|
|
|
@@ -213,13 +111,3 @@ awaiting-answer → reframe-required
|
|
|
213
111
|
- 下一路由:等待回答时返回 `<Path>{roots.workflows}/person/S-steelman-deliberation/S-steelman-deliberation.md</Path>` 并携带同一 change;问题已重构时创建新 change;否则明确完成。
|
|
214
112
|
|
|
215
113
|
只有 `completed` 才能声明已经形成最终判断。`awaiting-user-answer` 的下一路由始终是带着同一 change 回到本入口。
|
|
216
|
-
|
|
217
|
-
## 全局完成标准
|
|
218
|
-
|
|
219
|
-
- 用户真正要解决的问题与表层问法已区分;
|
|
220
|
-
- 当前倾向和最强反方都经过可信、可识别的钢人化;
|
|
221
|
-
- 没有编造证据、虚假平衡或因用户立场降低证据标准;
|
|
222
|
-
- 只关闭了一个最高价值的不确定性,且没有重复追问已知信息;
|
|
223
|
-
- 回答前 dossier 保持冻结,回答后 decision 可追溯到关键变量和用户回答;
|
|
224
|
-
- 最终答案不是任何人都能套用的通用建议,而是明确判断与可验证行动;
|
|
225
|
-
- owned 工件、change 状态与 workflow active 一致,验证证据已返回。
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Steelman 状态与候选发布合同
|
|
2
|
+
|
|
3
|
+
新建、恢复或写入状态前读取状态合同;发布 dossier 时只读取回答前分支,发布 decision 时只读取回答后分支。所有路径、schema 和字段沿用原版,禁止另建状态源。
|
|
4
|
+
|
|
5
|
+
## 状态合同
|
|
6
|
+
|
|
7
|
+
### Workflow 状态
|
|
8
|
+
|
|
9
|
+
`<Path>{roots.state}/person/status.json</Path>` 保持 `schema_version: 1`,本 work 只管理 `active` 数组中的如下条目:
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{
|
|
13
|
+
"change": "2026-08-18-steelman-company-anniversary",
|
|
14
|
+
"work_id": "person/steelman-deliberation",
|
|
15
|
+
"phase": "awaiting-answer",
|
|
16
|
+
"updated_at": "2026-08-18T00:00:00.000Z"
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
读取—合并—写入时保留未知顶层字段、未知 entry 字段和其他 work 的全部条目。写临时文件、重读 JSON、再原子替换。
|
|
21
|
+
|
|
22
|
+
### Change 状态
|
|
23
|
+
|
|
24
|
+
`<Path>{roots.state}/person/changes/{change}/.status.json</Path>` 至少包含:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"schema_version": 1,
|
|
29
|
+
"artifact": "person-work-status",
|
|
30
|
+
"workflow": "person",
|
|
31
|
+
"change": "2026-08-18-steelman-company-anniversary",
|
|
32
|
+
"work_id": "person/steelman-deliberation",
|
|
33
|
+
"status": "active",
|
|
34
|
+
"phase": "awaiting-answer",
|
|
35
|
+
"key_question": "[唯一关键问题]",
|
|
36
|
+
"key_question_asked": true,
|
|
37
|
+
"question_disposition": "asked",
|
|
38
|
+
"answer_received": false,
|
|
39
|
+
"user_answer": null,
|
|
40
|
+
"created_at": "2026-08-18T00:00:00.000Z",
|
|
41
|
+
"updated_at": "2026-08-18T00:00:00.000Z",
|
|
42
|
+
"completed_at": null,
|
|
43
|
+
"blockers": []
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
允许转换:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
intake → deliberating → awaiting-answer → judging → completed
|
|
51
|
+
任一活动阶段 → blocked
|
|
52
|
+
awaiting-answer → reframe-required
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
`question_disposition` 只能是 `asked | already-answered`;前者要求 `key_question_asked: true`,后者要求 `key_question_asked: false`。工件先验证,change 状态后更新,workflow active 最后更新。状态只是工件的索引,不替代工件本身。
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## 回答前:发布 dossier
|
|
59
|
+
|
|
60
|
+
使用 `<Path>{roots.workflows}/person/S-steelman-deliberation/_templates/steelman-dossier-template.md</Path>` 在 change 目录下的唯一临时子目录中写入候选 dossier 与候选 `.status.json`,重读后运行:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
node <Path>{roots.workflows}/person/S-steelman-deliberation/tools/validate-steelman-change.mjs</Path> \
|
|
64
|
+
--phase awaiting-answer \
|
|
65
|
+
--change-dir <Path>{roots.state}/person/changes/{change}</Path> \
|
|
66
|
+
--dossier-file <Path>{roots.state}/person/changes/{change}/.steelman-stage/steelman-dossier.md</Path> \
|
|
67
|
+
--status-file <Path>{roots.state}/person/changes/{change}/.steelman-stage/.status.json</Path>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
临时目录名在并发时追加唯一后缀。校验通过后,先原子替换正式 dossier,再原子替换 change `.status.json`;workflow active 只在入口的等待回答阶段 确认需要等待用户时更新。校验失败时删除临时目录并保持正式工件和旧状态不变。
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
## 回答后:发布 decision
|
|
74
|
+
|
|
75
|
+
使用 `<Path>{roots.workflows}/person/S-steelman-deliberation/_templates/decision-template.md</Path>` 在唯一临时目录中写入候选 decision 与候选完成态 `.status.json`,随后运行:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
node <Path>{roots.workflows}/person/S-steelman-deliberation/tools/validate-steelman-change.mjs</Path> \
|
|
79
|
+
--phase completed \
|
|
80
|
+
--change-dir <Path>{roots.state}/person/changes/{change}</Path> \
|
|
81
|
+
--decision-file <Path>{roots.state}/person/changes/{change}/.steelman-stage/decision.md</Path> \
|
|
82
|
+
--status-file <Path>{roots.state}/person/changes/{change}/.steelman-stage/.status.json</Path>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
校验通过后才原子替换正式 decision 和 change 状态,并只从 workflow `status.json.active` 删除匹配当前 `change` 且属于本 work 的条目。校验失败时删除临时目录、返回 `validation-failed`,保留可恢复的 `judging` 状态。
|
|
86
|
+
|
|
@@ -13,12 +13,7 @@ keywords: [归档, consolidation, ADR, context, research, knowledge, 代码库
|
|
|
13
13
|
|
|
14
14
|
A 是 SpecDev 的归档 wrapper:它拥有模式选择、SpecDev 完成门和代码访谈;机械扫描、dry-run、知识毕业、合并、清理、移动与重读由 `<Path>{roots.skills}/archive-and-consolidate/SKILL.md</Path>` 单一维护。
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
1. 先读取 `<Path>{roots.workflows}/specdev/README.md</Path>` 与当前 Work 的状态入口。
|
|
19
|
-
2. 再读取 `<Path>{roots.workflows}/specdev/common/rules/activation-and-memory.md</Path>`,按当前分支、状态和关键词定位最小相关工件。
|
|
20
|
-
3. 只在本 Work 明确要求恢复、冲突、执行安全或归档证据时扩展为全量读取;缺少匹配证据或 owner/gateway 时停止受影响分支。
|
|
21
|
-
|
|
16
|
+
激活时读取 `<Path>{roots.workflows}/specdev/common/rules/activation-and-memory.md</Path>`,按当前步骤定位输入和证据。
|
|
22
17
|
|
|
23
18
|
## 模式
|
|
24
19
|
|
|
@@ -38,11 +33,7 @@ A 是 SpecDev 的归档 wrapper:它拥有模式选择、SpecDev 完成门和
|
|
|
38
33
|
|
|
39
34
|
## Consolidate-from-code 模式
|
|
40
35
|
|
|
41
|
-
|
|
42
|
-
2. 加载 `<Path>{roots.workflows}/specdev/A-archive-and-consolidate/consolidation-interview.md</Path>`,每轮先探索代码/配置/测试并陈述证据,再一次只问一个真正影响长期理解的问题。
|
|
43
|
-
3. 按 LOG → CONTEXT → ADR 顺序写入:CONTEXT 只保存项目规范术语;ADR 只有同时满足难逆转、令人意外和真实权衡时才创建。
|
|
44
|
-
4. 用户结论必须由当前代码或实际行为验证;未验证内容留在 LOG,不提升。
|
|
45
|
-
5. 按 change completion 规则由本 Work 关闭该非实现型 change,再进入 Archive 模式的 dry-run/确认流程。
|
|
36
|
+
读取 `<Path>{roots.workflows}/specdev/A-archive-and-consolidate/consolidation-interview.md</Path>`,由本 Work 创建知识 change、按代码证据访谈并验证后关闭,再回到 Archive 模式。LOG/CONTEXT/ADR 先在该 change 内形成;未验证结论留在 LOG,不直接提升永久知识。
|
|
46
37
|
|
|
47
38
|
## 副作用
|
|
48
39
|
|
|
@@ -57,9 +48,3 @@ Dry-run 不修改文件。归档移动、知识 merge/rewrite/delete、Git 动
|
|
|
57
48
|
- 源不存在、目标完整、active/archived 无重叠、归档状态正确;
|
|
58
49
|
- 永久知识只包含当前、跨 change 有用且有实现证据的结论;
|
|
59
50
|
- 无未批准移动、删除、改写或 Git 副作用。
|
|
60
|
-
|
|
61
|
-
## 子文件引用
|
|
62
|
-
|
|
63
|
-
- 全局归档 Skill:`<Path>{roots.skills}/archive-and-consolidate/SKILL.md</Path>`
|
|
64
|
-
- Change 完成:`<Path>{roots.workflows}/specdev/common/rules/change-completion.md</Path>`
|
|
65
|
-
- 代码访谈:`<Path>{roots.workflows}/specdev/A-archive-and-consolidate/consolidation-interview.md</Path>`
|
|
@@ -51,4 +51,13 @@ change 内三份文档复用 grill 的既有格式,避免重复发明:
|
|
|
51
51
|
- 缺少必要外部信息或权限,change 标 blocked;或
|
|
52
52
|
- 继续提问只会产生低影响或纯实现细节,交给对应实现阶段决定。
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
停止后返回 A 的 Archive 模式,进入知识提升评估。未获代码或实际行为验证的结论一律不提升,只留在 change 内。
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
## Consolidate-from-code 模式
|
|
58
|
+
|
|
59
|
+
1. 创建 `<Path>{roots.state}/specdev/changes/{change}/</Path>`、change 状态、LOG、CONTEXT 和 ADR,并登记 `current_work`。
|
|
60
|
+
2. 按上述访谈过程,每轮先探索代码/配置/测试并陈述证据,再一次只问一个真正影响长期理解的问题。
|
|
61
|
+
3. 按 LOG → CONTEXT → ADR 顺序写入:CONTEXT 只保存项目规范术语;ADR 只有同时满足难逆转、令人意外和真实权衡时才创建。
|
|
62
|
+
4. 用户结论必须由当前代码或实际行为验证;未验证内容留在 LOG,不提升。
|
|
63
|
+
5. 按 change completion 规则由本 Work 关闭该非实现型 change,再进入 Archive 模式的 dry-run/确认流程。
|
|
@@ -13,12 +13,7 @@ keywords: [code-review, review, diff, fixed-point, PR, 标准, 规范]
|
|
|
13
13
|
|
|
14
14
|
C 是独立 review 入口,不实施修复。它拥有 `<Path>{roots.state}/specdev/changes/{change}/reviews/</Path>`;I 的最终审查由 I 写入 Evidence,不写本目录。
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
1. 先读取 `<Path>{roots.workflows}/specdev/README.md</Path>` 与当前 Work 的状态入口。
|
|
19
|
-
2. 再读取 `<Path>{roots.workflows}/specdev/common/rules/activation-and-memory.md</Path>`,按当前分支、状态和关键词定位最小相关工件。
|
|
20
|
-
3. 只在本 Work 明确要求恢复、冲突、执行安全或归档证据时扩展为全量读取;缺少匹配证据或 owner/gateway 时停止受影响分支。
|
|
21
|
-
|
|
16
|
+
激活时读取 `<Path>{roots.workflows}/specdev/common/rules/activation-and-memory.md</Path>`,按当前步骤定位输入和证据。
|
|
22
17
|
|
|
23
18
|
## 输入
|
|
24
19
|
|
|
@@ -31,8 +26,8 @@ C 是独立 review 入口,不实施修复。它拥有 `<Path>{roots.state}/spe
|
|
|
31
26
|
1. **解析固定点**:使用 `git rev-parse` 把固定点和 HEAD 固定为 SHA;PR 先通过 `<Path>{roots.skills}/github-npm-ops/SKILL.md</Path>` 的 `pr-read` 获得 base/head SHA,并确保对应对象可在本地解析。
|
|
32
27
|
2. **冻结输入**:记录 `git diff <fixed>...<head>` 和 `git log <fixed>..<head> --oneline`。引用无效或 diff 为空时失败,不创建报告。
|
|
33
28
|
3. **发现来源**:调用 `<Path>{roots.workflows}/specdev/common/skills/code-review/SKILL.md</Path>`;规范来源缺失时经确认跳过规范轴,标准轴继续。
|
|
34
|
-
4.
|
|
35
|
-
5. **持久化**:选择下一个未占用 `CR
|
|
29
|
+
4. **隔离审查**:仅按公共 Skill 的完整输入复用门接受既有结果;需要执行的轴在平台支持时并行 reviewer,否则用两个独立完整输入包顺序执行。两轴不得读取对方 finding。
|
|
30
|
+
5. **持久化**:选择下一个未占用 `CR-###`,使用 `<Path>{roots.workflows}/specdev/C-code-review/code-review-template.md</Path>` 写入 `<Path>{roots.state}/specdev/changes/{change}/reviews/CR-###.md</Path>`,原子重读。
|
|
36
31
|
6. **验证与路由**:使用 `<Path>{roots.workflows}/specdev/common/tools/validate-specdev.mjs</Path>` 的 `--stage review` 校验当前 change。无阻塞 finding 时返回完成或 I;局部修复生成/修订 Ticket;规范冲突返回 S/G;无法确定的 blocker 保持 C 可恢复状态。
|
|
37
32
|
|
|
38
33
|
## 完成标准
|
|
@@ -43,9 +38,3 @@ C 是独立 review 入口,不实施修复。它拥有 `<Path>{roots.state}/spe
|
|
|
43
38
|
- 每个 finding 有路径、风险、依据和满足条件;
|
|
44
39
|
- 报告、状态、验证结果和下一 Work 路径一致;
|
|
45
40
|
- C 未修改项目代码或远程状态。
|
|
46
|
-
|
|
47
|
-
## 子文件引用
|
|
48
|
-
|
|
49
|
-
- 公共审查 Skill:`<Path>{roots.workflows}/specdev/common/skills/code-review/SKILL.md</Path>`
|
|
50
|
-
- 报告模板:`<Path>{roots.workflows}/specdev/C-code-review/code-review-template.md</Path>`
|
|
51
|
-
- 报告 Schema:`<Path>{roots.workflows}/specdev/common/schemas/code-review.schema.json</Path>`
|
|
@@ -40,3 +40,7 @@ created_at: <ISO-8601>
|
|
|
40
40
|
- **Most severe standards finding:** none / ...
|
|
41
41
|
- **Most severe specification finding:** none / ...
|
|
42
42
|
- **Next Work:** completed / `<Path>{roots.workflows}/specdev/T-tickets/T-tickets.md</Path>` / `<Path>{roots.workflows}/specdev/S-spec/S-spec.md</Path>`
|
|
43
|
+
|
|
44
|
+
## 审查证据复用(仅实际发生时填写)
|
|
45
|
+
|
|
46
|
+
记录原 CR/Evidence locator、fixed/head/diff、规范/标准/指令与 Skill/reference 摘要、工具/环境相关证据、两轴隔离核对、复用或重跑的轴与原因。未发生时写“不适用”;本节不是通过声明,也不改变原始审查结果。
|
|
@@ -13,12 +13,7 @@ keywords: [bug, 诊断, 红灯, tight-loop, 根因, 复现, 假设]
|
|
|
13
13
|
|
|
14
14
|
D 的主导词是**红灯**:没有一条已执行且能在此 bug 上变红的紧凑命令,就没有可进入的假设阶段。D 默认只读项目代码,可以创建 change 诊断工件和经授权的临时可撤销探针;生产修复由 Implement 拥有。
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
1. 先读取 `<Path>{roots.workflows}/specdev/README.md</Path>` 与当前 Work 的状态入口。
|
|
19
|
-
2. 再读取 `<Path>{roots.workflows}/specdev/common/rules/activation-and-memory.md</Path>`,按当前分支、状态和关键词定位最小相关工件。
|
|
20
|
-
3. 只在本 Work 明确要求恢复、冲突、执行安全或归档证据时扩展为全量读取;缺少匹配证据或 owner/gateway 时停止受影响分支。
|
|
21
|
-
|
|
16
|
+
激活时读取 `<Path>{roots.workflows}/specdev/common/rules/activation-and-memory.md</Path>`,按当前步骤定位输入和证据。
|
|
22
17
|
|
|
23
18
|
## 输入与所有权
|
|
24
19
|
|
|
@@ -74,20 +69,3 @@ node <Path>{roots.workflows}/specdev/common/tools/validate-specdev.mjs</Path> \
|
|
|
74
69
|
```
|
|
75
70
|
|
|
76
71
|
根因确认后将本 Work 加入 `works_run` 并清空 `current_work`,返回 diagnosis 和下一 Work:局部修复进入 Tickets/I,公共行为或高风险进入 S/Tickets,缺 seam 进入 R,仍无根因则保持 blocked 或进入 W。
|
|
77
|
-
|
|
78
|
-
## 完成标准
|
|
79
|
-
|
|
80
|
-
- 红灯回路硬门有已执行证据;
|
|
81
|
-
- 最小复现的剩余元素都有负载作用;
|
|
82
|
-
- 假设有排名、预测和反证;
|
|
83
|
-
- 根因解释触发、机制、漏检和影响;
|
|
84
|
-
- 修复契约决策完备但未夹带生产修复;
|
|
85
|
-
- debug 插桩已清理或有明确 owner;
|
|
86
|
-
- diagnosis、状态、验证证据和下一 Work 路径一致。
|
|
87
|
-
|
|
88
|
-
## 子文件引用
|
|
89
|
-
|
|
90
|
-
- 反馈回路:`<Path>{roots.workflows}/specdev/D-diagnose-bugs/feedback-loop.md</Path>`
|
|
91
|
-
- 假设与插桩:`<Path>{roots.workflows}/specdev/D-diagnose-bugs/hypothesis-and-instrumentation.md</Path>`
|
|
92
|
-
- 诊断模板:`<Path>{roots.workflows}/specdev/D-diagnose-bugs/diagnosis-template.md</Path>`
|
|
93
|
-
- HITL 模板:`<Path>{roots.workflows}/specdev/D-diagnose-bugs/scripts/hitl-loop.template.sh</Path>`
|
|
@@ -15,9 +15,9 @@ keywords: [grill, 设计树, 领域, 决策, 共识]
|
|
|
15
15
|
|
|
16
16
|
读取 `<Path>{roots.workflows}/specdev/common/rules/activation-and-memory.md</Path>`;定位当前 change 的 `<Path>{roots.state}/specdev/changes/{change}/design-tree.json</Path>`、`<Path>{roots.state}/specdev/changes/{change}/LOG.md</Path>`、`<Path>{roots.state}/specdev/changes/{change}/CONTEXT.md</Path>`、`<Path>{roots.state}/specdev/changes/{change}/ADR.md</Path>` 和相关 initiative 决策。先找到相关条目再回读必要原文,不默认整读永久 ADR 或索引。
|
|
17
17
|
|
|
18
|
-
##
|
|
18
|
+
## 当前 change 的访谈与共识
|
|
19
19
|
|
|
20
|
-
进入访谈必须读取 `<Path>{roots.workflows}/specdev/G-grill-with-docs/references/interview-procedure.md</Path
|
|
20
|
+
进入访谈必须读取 `<Path>{roots.workflows}/specdev/G-grill-with-docs/references/interview-procedure.md</Path>`,由该过程在出现设计取舍、术语变化、日志写入或外部 stakeholder 缺口时分别读取 grilling、领域建模、日志格式或 questionnaire;不默认加载所有参考。保留完整 frontier、推荐答案和逐轮共识检查,但不替用户回答高影响取舍。
|
|
21
21
|
|
|
22
22
|
- 先查仓库可发现事实,只询问会改变行为、架构、风险、范围、迁移或验收的决定。
|
|
23
23
|
- W 的每个 materialized change 在自己的目录拥有设计树和文档;共享答案以来源指针引用,不能共用一棵可写设计树。
|
|
@@ -15,9 +15,9 @@ keywords: [implement, Ticket, TDD, Evidence, integration]
|
|
|
15
15
|
|
|
16
16
|
先读 `<Path>{roots.workflows}/specdev/common/rules/activation-and-memory.md</Path>`;从当前 tickets-map 或父 map 定位本票、上游约束、项目 Skill 与执行策略。仅展开当前 Ticket 的正文、直接依赖、适用 Skill 和必要恢复证据,不整读知识库。
|
|
17
17
|
|
|
18
|
-
##
|
|
18
|
+
## 当前票的执行入口
|
|
19
19
|
|
|
20
|
-
执行必须读取 `<Path>{roots.workflows}/specdev/I-implement/references/implementation-procedure.md</Path>` 和 `<Path>{roots.workflows}/specdev/I-implement/execution-preflight.md</Path
|
|
20
|
+
执行必须读取 `<Path>{roots.workflows}/specdev/I-implement/references/implementation-procedure.md</Path>` 和 `<Path>{roots.workflows}/specdev/I-implement/execution-preflight.md</Path>`;执行过程按当前阶段路由设计、TDD、双轴审查和 Evidence;预检单独拥有 Git、workspace、Ready 与授权检查。两者必读,分支参考只在对应 workspace/风险/阶段进入时加载。
|
|
21
21
|
|
|
22
22
|
1. 核验 Ready、授权、owner、真实源与 map 基线;新增计划型票按 `<Path>{roots.workflows}/specdev/common/rules/skill-invocation.md</Path>` 实际调用绑定能力并记录证据。旧票缺调用契约时先由 Lead 补齐,不猜测。
|
|
23
23
|
2. 保持 codebase-design、design-it-twice 和 TDD 的适用门禁;进入对应实现步骤再读其 reference。派单时调用 subagent-delivery;Lead 是唯一 SpecDev 状态写入者。
|
|
@@ -131,3 +131,11 @@ subagent 不写本 Evidence;以上内容由 Lead 从实际 workspace、Git 和
|
|
|
131
131
|
## 用户交付与源回读
|
|
132
132
|
|
|
133
133
|
记录用户要求的实际数量、交付位置、源/链接/必要元数据回读、行为差异、备份和未完成项。Goal 有显式数量时在 `<Path>{roots.state}/specdev/changes/{change}/evidence/goal-delivery.md</Path>` 写 Delivery Records,与 map 合同逐项核对。字符统计包含移动后的参考文件,不等同于 Token 或套餐用量。
|
|
134
|
+
|
|
135
|
+
## 审查证据复用(仅实际发生时填写)
|
|
136
|
+
|
|
137
|
+
记录原 CR/Evidence locator、fixed/head/diff、规范/标准/指令与 Skill/reference 摘要、工具/环境相关证据、两轴隔离核对、复用或重跑的轴与原因。未发生时写“不适用”;本节不是通过声明,也不改变原始审查结果。
|
|
138
|
+
|
|
139
|
+
## OPS 交付(仅用户请求时)
|
|
140
|
+
|
|
141
|
+
交付前读取 `<Path>{roots.workflows}/specdev/common/rules/deployment-handoff.md</Path>`,记录当前 change/Ticket、代码 revision、实际构件 digest、AC/Evidence、目标与部署约束;回传时只追加经核对的 Run/Release/receipt 指针。未请求写“不适用”,不为填表创建 OPS 任务。
|