kld-sdd 2.6.11 → 2.6.13

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.
Files changed (87) hide show
  1. package/README.md +20 -0
  2. package/kld-sdd-guide.html +429 -159
  3. package/lib/hook-gate-core.js +41 -5
  4. package/lib/init.js +101 -95
  5. package/package.json +5 -2
  6. package/skywalk-sdd/index.cjs +2668 -415
  7. package/skywalk-sdd/metrics-v3.cjs +1153 -0
  8. package/skywalk-sdd/ontology/archive-package.cjs +114 -3
  9. package/skywalk-sdd/ontology/resolve-spec-root.cjs +20 -80
  10. package/skywalk-sdd/ontology/working-artifacts.cjs +2 -1
  11. package/templates/hooks/claude/hooks/sdd-apply-test-gate.cjs +39 -9
  12. package/templates/hooks/claude/hooks/sdd-post-tool.cjs +87 -8
  13. package/templates/hooks/claude/hooks/sdd-prompt.cjs +25 -5
  14. package/templates/hooks/codebuddy/hooks/sdd-apply-test-gate.cjs +39 -9
  15. package/templates/hooks/codebuddy/hooks/sdd-post-tool.cjs +87 -9
  16. package/templates/hooks/codebuddy/hooks/sdd-prompt.cjs +24 -3
  17. package/templates/skills/kld-sdd/opsx-apply/SKILL.md +17 -16
  18. package/templates/skills/kld-sdd/opsx-apply/checklist.md +22 -22
  19. package/templates/skills/kld-sdd/opsx-apply/implementer-prompt.md +12 -12
  20. package/templates/skills/kld-sdd/opsx-apply/reference.md +43 -42
  21. package/templates/skills/kld-sdd/opsx-apply/worktree-setup.md +3 -3
  22. package/templates/skills/kld-sdd/opsx-archive/SKILL.md +58 -20
  23. package/templates/skills/kld-sdd/opsx-archive/checklist.md +6 -3
  24. package/templates/skills/kld-sdd/opsx-check/SKILL.md +30 -22
  25. package/templates/skills/kld-sdd/opsx-check/checklist.md +7 -6
  26. package/templates/skills/kld-sdd/opsx-design/SKILL.md +5 -5
  27. package/templates/skills/kld-sdd/opsx-design/checklist.md +1 -1
  28. package/templates/skills/kld-sdd/opsx-design/reference.md +2 -2
  29. package/templates/skills/kld-sdd/opsx-explore/SKILL.md +5 -5
  30. package/templates/skills/kld-sdd/opsx-propose/SKILL.md +20 -12
  31. package/templates/skills/kld-sdd/opsx-propose/reference.md +31 -5
  32. package/templates/skills/kld-sdd/opsx-rules/SKILL.md +3 -3
  33. package/templates/skills/kld-sdd/opsx-rules/reference.md +3 -1
  34. package/templates/skills/kld-sdd/opsx-spec/SKILL.md +6 -6
  35. package/templates/skills/kld-sdd/opsx-spec/checklist.md +1 -1
  36. package/templates/skills/kld-sdd/opsx-spec/reference.md +2 -2
  37. package/templates/skills/kld-sdd/opsx-task/SKILL.md +14 -14
  38. package/templates/skills/kld-sdd/opsx-task/checklist.md +3 -3
  39. package/templates/skills/kld-sdd/opsx-task/reference.md +5 -5
  40. package/templates/skills/kld-sdd/opsx-test/SKILL.md +11 -9
  41. package/templates/skills/kld-sdd/{opsx-tdd-anti-patterns → tdd-anti-patterns}/SKILL.md +4 -4
  42. package/templates/skills/kld-sdd/{opsx-tdd-anti-patterns → tdd-anti-patterns}/reference.md +4 -4
  43. package/templates/skills/kld-sdd/{opsx-tdd-core → tdd-core}/SKILL.md +13 -13
  44. package/templates/skills/kld-sdd/{opsx-tdd-core → tdd-core}/checklist.md +5 -5
  45. package/templates/skills/kld-sdd/{opsx-tdd-core → tdd-core}/reference.md +12 -12
  46. package/templates/skills/kld-sdd/{opsx-tdd-metrics → tdd-metrics}/SKILL.md +3 -3
  47. package/templates/skills/kld-sdd/{opsx-tdd-metrics → tdd-metrics}/checklist.md +2 -2
  48. package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/SKILL.md +2 -2
  49. package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/parameterized-testing.md +1 -1
  50. package/templates/skills/kld-sdd/{opsx-tdd-review → tdd-review}/SKILL.md +5 -5
  51. package/templates/skills/kld-sdd/{opsx-tdd-review → tdd-review}/checklist.md +5 -5
  52. package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/SKILL.md +3 -3
  53. package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/non-tdd-modules.md +1 -1
  54. package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/refactor-checklist.md +1 -1
  55. package/templates/skills/kld-sdd/tdd-rules/rules/test-skeleton-telemetry.md +19 -0
  56. package/templates/skills/kld-sdd/opsx-tdd-rules/rules/test-skeleton-telemetry.md +0 -19
  57. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/cause-effect-clarity.md +0 -0
  58. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/clean-test-data.md +0 -0
  59. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/existing-test-awareness.md +0 -0
  60. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/given-when-then.md +0 -0
  61. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/good-test-qualities.md +0 -0
  62. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/mock-boundary.md +0 -0
  63. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/naming-conventions.md +0 -0
  64. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/no-logic-in-tests.md +0 -0
  65. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/one-test-one-scenario.md +0 -0
  66. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/prefer-public-apis.md +0 -0
  67. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/general/test-behaviors-not-methods.md +0 -0
  68. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/java/argument-matching.md +0 -0
  69. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/java/controller-test-rules.md +0 -0
  70. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/java/domain-service-rules.md +0 -0
  71. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/java/java-test-template.md +0 -0
  72. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/java/json-serialization.md +0 -0
  73. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/java/logging-rules.md +0 -0
  74. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/post-generation/compilation-verification.md +0 -0
  75. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/post-generation/execution-verification.md +0 -0
  76. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/python/py-test-template.md +0 -0
  77. /package/templates/skills/kld-sdd/{opsx-tdd-quality → tdd-quality}/rules/typescript/ts-test-template.md +0 -0
  78. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/controller-strategy.md +0 -0
  79. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/dag-generation-rules.md +0 -0
  80. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/des-step-annotation.md +0 -0
  81. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/exception-path-coverage.md +0 -0
  82. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/green-scope-declaration.md +0 -0
  83. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/green-yagni-fence.md +0 -0
  84. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/multi-validation-split.md +0 -0
  85. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/task-type-definitions.md +0 -0
  86. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/tdd-strategy-selection.md +0 -0
  87. /package/templates/skills/kld-sdd/{opsx-tdd-rules → tdd-rules}/rules/test-execution-gate.md +0 -0
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: opsx-tdd-anti-patterns
2
+ name: tdd-anti-patterns
3
3
  description: "测试反模式防护层 — 16 种反模式检测(RED 阶段 3 种 + GREEN 后 13 种),每种带门禁函数和修复方案。当编写或审查测试代码时引用本技能。"
4
4
  ---
5
5
 
6
- # opsx-tdd-anti-patterns — 反模式防护层
6
+ # tdd-anti-patterns — 反模式防护层
7
7
 
8
8
  > **定位**:测试反模式的系统化检测,RED 阶段 + GREEN 后双重检查。
9
9
  > **参考来源**:Superpowers `testing-anti-patterns.md`
@@ -47,8 +47,8 @@ description: "测试反模式防护层 — 16 种反模式检测(RED 阶段 3
47
47
  | 12 | **测试代码重复** | 大量 copy-paste 的测试代码,缺少 helper 提取 | 提取 test fixture builder 或 helper 方法 |
48
48
  | 13 | **魔法值** | 测试中使用未解释的字面值(如 `assertEquals(42, result)` 无注释说明 42 的含义) | 使用命名常量或注释解释字面值含义 |
49
49
  | 14 | **断言不足** | 只断言了部分结果,遗漏了关键属性(如只 assertNotNull 但不 assertEquals 具体值) | 每个测试至少有一个具体值断言(assertEquals),而非仅 assertNotNull |
50
- | 15 | **缺少负面测试** | 只测试正常路径,不测试错误条件 | 每个方法至少有一个异常路径测试(见 `opsx-tdd-rules/rules/exception-path-coverage.md`) |
51
- | 16 | **AC 变体覆盖不足** | AC 场景描述含"或"条件(如"缺少 A 或 B 或为空"),但测试只覆盖部分变体 | AC 中每个"或"条件变体必须有对应测试方法(规则见 `opsx-tdd-rules/rules/multi-validation-split.md` §AC 内"或"条件变体覆盖) |
50
+ | 15 | **缺少负面测试** | 只测试正常路径,不测试错误条件 | 每个方法至少有一个异常路径测试(见 `tdd-rules/rules/exception-path-coverage.md`) |
51
+ | 16 | **AC 变体覆盖不足** | AC 场景描述含"或"条件(如"缺少 A 或 B 或为空"),但测试只覆盖部分变体 | AC 中每个"或"条件变体必须有对应测试方法(规则见 `tdd-rules/rules/multi-validation-split.md` §AC 内"或"条件变体覆盖) |
52
52
 
53
53
  ## §5 门禁函数
54
54
 
@@ -1,8 +1,8 @@
1
1
  ---
2
- description: "opsx-tdd-anti-patterns 详细参考 — 9 种反模式完整详表 + 修复方案代码示例。仅在需要详细反模式检查时读取。"
2
+ description: "tdd-anti-patterns 详细参考 — 9 种反模式完整详表 + 修复方案代码示例。仅在需要详细反模式检查时读取。"
3
3
  ---
4
4
 
5
- # opsx-tdd-anti-patterns — 详细参考
5
+ # tdd-anti-patterns — 详细参考
6
6
 
7
7
  > 仅在需要详细反模式检查时读取。日常检查见 `SKILL.md`。
8
8
 
@@ -193,7 +193,7 @@ assertEquals("user-001", result.getUserId());
193
193
 
194
194
  **问题**:只测试正常路径,不测试错误条件。
195
195
 
196
- **修复**:每个方法至少有一个异常路径测试。规则见 `opsx-tdd-rules/rules/exception-path-coverage.md`。
196
+ **修复**:每个方法至少有一个异常路径测试。规则见 `tdd-rules/rules/exception-path-coverage.md`。
197
197
 
198
198
  ## 反模式 16:AC 变体覆盖不足
199
199
 
@@ -222,7 +222,7 @@ void login_withMissingParams_returns1001() {
222
222
  @Test void login_withBothMissing_returns1001() { ... }
223
223
  ```
224
224
 
225
- **修复**:AC 中每个"或"条件变体必须有对应测试方法。规则见 `opsx-tdd-rules/rules/multi-validation-split.md` §AC 内"或"条件变体覆盖。
225
+ **修复**:AC 中每个"或"条件变体必须有对应测试方法。规则见 `tdd-rules/rules/multi-validation-split.md` §AC 内"或"条件变体覆盖。
226
226
 
227
227
  ## TDD 如何防止这些反模式
228
228
 
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: opsx-tdd-core
2
+ name: tdd-core
3
3
  description: "TDD 流程纪律层 — 铁律、红绿重构循环、执行门禁、合规自检。当 test-strategy=tdd 时,所有 SDD 阶段引用本技能获取 TDD 流程规则。"
4
4
  ---
5
5
 
6
- # opsx-tdd-core — TDD 流程纪律层
6
+ # tdd-core — TDD 流程纪律层
7
7
 
8
8
  > **定位**:TDD 铁律、红绿重构循环定义、执行门禁的唯一真相源。
9
9
  > **参考来源**:Superpowers `test-driven-development`
@@ -81,7 +81,7 @@ RED → Verify RED → 🔴中断声明 → GREEN → Verify GREEN → GREEN Sco
81
81
  - 此声明强制 agent 在 RED 和 GREEN 之间产生节奏断点,防止从 RED 滑入 GREEN 再滑入下一个行为点
82
82
  - **GREEN**:写最简单的代码通过测试
83
83
  - 不添加功能、不重构其他代码、不"改进"超出测试范围的内容
84
- - ⛔ **执行 GREEN Scope 声明**(见 `opsx-tdd-rules/rules/green-scope-declaration.md`):
84
+ - ⛔ **执行 GREEN Scope 声明**(见 `tdd-rules/rules/green-scope-declaration.md`):
85
85
  1. 列出当前 RED 测试的断言清单
86
86
  2. 列出 design.md 中本 DES 元素的完整流程步骤
87
87
  3. 标记步骤归属(✅ 属于当前 RED / ⛔ 属于后续 RED)
@@ -126,12 +126,12 @@ RED → Verify RED → 🔴中断声明 → GREEN → Verify GREEN → GREEN Sco
126
126
  - **REFACTOR**:仅在绿色之后
127
127
  - 移除重复、改善命名、提取辅助函数
128
128
  - 保持测试绿色,不添加行为
129
- - ⛔ 执行 `opsx-tdd-rules/rules/refactor-checklist.md`(7 项重构检查点)
129
+ - ⛔ 执行 `tdd-rules/rules/refactor-checklist.md`(7 项重构检查点)
130
130
  - **Repeat**:下一个失败测试,下一个功能
131
131
 
132
132
  ## §4 执行门禁
133
133
 
134
- > 完整规则见 `opsx-tdd-rules/rules/test-execution-gate.md`,此处仅保留快速参考。
134
+ > 完整规则见 `tdd-rules/rules/test-execution-gate.md`,此处仅保留快速参考。
135
135
 
136
136
  | test-strategy | 行为 |
137
137
  |---------------|------|
@@ -141,7 +141,7 @@ RED → Verify RED → 🔴中断声明 → GREEN → Verify GREEN → GREEN Sco
141
141
 
142
142
  ## §5 TDD 策略定义
143
143
 
144
- > 完整规则见 `opsx-tdd-rules/rules/tdd-strategy-selection.md`,此处仅保留快速参考。
144
+ > 完整规则见 `tdd-rules/rules/tdd-strategy-selection.md`,此处仅保留快速参考。
145
145
 
146
146
  三种策略(tdd/impl-first/none)的定义与适用场景:
147
147
 
@@ -151,7 +151,7 @@ RED → Verify RED → 🔴中断声明 → GREEN → Verify GREEN → GREEN Sco
151
151
 
152
152
  ## §6 Controller 层策略
153
153
 
154
- > 完整规则见 `opsx-tdd-rules/rules/controller-strategy.md`,此处仅保留快速参考。
154
+ > 完整规则见 `tdd-rules/rules/controller-strategy.md`,此处仅保留快速参考。
155
155
 
156
156
  ⛔ Controller 层**必须**有测试。两种策略的区别在于测试方式,而非"有无测试"。
157
157
 
@@ -214,14 +214,14 @@ RED → Verify RED → 🔴中断声明 → GREEN → Verify GREEN → GREEN Sco
214
214
 
215
215
  ## §10 跨技能引用
216
216
 
217
- - → `opsx-tdd-quality`:单测代码质量标准(Mock 边界矩阵、命名规范、Java 规则等)
218
- - → `opsx-tdd-anti-patterns`:测试反模式检测(15 种反模式 + 门禁函数)
219
- - → `opsx-tdd-review`:测试审查(8 项质量检查 + 缺失测试检测)
220
- - → `opsx-tdd-metrics`:度量分析(隔离评分、命名评分、覆盖率缺口)
221
- - → `opsx-tdd-rules`:规则库(DAG 规则、Controller 策略、telemetry 模板等)
217
+ - → `tdd-quality`:单测代码质量标准(Mock 边界矩阵、命名规范、Java 规则等)
218
+ - → `tdd-anti-patterns`:测试反模式检测(15 种反模式 + 门禁函数)
219
+ - → `tdd-review`:测试审查(8 项质量检查 + 缺失测试检测)
220
+ - → `tdd-metrics`:度量分析(隔离评分、命名评分、覆盖率缺口)
221
+ - → `tdd-rules`:规则库(DAG 规则、Controller 策略、telemetry 模板等)
222
222
  - `rules/green-yagni-fence.md`:GREEN 任务 YAGNI 围栏(引用方:opsx-task)
223
223
  - `rules/green-scope-declaration.md`:GREEN Scope 声明(引用方:opsx-apply)
224
224
  - `rules/des-step-annotation.md`:DES 步骤级标注(引用方:opsx-design)
225
225
  - `rules/multi-validation-split.md`:多校验拆分(引用方:opsx-spec)
226
226
  - `rules/exception-path-coverage.md`:异常路径测试覆盖门禁(引用方:opsx-task, opsx-apply, opsx-check)
227
- - `rules/refactor-checklist.md`:REFACTOR 阶段检查点(引用方:opsx-apply, opsx-tdd-core)
227
+ - `rules/refactor-checklist.md`:REFACTOR 阶段检查点(引用方:opsx-apply, tdd-core)
@@ -1,8 +1,8 @@
1
1
  ---
2
- description: "opsx-tdd-core 自检清单 — TDD 执行合规自检、合规性检查、完成验证。仅在执行 TDD 任务自检时读取。"
2
+ description: "tdd-core 自检清单 — TDD 执行合规自检、合规性检查、完成验证。仅在执行 TDD 任务自检时读取。"
3
3
  ---
4
4
 
5
- # opsx-tdd-core — 自检清单
5
+ # tdd-core — 自检清单
6
6
 
7
7
  > 仅在执行 TDD 任务自检时读取。日常流程见 `SKILL.md`。
8
8
 
@@ -18,7 +18,7 @@ description: "opsx-tdd-core 自检清单 — TDD 执行合规自检、合规性
18
18
  - [ ] ⛔ **RED→GREEN 中断声明已执行**:RED 确认失败后,显式声明了"🔴 RED-N 确认失败,现在进入 GREEN-N"
19
19
  - [ ] GREEN 任务已运行测试确认通过
20
20
  - [ ] GREEN 未提前实现没有测试要求的功能
21
- - [ ] ⛔ **GREEN Scope 越界检测**:GREEN 实现后检查生产代码是否包含未被当前 RED 断言覆盖的逻辑分支(规则见 `opsx-tdd-rules/rules/green-scope-declaration.md` §Scope 自检)
21
+ - [ ] ⛔ **GREEN Scope 越界检测**:GREEN 实现后检查生产代码是否包含未被当前 RED 断言覆盖的逻辑分支(规则见 `tdd-rules/rules/green-scope-declaration.md` §Scope 自检)
22
22
  - [ ] ⛔ **GREEN YAGNI 围栏逐条确认**:读取 tasks.md 中本 GREEN 任务的 YAGNI 围栏声明,逐条确认"未实现 [后续 RED 的行为]:✅"
23
23
  - [ ] ⛔ **GREEN Scope 门禁已执行**:Verify GREEN 之后,检查生产代码无越界逻辑分支
24
24
  - [ ] REFACTOR 后全部测试仍绿
@@ -42,7 +42,7 @@ description: "opsx-tdd-core 自检清单 — TDD 执行合规自检、合规性
42
42
  - [ ] 每个 REFACTOR 任务列出至少 2 个具体重构点
43
43
  - [ ] ⛔ **CON 覆盖**:spec.md 中每个 CON 在 tasks.md 中有对应验证任务或显式声明间接覆盖
44
44
  - [ ] ⛔ **安全/审计要求覆盖**:spec.md §5.x 中的安全与审计要求在 tasks.md 中有对应任务或显式声明推迟
45
- - [ ] ⛔ **AC 变体覆盖**:spec.md 中含"或"条件的 AC 场景,其 RED 任务验收标准列出所有变体的测试方法(引用 `opsx-tdd-rules/rules/multi-validation-split.md`)
45
+ - [ ] ⛔ **AC 变体覆盖**:spec.md 中含"或"条件的 AC 场景,其 RED 任务验收标准列出所有变体的测试方法(引用 `tdd-rules/rules/multi-validation-split.md`)
46
46
 
47
47
  ## §C 完成验证清单(8 项)
48
48
 
@@ -56,6 +56,6 @@ description: "opsx-tdd-core 自检清单 — TDD 执行合规自检、合规性
56
56
  - [ ] 输出纯净(无错误/警告)
57
57
  - [ ] 测试使用真实代码(仅在不可避免时使用 mock)
58
58
  - [ ] 边界情况和错误已覆盖
59
- - [ ] ⛔ **AC "或"条件变体全覆盖**:AC 场景描述含"或"条件时,每个变体都有对应测试方法(引用 `opsx-tdd-rules/rules/multi-validation-split.md`)
59
+ - [ ] ⛔ **AC "或"条件变体全覆盖**:AC 场景描述含"或"条件时,每个变体都有对应测试方法(引用 `tdd-rules/rules/multi-validation-split.md`)
60
60
 
61
61
  > Can't check all boxes? You skipped TDD. Start over.
@@ -1,8 +1,8 @@
1
1
  ---
2
- description: "opsx-tdd-core 详细参考 — 执行步骤、拆分示例、DAG 规则、telemetry 模板。仅在需要详细执行指引时读取。"
2
+ description: "tdd-core 详细参考 — 执行步骤、拆分示例、DAG 规则、telemetry 模板。仅在需要详细执行指引时读取。"
3
3
  ---
4
4
 
5
- # opsx-tdd-core — 详细参考
5
+ # tdd-core — 详细参考
6
6
 
7
7
  > 仅在需要详细执行指引时读取。日常流程见 `SKILL.md`。
8
8
 
@@ -28,7 +28,7 @@ description: "opsx-tdd-core 详细参考 — 执行步骤、拆分示例、DAG
28
28
  ## §2 GREEN 执行步骤
29
29
 
30
30
  1. 读取对应 RED 任务的失败原因
31
- 2. ⛔ **执行 GREEN Scope 声明**(见 `opsx-tdd-rules/rules/green-scope-declaration.md`):
31
+ 2. ⛔ **执行 GREEN Scope 声明**(见 `tdd-rules/rules/green-scope-declaration.md`):
32
32
  - 列出当前 RED 测试的断言清单
33
33
  - 列出 design.md 中本 DES 元素的完整流程步骤
34
34
  - 标记步骤归属(✅ 属于当前 RED / ⛔ 属于后续 RED)
@@ -50,14 +50,14 @@ description: "opsx-tdd-core 详细参考 — 执行步骤、拆分示例、DAG
50
50
 
51
51
  ## §3 REFACTOR 执行步骤
52
52
 
53
- > 完整检查点见 `opsx-tdd-rules/rules/refactor-checklist.md`(7 项重构检查 + 跳过条件 + 量化标准)。
53
+ > 完整检查点见 `tdd-rules/rules/refactor-checklist.md`(7 项重构检查 + 跳过条件 + 量化标准)。
54
54
 
55
55
  1. 在所有测试通过的状态下开始
56
56
  2. 优化代码结构(提取方法、消除重复、改善命名)
57
57
  3. 运行全部测试:`mvn test`(或项目对应命令)
58
58
  4. 确认所有测试仍通过
59
59
  5. 任何测试失败 → 回退重构,重新尝试
60
- 6. 执行 `opsx-tdd-rules/rules/refactor-checklist.md` 的 7 项检查
60
+ 6. 执行 `tdd-rules/rules/refactor-checklist.md` 的 7 项检查
61
61
 
62
62
  ## §4 TDD 拆分示例
63
63
 
@@ -98,7 +98,7 @@ description: "opsx-tdd-core 详细参考 — 执行步骤、拆分示例、DAG
98
98
 
99
99
  ## §6 DAG 生成规则
100
100
 
101
- > 完整规则见 `opsx-tdd-rules/rules/dag-generation-rules.md`,此处仅保留快速参考。
101
+ > 完整规则见 `tdd-rules/rules/dag-generation-rules.md`,此处仅保留快速参考。
102
102
 
103
103
  | test-strategy | DAG 规则 |
104
104
  |---------------|---------|
@@ -108,7 +108,7 @@ description: "opsx-tdd-core 详细参考 — 执行步骤、拆分示例、DAG
108
108
 
109
109
  ## §7 非 TDD 模块规则
110
110
 
111
- > 完整规则见 `opsx-tdd-rules/rules/non-tdd-modules.md`,此处仅保留快速参考。
111
+ > 完整规则见 `tdd-rules/rules/non-tdd-modules.md`,此处仅保留快速参考。
112
112
 
113
113
  以下模块不需要红绿循环,按常规任务处理:
114
114
  - 前端 UI 页面(Vue 组件)→ UI层任务
@@ -123,13 +123,13 @@ description: "opsx-tdd-core 详细参考 — 执行步骤、拆分示例、DAG
123
123
  **TDD 测试骨架任务**(`task_kind:"test-skeleton"`):
124
124
 
125
125
  ```bash
126
- node skywalk-sdd/log.cjs record --type=task_update --command=apply --project=. --change=<变更名称> --capability=<capability-name> --task-id=<TASK-ID> --agent=<Agent类型> --source=opsx-command --session-id=<会话ID> --status=completed --result=success --summary="<TASK-ID> 测试骨架完成(TDD 红灯)" --details-json='{"task_kind":"test-skeleton","test_results":{"command":"<实际测试命令>","passed":0,"failed":<红灯数>,"skipped":0,"duration_ms":0}}'
126
+ node "$(cat .sdd-spec-root)/skywalk-sdd/log.cjs" record --strict --type=test_result --command=apply --project=. --change=<变更名称> --capability=<capability-name> --task-id=<TASK-ID> --run-id=<真实执行稳定ID> --agent=<Agent类型> --source=opsx-command --session-id=<会话ID> --result=failure --summary="<TASK-ID> TDD 红灯符合预期" --details-json='{"test_results":{"tdd_phase":"red","verified_task_ids":["<TASK-ID>"],"command":"<实际测试命令>","exit_code":<非零退出码>,"counts_known":true,"passed":0,"failed":<红灯数>,"skipped":0,"duration_ms":<实测毫秒>,"failure_type":"assertion","expected_failure":true}}'
127
127
  ```
128
128
 
129
129
  **实现任务**(不带 `task_kind`):
130
130
 
131
131
  ```bash
132
- node skywalk-sdd/log.cjs record --type=task_update --command=apply --project=. --change=<变更名称> --capability=<capability-name> --task-id=<TASK-ID> --agent=<Agent类型> --source=opsx-command --session-id=<会话ID> --status=completed --result=success --summary="<TASK-ID> 完成" --details-json='{"files_changed":[],"test_results":{"command":"<实际测试命令>","passed":<通过数>,"failed":0,"skipped":0,"duration_ms":0}}'
132
+ node "$(cat .sdd-spec-root)/skywalk-sdd/log.cjs" record --strict --type=task_update --command=apply --project=. --change=<变更名称> --capability=<capability-name> --task-id=<TASK-ID> --run-id=<任务更新稳定ID> --agent=<Agent类型> --source=opsx-command --session-id=<会话ID> --status=completed --result=success --summary="<TASK-ID> 完成" --details-json='{"files_changed":[],"task_update":{"test_event_id":"<成功的green/refactor测试event_id>","tdd_required":true}}'
133
133
  ```
134
134
 
135
135
  ## §9 单元测试真实执行
@@ -138,9 +138,9 @@ node skywalk-sdd/log.cjs record --type=task_update --command=apply --project=. -
138
138
 
139
139
  1. 在结束 apply 或执行收尾之前,必须真实运行单元测试命令
140
140
  2. 须留下可核验 telemetry 证据(任选其一):
141
- - `node skywalk-sdd/log.cjs record --type=test_result ...`(`test_results.command` 非空,且 `passed`/`failed`/`duration_ms` 有实际值)
142
- - `task_update` `details-json` `test_results` 含真实执行数据
143
- - 或单独运行 `/opsx-test` 并完成 `command=test` `stage_end`
141
+ - 严格 `test_result`:包含真实命令、exit code、耗时、`run-id`、TDD phase `verified_task_ids`
142
+ - 或单独运行 `/opsx-test`,写入 `snapshot_kind:"final"` 的严格 `test_result`
143
+ - `task_update` 只引用上述成功测试的 `event_id`,不得内嵌测试计数
144
144
  3. `sdd-apply-test-gate.cjs` 会在 `log.cjs end`、`apply-worktree-finish`、会话 Stop 时自动校验,无证据则阻断
145
145
 
146
146
  | test-strategy | 行为 |
@@ -1,13 +1,13 @@
1
1
  ---
2
- name: opsx-tdd-metrics
2
+ name: tdd-metrics
3
3
  description: "度量分析层 — 测试质量量化度量:隔离评分、命名评分、测试异味检测、覆盖率缺口分析。当需要量化测试质量时引用本技能。"
4
4
  ---
5
5
 
6
- # opsx-tdd-metrics — 度量分析层
6
+ # tdd-metrics — 度量分析层
7
7
 
8
8
  > **定位**:测试质量的量化度量,提供可计算的评分。
9
9
  > **参考来源**:tdd-guide `metrics_calculator.py`
10
- > **引用方式**:**可选引用**。本技能不参与强制流程,仅在需要量化评估测试质量时按需读取。`opsx-check` 和 `opsx-apply` 的强制检查引用 `opsx-tdd-core/checklist.md` 和 `opsx-tdd-review`,不引用本技能。
10
+ > **引用方式**:**可选引用**。本技能不参与强制流程,仅在需要量化评估测试质量时按需读取。`opsx-check` 和 `opsx-apply` 的强制检查引用 `tdd-core/checklist.md` 和 `tdd-review`,不引用本技能。
11
11
 
12
12
  ---
13
13
 
@@ -1,8 +1,8 @@
1
1
  ---
2
- description: "opsx-tdd-metrics 自检清单 — 隔离评分、命名评分、可测试性评分的计算口径。仅在量化测试质量时读取。"
2
+ description: "tdd-metrics 自检清单 — 隔离评分、命名评分、可测试性评分的计算口径。仅在量化测试质量时读取。"
3
3
  ---
4
4
 
5
- # opsx-tdd-metrics — 自检清单
5
+ # tdd-metrics — 自检清单
6
6
 
7
7
  > 仅在量化测试质量时读取。日常流程见 `SKILL.md`。
8
8
 
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: opsx-tdd-quality
2
+ name: tdd-quality
3
3
  description: "单测代码质量层 — Mock 边界矩阵、测试命名规范、Given-When-Then 结构、Java 测试规则等。当编写或审查测试代码时引用本技能。"
4
4
  ---
5
5
 
6
- # opsx-tdd-quality — 单测代码质量层
6
+ # tdd-quality — 单测代码质量层
7
7
 
8
8
  > **定位**:单元测试代码的质量标准,不涉及流程,只关注"写出来的测试代码本身是否高质量"。
9
9
  > **参考来源**:unit-tests-skills(14 通用规则 + 6 Java 规则)
@@ -1,7 +1,7 @@
1
1
  # 参数化测试指导
2
2
 
3
3
  > 影响等级:MEDIUM
4
- > 引用方:opsx-tdd-quality/SKILL.md §7
4
+ > 引用方:tdd-quality/SKILL.md §7
5
5
 
6
6
  ## 适用场景
7
7
 
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: opsx-tdd-review
2
+ name: tdd-review
3
3
  description: "测试审查层 — 从审查者角度检测'测试通过但没测到关键点'。8 项质量检查 + 缺失测试检测 + 测试异味检测。当审查测试代码时引用本技能。"
4
4
  ---
5
5
 
6
- # opsx-tdd-review — 测试审查层
6
+ # tdd-review — 测试审查层
7
7
 
8
8
  > **定位**:从审查者角度检测"测试通过但没测到关键点"。
9
9
  > **参考来源**:code-reviewer Phase 5 + tdd-guide 测试质量审查
@@ -45,7 +45,7 @@ description: "测试审查层 — 从审查者角度检测'测试通过但没测
45
45
 
46
46
  ## §5 测试异味检测
47
47
 
48
- > 完整检测信号见 `opsx-tdd-metrics/SKILL.md` §3,此处仅保留快速参考。
48
+ > 完整检测信号见 `tdd-metrics/SKILL.md` §3,此处仅保留快速参考。
49
49
 
50
50
  | 异味 | 检测信号 | 严重程度 |
51
51
  |------|---------|---------|
@@ -84,11 +84,11 @@ Agent (general-purpose):
84
84
 
85
85
  ## 审查清单
86
86
 
87
- 执行 opsx-tdd-review/SKILL.md §3(8 项质量审查)+ §4(缺失测试检测)+ §5(测试异味检测)。
87
+ 执行 tdd-review/SKILL.md §3(8 项质量审查)+ §4(缺失测试检测)+ §5(测试异味检测)。
88
88
  对于 GREEN 任务,额外检查:
89
89
  - GREEN Scope: 生产代码中是否有未被当前 RED 断言覆盖的逻辑分支?
90
90
  - YAGNI 围栏: 是否提前实现了后续 RED 的行为?
91
- - 反模式: 执行 opsx-tdd-anti-patterns/SKILL.md §4(12 种 GREEN 后反模式)
91
+ - 反模式: 执行 tdd-anti-patterns/SKILL.md §4(12 种 GREEN 后反模式)
92
92
 
93
93
  ## 审查标准
94
94
 
@@ -1,8 +1,8 @@
1
1
  ---
2
- description: "opsx-tdd-review 自检清单 — 测试质量审查 8 项 + 缺失测试检测 + 测试异味检测。仅在审查测试代码时读取。"
2
+ description: "tdd-review 自检清单 — 测试质量审查 8 项 + 缺失测试检测 + 测试异味检测。仅在审查测试代码时读取。"
3
3
  ---
4
4
 
5
- # opsx-tdd-review — 自检清单
5
+ # tdd-review — 自检清单
6
6
 
7
7
  > 仅在审查测试代码时读取。日常流程见 `SKILL.md`。
8
8
 
@@ -11,7 +11,7 @@ description: "opsx-tdd-review 自检清单 — 测试质量审查 8 项 + 缺失
11
11
  - [ ] 测试是否真正断言了有意义的行为(而非仅 mock 存在)
12
12
  - [ ] 测试是否独立隔离(无测试间依赖)
13
13
  - [ ] 测试名称是否清晰描述被测内容(符合 `{method}_{state}_{outcome}`)
14
- - [ ] mock 和 stub 是否正确使用(Mock 边界,不 Mock 行为,见 `opsx-tdd-quality/SKILL.md` §2)
14
+ - [ ] mock 和 stub 是否正确使用(Mock 边界,不 Mock 行为,见 `tdd-quality/SKILL.md` §2)
15
15
  - [ ] 无测试间依赖
16
16
  - [ ] 无 sleep 或任意等待
17
17
  - [ ] 测试了正常路径 + 错误条件 + 边界值 + 空输入
@@ -19,7 +19,7 @@ description: "opsx-tdd-review 自检清单 — 测试质量审查 8 项 + 缺失
19
19
 
20
20
  ## §B 缺失测试检测
21
21
 
22
- - [ ] 未测试的错误路径(每个 orElseThrow/边界检查有对应测试,见 `opsx-tdd-rules/rules/exception-path-coverage.md`)
22
+ - [ ] 未测试的错误路径(每个 orElseThrow/边界检查有对应测试,见 `tdd-rules/rules/exception-path-coverage.md`)
23
23
  - [ ] 缺失的负面测试用例
24
24
  - [ ] 未覆盖的边界条件
25
25
  - [ ] bug 修复无回归测试
@@ -36,4 +36,4 @@ description: "opsx-tdd-review 自检清单 — 测试质量审查 8 项 + 缺失
36
36
 
37
37
  ## §D 反模式检测
38
38
 
39
- - [ ] 已检查 `opsx-tdd-anti-patterns/SKILL.md` §3-§4 的 15 种反模式
39
+ - [ ] 已检查 `tdd-anti-patterns/SKILL.md` §3-§4 的 15 种反模式
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: opsx-tdd-rules
2
+ name: tdd-rules
3
3
  description: "TDD 规则库 — DAG 生成规则、Controller 策略、任务类型定义、telemetry 模板等独立规则文件。当需要具体 TDD 规则文件时引用本技能。"
4
4
  ---
5
5
 
6
- # opsx-tdd-rules — 规则库
6
+ # tdd-rules — 规则库
7
7
 
8
8
  > **定位**:TDD 相关的规则文件集合,供其他技能按需引用。
9
9
  > **参考来源**:unit-tests-skills rules/ 目录模式
@@ -26,4 +26,4 @@ description: "TDD 规则库 — DAG 生成规则、Controller 策略、任务类
26
26
  | `rules/des-step-annotation.md` | DES 元素步骤级标注规则(TDD 模式下标注 [GREEN-N] 归属) | MEDIUM | opsx-design |
27
27
  | `rules/multi-validation-split.md` | 多校验条件拆分规则(每个校验条件须有独立 AC 场景;AC 内"或"条件变体须全覆盖) | MEDIUM | opsx-spec, opsx-task, opsx-check |
28
28
  | `rules/exception-path-coverage.md` | 异常路径测试覆盖门禁(每个 orElseThrow/边界检查须有对应 RED 测试) | HIGH | opsx-task, opsx-apply, opsx-check |
29
- | `rules/refactor-checklist.md` | REFACTOR 阶段检查点(public API 不变、行为保持、重构质量评估) | HIGH | opsx-apply, opsx-tdd-core |
29
+ | `rules/refactor-checklist.md` | REFACTOR 阶段检查点(public API 不变、行为保持、重构质量评估) | HIGH | opsx-apply, tdd-core |
@@ -15,4 +15,4 @@
15
15
 
16
16
  Controller 层**不属于**非 TDD 模块。Controller 必须有测试,通过策略 A(TDD 红绿循环)或策略 B(impl-first 接线测试)实现。
17
17
 
18
- > Controller 策略选择见 `opsx-tdd-rules/rules/controller-strategy.md`,必须在 tasks.md §2.0 中声明。
18
+ > Controller 策略选择见 `tdd-rules/rules/controller-strategy.md`,必须在 tasks.md §2.0 中声明。
@@ -1,7 +1,7 @@
1
1
  # REFACTOR 阶段检查点
2
2
 
3
3
  > 影响等级:HIGH
4
- > 引用方:opsx-tdd-core/reference.md §3(REFACTOR 执行步骤)、opsx-apply/implementer-prompt.md(REFACTOR 任务执行)、opsx-apply/checklist.md(REFACTOR 门禁)
4
+ > 引用方:tdd-core/reference.md §3(REFACTOR 执行步骤)、opsx-apply/implementer-prompt.md(REFACTOR 任务执行)、opsx-apply/checklist.md(REFACTOR 门禁)
5
5
 
6
6
  ## 核心原则
7
7
 
@@ -0,0 +1,19 @@
1
+ # test-skeleton telemetry 模板
2
+
3
+ > 影响等级:MEDIUM
4
+
5
+ ## TDD 测试骨架任务
6
+
7
+ 当任务是“测试骨架”时,真实红灯必须单独记录为严格 `test_result`;任务状态事件不得复制测试计数。
8
+
9
+ ```bash
10
+ node "$(cat .sdd-spec-root)/skywalk-sdd/log.cjs" record --strict --type=test_result --command=apply --project=. --change=<变更名称> --capability=<capability-name> --task-id=<TASK-ID> --run-id=<真实执行稳定ID> --agent=<Agent类型> --source=opsx-command --session-id=<会话ID> --result=failure --summary="<TASK-ID> TDD 红灯符合预期" --details-json='{"test_results":{"tdd_phase":"red","verified_task_ids":["<TASK-ID>"],"command":"<实际测试命令>","exit_code":<非零退出码>,"counts_known":true,"passed":0,"failed":<红灯数>,"skipped":0,"duration_ms":<实测毫秒>,"failure_type":"assertion","expected_failure":true}}'
11
+ ```
12
+
13
+ ## 实现任务
14
+
15
+ 实现任务不带 `task_kind`(默认 implementation),按真实测试结果记录。
16
+
17
+ ```bash
18
+ node "$(cat .sdd-spec-root)/skywalk-sdd/log.cjs" record --strict --type=task_update --command=apply --project=. --change=<变更名称> --capability=<capability-name> --task-id=<TASK-ID> --run-id=<任务更新稳定ID> --agent=<Agent类型> --source=opsx-command --session-id=<会话ID> --status=completed --result=success --summary="<TASK-ID> 完成" --details-json='{"files_changed":[],"task_update":{"test_event_id":"<成功的green/refactor测试event_id>","tdd_required":true}}'
19
+ ```
@@ -1,19 +0,0 @@
1
- # test-skeleton telemetry 模板
2
-
3
- > 影响等级:MEDIUM
4
-
5
- ## TDD 测试骨架任务
6
-
7
- 当任务是"测试骨架"(仅编写测试用例、实现尚未编写,测试预期失败/红灯)时,`task_update` 必须在 `--details-json` 中带 `"task_kind":"test-skeleton"`,`--result=success`(骨架按 TDD 计划完成即成功),`test_results.failed` 如实记录红灯数。
8
-
9
- ```bash
10
- node skywalk-sdd/log.cjs record --type=task_update --command=apply --project=. --change=<变更名称> --capability=<capability-name> --task-id=<TASK-ID> --agent=<Agent类型> --source=opsx-command --session-id=<会话ID> --status=completed --result=success --summary="<TASK-ID> 测试骨架完成(TDD 红灯)" --details-json='{"task_kind":"test-skeleton","test_results":{"command":"<实际测试命令>","passed":0,"failed":<红灯数>,"skipped":0,"duration_ms":0}}'
11
- ```
12
-
13
- ## 实现任务
14
-
15
- 实现任务不带 `task_kind`(默认 implementation),按真实测试结果记录。
16
-
17
- ```bash
18
- node skywalk-sdd/log.cjs record --type=task_update --command=apply --project=. --change=<变更名称> --capability=<capability-name> --task-id=<TASK-ID> --agent=<Agent类型> --source=opsx-command --session-id=<会话ID> --status=completed --result=success --summary="<TASK-ID> 完成" --details-json='{"files_changed":[],"test_results":{"command":"<实际测试命令>","passed":<通过数>,"failed":0,"skipped":0,"duration_ms":0}}'
19
- ```