soloforge 1.2.2 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/README.md +229 -28
  2. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  3. package/dist/adapters/claude_code/tools.js +319 -5
  4. package/dist/adapters/claude_code/tools.js.map +1 -1
  5. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  6. package/dist/adapters/shared/workflow_template.js +26 -3
  7. package/dist/adapters/shared/workflow_template.js.map +1 -1
  8. package/dist/bin/soloforge.js +169 -13
  9. package/dist/bin/soloforge.js.map +1 -1
  10. package/dist/engine/audit_pool.d.ts +36 -0
  11. package/dist/engine/audit_pool.d.ts.map +1 -0
  12. package/dist/engine/audit_pool.js +83 -0
  13. package/dist/engine/audit_pool.js.map +1 -0
  14. package/dist/engine/audit_sampler.d.ts +15 -0
  15. package/dist/engine/audit_sampler.d.ts.map +1 -0
  16. package/dist/engine/audit_sampler.js +26 -0
  17. package/dist/engine/audit_sampler.js.map +1 -0
  18. package/dist/engine/capability_action_advisor.d.ts +24 -0
  19. package/dist/engine/capability_action_advisor.d.ts.map +1 -0
  20. package/dist/engine/capability_action_advisor.js +147 -0
  21. package/dist/engine/capability_action_advisor.js.map +1 -0
  22. package/dist/engine/capability_registry.d.ts +23 -1
  23. package/dist/engine/capability_registry.d.ts.map +1 -1
  24. package/dist/engine/capability_registry.js +511 -19
  25. package/dist/engine/capability_registry.js.map +1 -1
  26. package/dist/engine/capability_state_store.d.ts +50 -0
  27. package/dist/engine/capability_state_store.d.ts.map +1 -0
  28. package/dist/engine/capability_state_store.js +123 -0
  29. package/dist/engine/capability_state_store.js.map +1 -0
  30. package/dist/engine/cognitive_anchor.d.ts +59 -0
  31. package/dist/engine/cognitive_anchor.d.ts.map +1 -0
  32. package/dist/engine/cognitive_anchor.js +68 -0
  33. package/dist/engine/cognitive_anchor.js.map +1 -0
  34. package/dist/engine/conflict_gate.d.ts +36 -0
  35. package/dist/engine/conflict_gate.d.ts.map +1 -0
  36. package/dist/engine/conflict_gate.js +73 -0
  37. package/dist/engine/conflict_gate.js.map +1 -0
  38. package/dist/engine/decision_contract.d.ts +29 -0
  39. package/dist/engine/decision_contract.d.ts.map +1 -0
  40. package/dist/engine/decision_contract.js +41 -0
  41. package/dist/engine/decision_contract.js.map +1 -0
  42. package/dist/engine/delivery.d.ts.map +1 -1
  43. package/dist/engine/delivery.js +83 -0
  44. package/dist/engine/delivery.js.map +1 -1
  45. package/dist/engine/developer_sovereignty.d.ts +62 -0
  46. package/dist/engine/developer_sovereignty.d.ts.map +1 -0
  47. package/dist/engine/developer_sovereignty.js +134 -0
  48. package/dist/engine/developer_sovereignty.js.map +1 -0
  49. package/dist/engine/diff_ownership.d.ts +74 -0
  50. package/dist/engine/diff_ownership.d.ts.map +1 -0
  51. package/dist/engine/diff_ownership.js +143 -0
  52. package/dist/engine/diff_ownership.js.map +1 -0
  53. package/dist/engine/diff_ownership_store.d.ts +76 -0
  54. package/dist/engine/diff_ownership_store.d.ts.map +1 -0
  55. package/dist/engine/diff_ownership_store.js +264 -0
  56. package/dist/engine/diff_ownership_store.js.map +1 -0
  57. package/dist/engine/escape_report.d.ts +45 -0
  58. package/dist/engine/escape_report.d.ts.map +1 -0
  59. package/dist/engine/escape_report.js +97 -0
  60. package/dist/engine/escape_report.js.map +1 -0
  61. package/dist/engine/exploration.d.ts +54 -0
  62. package/dist/engine/exploration.d.ts.map +1 -1
  63. package/dist/engine/exploration.js +138 -0
  64. package/dist/engine/exploration.js.map +1 -1
  65. package/dist/engine/governance_report.d.ts +36 -0
  66. package/dist/engine/governance_report.d.ts.map +1 -0
  67. package/dist/engine/governance_report.js +79 -0
  68. package/dist/engine/governance_report.js.map +1 -0
  69. package/dist/engine/java_quality_guard.d.ts +52 -0
  70. package/dist/engine/java_quality_guard.d.ts.map +1 -0
  71. package/dist/engine/java_quality_guard.js +237 -0
  72. package/dist/engine/java_quality_guard.js.map +1 -0
  73. package/dist/engine/job_manager.d.ts +76 -0
  74. package/dist/engine/job_manager.d.ts.map +1 -0
  75. package/dist/engine/job_manager.js +225 -0
  76. package/dist/engine/job_manager.js.map +1 -0
  77. package/dist/engine/knowledge_sovereignty.d.ts +61 -0
  78. package/dist/engine/knowledge_sovereignty.d.ts.map +1 -0
  79. package/dist/engine/knowledge_sovereignty.js +190 -0
  80. package/dist/engine/knowledge_sovereignty.js.map +1 -0
  81. package/dist/engine/mutation_audit.d.ts +43 -0
  82. package/dist/engine/mutation_audit.d.ts.map +1 -0
  83. package/dist/engine/mutation_audit.js +118 -0
  84. package/dist/engine/mutation_audit.js.map +1 -0
  85. package/dist/engine/policy_drift_detector.d.ts +46 -0
  86. package/dist/engine/policy_drift_detector.d.ts.map +1 -0
  87. package/dist/engine/policy_drift_detector.js +181 -0
  88. package/dist/engine/policy_drift_detector.js.map +1 -0
  89. package/dist/engine/regression_matrix.d.ts +102 -0
  90. package/dist/engine/regression_matrix.d.ts.map +1 -0
  91. package/dist/engine/regression_matrix.js +380 -0
  92. package/dist/engine/regression_matrix.js.map +1 -0
  93. package/dist/engine/risk_sampler.d.ts +37 -0
  94. package/dist/engine/risk_sampler.d.ts.map +1 -0
  95. package/dist/engine/risk_sampler.js +69 -0
  96. package/dist/engine/risk_sampler.js.map +1 -0
  97. package/dist/engine/runtime_safety.d.ts +80 -0
  98. package/dist/engine/runtime_safety.d.ts.map +1 -0
  99. package/dist/engine/runtime_safety.js +195 -0
  100. package/dist/engine/runtime_safety.js.map +1 -0
  101. package/dist/engine/scope_lease.d.ts +45 -0
  102. package/dist/engine/scope_lease.d.ts.map +1 -0
  103. package/dist/engine/scope_lease.js +122 -0
  104. package/dist/engine/scope_lease.js.map +1 -0
  105. package/dist/engine/semantic_evidence.d.ts +23 -0
  106. package/dist/engine/semantic_evidence.d.ts.map +1 -0
  107. package/dist/engine/semantic_evidence.js +81 -0
  108. package/dist/engine/semantic_evidence.js.map +1 -0
  109. package/dist/engine/task_context.d.ts +16 -0
  110. package/dist/engine/task_context.d.ts.map +1 -1
  111. package/dist/engine/task_context.js +58 -0
  112. package/dist/engine/task_context.js.map +1 -1
  113. package/dist/engine/verifier.d.ts.map +1 -1
  114. package/dist/engine/verifier.js +22 -1
  115. package/dist/engine/verifier.js.map +1 -1
  116. package/dist/engine/workspace_resumer.d.ts +43 -0
  117. package/dist/engine/workspace_resumer.d.ts.map +1 -1
  118. package/dist/engine/workspace_resumer.js +119 -4
  119. package/dist/engine/workspace_resumer.js.map +1 -1
  120. package/dist/engine/zero_config_init.d.ts +87 -0
  121. package/dist/engine/zero_config_init.d.ts.map +1 -0
  122. package/dist/engine/zero_config_init.js +427 -0
  123. package/dist/engine/zero_config_init.js.map +1 -0
  124. package/dist/knowledge/index_manager.d.ts +19 -0
  125. package/dist/knowledge/index_manager.d.ts.map +1 -1
  126. package/dist/knowledge/index_manager.js +31 -0
  127. package/dist/knowledge/index_manager.js.map +1 -1
  128. package/dist/knowledge/writer.d.ts.map +1 -1
  129. package/dist/knowledge/writer.js +1 -0
  130. package/dist/knowledge/writer.js.map +1 -1
  131. package/dist/types.d.ts +61 -1
  132. package/dist/types.d.ts.map +1 -1
  133. package/package.json +2 -2
  134. package/templates/knowledge/patterns/core/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +47 -0
  135. package/templates/knowledge/patterns/core/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +46 -0
  136. package/templates/knowledge/patterns/core/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +46 -0
  137. package/templates/knowledge/patterns/core//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237.md +47 -0
  138. package/templates/knowledge/patterns/core//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +47 -0
  139. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/344/270/216/345/257/206/351/222/245/346/213/246/346/210/252.md +46 -0
  140. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +47 -0
  141. package/templates/knowledge/patterns/core//345/206/262/347/252/201/351/227/250/347/246/201.md +47 -0
  142. package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +30 -11
  143. package/templates/knowledge/patterns/core//345/217/230/345/274/202/345/256/241/350/256/241.md +20 -0
  144. package/templates/knowledge/patterns/core//345/233/236/345/275/222/347/237/251/351/230/265.md +46 -0
  145. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +44 -0
  146. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +46 -0
  147. package/templates/knowledge/patterns/core//345/271/266/345/217/221/351/224/201.md +29 -16
  148. package/templates/knowledge/patterns/core//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +20 -0
  149. package/templates/knowledge/patterns/core//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +45 -0
  150. package/templates/knowledge/patterns/core//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +48 -0
  151. package/templates/knowledge/patterns/core//346/265/201/345/274/217/345/277/203/350/267/263.md +20 -0
  152. package/templates/knowledge/patterns/core//347/237/245/350/257/206/344/270/273/346/235/203.md +20 -0
  153. package/templates/knowledge/patterns/core//350/257/255/344/271/211/350/257/201/346/215/256.md +47 -0
  154. package/templates/knowledge/patterns/core//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +50 -0
  155. package/templates/knowledge/patterns/core//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +47 -0
  156. package/templates/knowledge/patterns/core//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +46 -0
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * 能力状态登记表 — 声明每个治理能力的当前等级,防止文档和实现过度承诺。
3
3
  *
4
- * P1-1 范围: 仅做状态登记 + 查询。policy_id / 漂移检测留 P1-2。
4
+ * P1-4 范围: 状态登记 + policy_id + 交叉引用 + 晋级/降级条件与证据要求(只读)。
5
+ * 不做自动晋级/降级,不接抽检池,不改状态。
5
6
  *
6
7
  * 状态等级:
7
8
  * - enforced: 强制执行,违规即 hard fail,阻断流程
@@ -15,7 +16,26 @@ const BUILTIN_CAPABILITIES = [
15
16
  name: "任务上下文生命周期",
16
17
  state: "enforced",
17
18
  owner_module: "engine/task_context",
18
- evidence: "VALID_TRANSITIONS 状态机 + updateStatus 校验 + 617 tests",
19
+ evidence: "VALID_TRANSITIONS 状态机 + updateStatus 校验",
20
+ policy_id: "CAP-001",
21
+ code_files: ["src/engine/task_context.ts"],
22
+ test_files: ["tests/engine/task_context.test.ts"],
23
+ lifecycle_test_files: ["tests/engine/task_context.test.ts"],
24
+ knowledge_docs: ["templates/knowledge/patterns/core/任务上下文生命周期.md"],
25
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
26
+ promotion_conditions: [
27
+ "生命周期测试覆盖所有状态转移",
28
+ "并发场景下无竞态条件",
29
+ ],
30
+ demotion_conditions: [
31
+ "核心状态转移出现逃逸(任务绕过状态机)",
32
+ "状态机变更未同步测试",
33
+ ],
34
+ evidence_requirements: [
35
+ "全量状态转移测试通过",
36
+ "handler 生命周期测试通过",
37
+ "无已知逃逸缺陷",
38
+ ],
19
39
  reason: "核心状态机,所有 handler 依赖此约束",
20
40
  },
21
41
  {
@@ -24,6 +44,24 @@ const BUILTIN_CAPABILITIES = [
24
44
  state: "enforced",
25
45
  owner_module: "engine/verifier",
26
46
  evidence: "generateVerifyCommands 覆盖 config/doc-only/repo 匹配三个分支",
47
+ policy_id: "CAP-002",
48
+ code_files: ["src/engine/verifier.ts"],
49
+ test_files: ["tests/engine/verifier_phase25.test.ts"],
50
+ lifecycle_test_files: ["tests/engine/verifier_phase25.test.ts"],
51
+ knowledge_docs: ["templates/knowledge/patterns/core/验证命令生成.md"],
52
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
53
+ promotion_conditions: [
54
+ "覆盖所有项目类型(monorepo/polyrepo)",
55
+ "自定义命令模板验证通过",
56
+ ],
57
+ demotion_conditions: [
58
+ "生成的命令在标准项目上失败",
59
+ "新项目类型未覆盖且无 fallback",
60
+ ],
61
+ evidence_requirements: [
62
+ "config/doc-only/repo 三分支测试通过",
63
+ "边界项目(无 package.json)验证通过",
64
+ ],
27
65
  reason: "编译和测试命令是质量门禁的基础",
28
66
  },
29
67
  {
@@ -32,6 +70,25 @@ const BUILTIN_CAPABILITIES = [
32
70
  state: "enforced",
33
71
  owner_module: "engine/scope_controller",
34
72
  evidence: "checkScope() 路径校验 + detectSecrets() 密钥扫描 + gitleaks 集成",
73
+ policy_id: "CAP-003",
74
+ code_files: ["src/engine/scope_controller.ts"],
75
+ test_files: ["tests/engine/scope_controller.test.ts"],
76
+ lifecycle_test_files: ["tests/engine/scope_controller.test.ts"],
77
+ knowledge_docs: ["templates/knowledge/patterns/core/作用域与密钥拦截.md"],
78
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
79
+ promotion_conditions: [
80
+ "symlink 解析覆盖所有 OS",
81
+ "密钥检测误报率 < 1%",
82
+ ],
83
+ demotion_conditions: [
84
+ "合法路径被误判为越权",
85
+ "密钥检测出现 3+ 次逃逸",
86
+ ],
87
+ evidence_requirements: [
88
+ "路径匹配 + symlink 测试通过",
89
+ "密钥扫描 golden set 通过",
90
+ "无已知越权逃逸",
91
+ ],
35
92
  reason: "文件范围和安全是强制门禁",
36
93
  },
37
94
  {
@@ -40,6 +97,25 @@ const BUILTIN_CAPABILITIES = [
40
97
  state: "enforced",
41
98
  owner_module: "engine/scope_controller",
42
99
  evidence: "detectSecrets() 正则 + gitleaks 回退链,severity=blocked 阻断写入",
100
+ policy_id: "CAP-004",
101
+ code_files: ["src/engine/scope_controller.ts"],
102
+ test_files: ["tests/engine/scope_controller.test.ts"],
103
+ lifecycle_test_files: ["tests/engine/scope_controller.test.ts"],
104
+ knowledge_docs: ["templates/knowledge/patterns/core/敏感信息扫描.md"],
105
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
106
+ promotion_conditions: [
107
+ "误报率 < 0.5%",
108
+ "覆盖所有主流密钥格式(AWS/GCP/Azure/API key)",
109
+ ],
110
+ demotion_conditions: [
111
+ "密钥泄露逃逸(写入含密钥文件未被拦截)",
112
+ "误报率 > 5% 影响正常工作流",
113
+ ],
114
+ evidence_requirements: [
115
+ "golden set 密钥检测通过",
116
+ "误报率测试通过",
117
+ "无已知密钥泄露事件",
118
+ ],
43
119
  reason: "密钥泄露是最高风险,必须 hard fail",
44
120
  },
45
121
  {
@@ -48,7 +124,25 @@ const BUILTIN_CAPABILITIES = [
48
124
  state: "advisory",
49
125
  owner_module: "engine/workspace_resumer",
50
126
  evidence: "scanAndResume() 扫描 state 目录恢复中断任务,无 hard fail 逻辑",
51
- reason: "恢复是最佳实践但非强制,新会话可忽略恢复直接新建任务",
127
+ policy_id: "CAP-005",
128
+ code_files: ["src/engine/workspace_resumer.ts"],
129
+ test_files: ["tests/engine/workspace_resumer.test.ts"],
130
+ lifecycle_test_files: [],
131
+ knowledge_docs: ["templates/knowledge/patterns/core/工作区唤醒.md"],
132
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
133
+ promotion_conditions: [
134
+ "恢复后任务可无缝继续",
135
+ "corrupt state 文件降级处理(advisory 报告)",
136
+ ],
137
+ demotion_conditions: [
138
+ "恢复逻辑导致新任务状态异常",
139
+ "state 目录膨胀无清理机制",
140
+ ],
141
+ evidence_requirements: [
142
+ "中断恢复测试通过",
143
+ "corrupt state 处理测试通过",
144
+ ],
145
+ reason: "advisory: 恢复是最佳实践但非强制,新会话可忽略恢复直接新建任务",
52
146
  },
53
147
  {
54
148
  id: "llm_gateway",
@@ -56,7 +150,25 @@ const BUILTIN_CAPABILITIES = [
56
150
  state: "advisory",
57
151
  owner_module: "engine/llm_gateway",
58
152
  evidence: "H1 handler 返回 h1_advisory warning,任务仍继续进入 executing",
59
- reason: "预算耗尽是 warning 不是 hard fail,不应阻断任务",
153
+ policy_id: "CAP-006",
154
+ code_files: ["src/engine/llm_gateway.ts"],
155
+ test_files: ["tests/engine/llm_gateway.test.ts"],
156
+ lifecycle_test_files: [],
157
+ knowledge_docs: ["templates/knowledge/patterns/core/LLM预算网关.md", "templates/knowledge/patterns/core/决策网关.md", "templates/knowledge/patterns/core/流式心跳.md"],
158
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
159
+ promotion_conditions: [
160
+ "预算耗尽时建议降级到更便宜的模型(advisory 报告)",
161
+ "预算使用率可观测",
162
+ ],
163
+ demotion_conditions: [
164
+ "gateway 误判导致正常任务被阻断",
165
+ "预算计算逻辑出现严重偏差",
166
+ ],
167
+ evidence_requirements: [
168
+ "H1/H4 handler 测试通过",
169
+ "heartbeat 测试通过",
170
+ ],
171
+ reason: "advisory: 预算耗尽是 warning 不是 hard fail,不应阻断任务",
60
172
  },
61
173
  {
62
174
  id: "io_lock",
@@ -64,43 +176,392 @@ const BUILTIN_CAPABILITIES = [
64
176
  state: "advisory",
65
177
  owner_module: "engine/io_controller",
66
178
  evidence: "P0 已移除持久锁 acquire/release,仅保留 isLocked() 查询",
67
- reason: "锁机制为 advisory check,不强制阻断",
179
+ policy_id: "CAP-007",
180
+ code_files: ["src/engine/io_controller.ts"],
181
+ test_files: ["tests/engine/io_controller.test.ts"],
182
+ lifecycle_test_files: [],
183
+ knowledge_docs: ["templates/knowledge/patterns/core/工作区互斥锁.md"],
184
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
185
+ promotion_conditions: [
186
+ "跨进程互斥锁实现并通过并发测试",
187
+ "deadlock 检测与人工确认恢复",
188
+ ],
189
+ demotion_conditions: [
190
+ "互斥检查导致正常操作频繁失败",
191
+ "锁状态与实际不一致",
192
+ ],
193
+ evidence_requirements: [
194
+ "isLocked() 查询测试通过",
195
+ "写入前冲突检测测试通过",
196
+ ],
197
+ reason: "advisory: 锁机制为 advisory check,不强制阻断",
68
198
  },
69
199
  {
70
200
  id: "mutation_audit",
71
201
  name: "变异审计",
72
202
  state: "advisory",
73
- owner_module: "engine/test_quality",
74
- evidence: "test_quality 评分中变异覆盖率是建议维度,不阻断",
75
- reason: "变异测试是质量建议,非强制要求",
203
+ owner_module: "engine/mutation_audit",
204
+ evidence: "extractMutationPoints + computeMutationAudit + 评分中变异覆盖率是建议维度,不阻断",
205
+ policy_id: "CAP-008",
206
+ code_files: ["src/engine/mutation_audit.ts"],
207
+ test_files: ["tests/engine/mutation_audit.test.ts"],
208
+ lifecycle_test_files: [],
209
+ knowledge_docs: ["templates/knowledge/patterns/core/变异审计.md"],
210
+ prompt_files: [],
211
+ promotion_conditions: [
212
+ "变异覆盖率 > 80%",
213
+ "变异算子覆盖所有主流模式",
214
+ ],
215
+ demotion_conditions: [
216
+ "变异评分算法出现严重偏差",
217
+ "变异测试执行时间导致开发者跳过",
218
+ ],
219
+ evidence_requirements: [
220
+ "变异算子测试通过",
221
+ "评分一致性测试通过",
222
+ ],
223
+ reason: "advisory: 变异测试是质量建议,非强制要求",
76
224
  },
77
225
  {
78
226
  id: "knowledge_sovereignty",
79
227
  name: "知识主权",
80
228
  state: "advisory",
81
- owner_module: "engine/knowledge_config_loader",
82
- evidence: "模板迁移为中文语义化路径,审查规则 severity=critical 但不 hard fail",
83
- reason: "知识治理是建议性的,尚未接入强制门禁",
229
+ owner_module: "engine/knowledge_sovereignty",
230
+ evidence: "quarantineGate + promoteToQuarantine + promoteToCore + 三级生命周期,severity=critical 但不 hard fail",
231
+ policy_id: "CAP-009",
232
+ code_files: ["src/engine/knowledge_sovereignty.ts"],
233
+ test_files: ["tests/engine/knowledge_sovereignty.test.ts"],
234
+ lifecycle_test_files: [],
235
+ knowledge_docs: ["templates/knowledge/patterns/core/知识主权.md"],
236
+ prompt_files: [],
237
+ promotion_conditions: [
238
+ "知识模板覆盖所有审查规则",
239
+ "知识-代码漂移检测接入",
240
+ ],
241
+ demotion_conditions: [
242
+ "知识规则与代码实现严重不一致",
243
+ "知识模板格式频繁变更无兼容",
244
+ ],
245
+ evidence_requirements: [
246
+ "知识模板格式验证测试通过",
247
+ "中文语义化路径测试通过",
248
+ ],
249
+ reason: "advisory: 知识治理是建议性的,尚未接入强制门禁",
84
250
  },
85
251
  {
86
252
  id: "governance_runtime_loop",
87
253
  name: "治理运行时循环",
88
- state: "experimental",
89
- owner_module: "(未实现)",
90
- evidence: "仅在设计文档中规划,无代码实现",
91
- reason: "尚未实现,保留登记用于追踪规划",
254
+ state: "advisory",
255
+ owner_module: "engine/audit_sampler+escape_report+governance_report+capability_action_advisor",
256
+ evidence: "抽检(18)+逃逸报告(23)+治理报告(37)+能力状态(37)+集成(6)+handler(28)=149 cases, 只读不改状态",
257
+ policy_id: "CAP-010",
258
+ code_files: [
259
+ "src/engine/audit_sampler.ts",
260
+ "src/engine/escape_report.ts",
261
+ "src/engine/governance_report.ts",
262
+ "src/engine/capability_state_store.ts",
263
+ "src/engine/capability_action_advisor.ts",
264
+ ],
265
+ test_files: [
266
+ "tests/engine/audit_sampler.test.ts",
267
+ "tests/engine/escape_report.test.ts",
268
+ "tests/engine/governance_report.test.ts",
269
+ "tests/engine/capability_state_store.test.ts",
270
+ "tests/engine/governance_integration.test.ts",
271
+ "tests/adapters/p2_governance_tools.test.ts",
272
+ ],
273
+ lifecycle_test_files: ["tests/engine/governance_integration.test.ts"],
274
+ knowledge_docs: ["templates/knowledge/patterns/core/治理运行时循环.md"],
275
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
276
+ promotion_conditions: [
277
+ "所有治理闭环 handler 生命周期测试通过",
278
+ "跨工具闭环(sample→escape→report→update)无逃逸",
279
+ ],
280
+ demotion_conditions: [
281
+ "治理闭环工具产生误判导致正常能力被降级",
282
+ "report 数据与实际 escape 不一致",
283
+ ],
284
+ evidence_requirements: [
285
+ "抽检→逃逸→报告→显式更新闭环测试通过",
286
+ "MCP handler 闭环测试通过",
287
+ "无自动降级行为",
288
+ ],
289
+ reason: "advisory: 治理闭环只读不改,状态更新必须经 sf_capability_update + 人工确认",
92
290
  },
93
291
  {
94
292
  id: "diff_ownership",
95
293
  name: "Diff 归属追踪",
96
294
  state: "experimental",
97
- owner_module: "(未实现)",
98
- evidence: "仅在设计文档中规划,无代码实现",
99
- reason: "尚未实现,保留登记用于追踪规划",
295
+ owner_module: "engine/diff_ownership",
296
+ evidence: "diff_ownership 状态模型 + DiffOwnershipStore 持久化 + CAS 校验 + scope 目录展开排除 + 84 cases",
297
+ policy_id: "CAP-011",
298
+ code_files: ["src/engine/diff_ownership.ts", "src/engine/diff_ownership_store.ts"],
299
+ test_files: ["tests/engine/diff_ownership.test.ts", "tests/engine/diff_ownership_store.test.ts"],
300
+ lifecycle_test_files: [],
301
+ knowledge_docs: ["templates/knowledge/patterns/core/Diff归属追踪.md"],
302
+ prompt_files: [],
303
+ promotion_conditions: [
304
+ "归属追踪实现并通过集成测试",
305
+ "跨任务 diff 关联正确",
306
+ ],
307
+ demotion_conditions: [
308
+ "30 天内无进一步实现",
309
+ ],
310
+ evidence_requirements: [
311
+ "Diff 归属分类测试通过",
312
+ "CAS 校验生命周期测试通过",
313
+ "冲突检测测试通过",
314
+ ],
315
+ reason: "experimental: 只做状态模型和 CAS 校验,不替换现有写入流程,不新增 hard block",
316
+ },
317
+ {
318
+ id: "scope_lease",
319
+ name: "作用域租约",
320
+ state: "advisory",
321
+ owner_module: "engine/scope_lease",
322
+ evidence: "ScopeLeaseStore acquire/release/queryLease/getActiveLeases + 过期自动清理",
323
+ policy_id: "CAP-012",
324
+ code_files: ["src/engine/scope_lease.ts"],
325
+ test_files: ["tests/engine/scope_lease.test.ts"],
326
+ lifecycle_test_files: [],
327
+ knowledge_docs: ["templates/knowledge/patterns/core/作用域租约.md", "templates/knowledge/patterns/core/并发锁.md"],
328
+ prompt_files: [],
329
+ promotion_conditions: [
330
+ "跨进程租约测试通过",
331
+ "高并发 acquire 无竞态",
332
+ ],
333
+ demotion_conditions: [
334
+ "租约泄漏导致文件永久锁定",
335
+ "过期清理失效",
336
+ ],
337
+ evidence_requirements: [
338
+ "acquire/release 测试通过",
339
+ "过期清理测试通过",
340
+ ],
341
+ reason: "advisory: 租约是写入前建议检查,不强制阻断",
342
+ },
343
+ {
344
+ id: "conflict_gate",
345
+ name: "冲突门禁",
346
+ state: "advisory",
347
+ owner_module: "engine/conflict_gate",
348
+ evidence: "ConflictGate preWriteGate CAS 校验 + markConfirmed + 统一冲突报告",
349
+ policy_id: "CAP-013",
350
+ code_files: ["src/engine/conflict_gate.ts"],
351
+ test_files: ["tests/engine/conflict_gate.test.ts"],
352
+ lifecycle_test_files: [],
353
+ knowledge_docs: ["templates/knowledge/patterns/core/冲突门禁.md"],
354
+ prompt_files: [],
355
+ promotion_conditions: [
356
+ "CAS 校验覆盖所有文件类型",
357
+ "冲突报告自动合并",
358
+ ],
359
+ demotion_conditions: [
360
+ "CAS 误判率高导致频繁冲突",
361
+ "markConfirmed 后仍阻断",
362
+ ],
363
+ evidence_requirements: [
364
+ "CAS 校验测试通过",
365
+ "冲突报告测试通过",
366
+ ],
367
+ reason: "advisory: 冲突检测是建议性的,开发者可选择覆盖",
368
+ },
369
+ {
370
+ id: "semantic_evidence",
371
+ name: "语义证据",
372
+ state: "advisory",
373
+ owner_module: "engine/semantic_evidence",
374
+ evidence: "computeSemanticEvidence + buildDeliveryEvidenceChain + SHA256 hash chain",
375
+ policy_id: "CAP-014",
376
+ code_files: ["src/engine/semantic_evidence.ts"],
377
+ test_files: ["tests/engine/semantic_evidence.test.ts"],
378
+ lifecycle_test_files: [],
379
+ knowledge_docs: ["templates/knowledge/patterns/core/语义证据.md"],
380
+ prompt_files: [],
381
+ promotion_conditions: [
382
+ "所有需求点自动关联代码变更",
383
+ "证据链接入交付流程",
384
+ ],
385
+ demotion_conditions: [
386
+ "需求覆盖计算严重不准确",
387
+ "hash chain 校验失败",
388
+ ],
389
+ evidence_requirements: [
390
+ "语义证据计算测试通过",
391
+ "证据链完整性测试通过",
392
+ ],
393
+ reason: "advisory: 需求覆盖是质量建议,uncovered 不阻断交付",
394
+ },
395
+ {
396
+ id: "developer_sovereignty",
397
+ name: "开发者主权",
398
+ state: "advisory",
399
+ owner_module: "engine/developer_sovereignty",
400
+ evidence: "preDeliveryReview + delivery veto + rollback 绑定 commit_hash",
401
+ policy_id: "CAP-015",
402
+ code_files: ["src/engine/developer_sovereignty.ts"],
403
+ test_files: ["tests/engine/developer_sovereignty.test.ts"],
404
+ lifecycle_test_files: [],
405
+ knowledge_docs: ["templates/knowledge/patterns/core/开发者宪法.md"],
406
+ prompt_files: [],
407
+ promotion_conditions: [
408
+ "preDeliveryReview 接入真实 git diff",
409
+ "delivery veto 结果传递到 sf_deliver",
410
+ ],
411
+ demotion_conditions: [
412
+ "veto 误判阻断正常交付",
413
+ "rollback 命令不可执行",
414
+ ],
415
+ evidence_requirements: [
416
+ "preDeliveryReview 测试通过",
417
+ "veto 逻辑测试通过",
418
+ ],
419
+ reason: "advisory: 开发者主权的审查建议不 hard block 交付",
420
+ },
421
+ {
422
+ id: "job_manager",
423
+ name: "任务管理器",
424
+ state: "advisory",
425
+ owner_module: "engine/job_manager",
426
+ evidence: "JobManager createJob/updateCheckpoint/heartbeat/resumeFromCheckpoint + CognitiveAnchor",
427
+ policy_id: "CAP-016",
428
+ code_files: ["src/engine/job_manager.ts"],
429
+ test_files: ["tests/engine/job_manager.test.ts"],
430
+ lifecycle_test_files: [],
431
+ knowledge_docs: ["templates/knowledge/patterns/core/任务管理器.md"],
432
+ prompt_files: [],
433
+ promotion_conditions: [
434
+ "checkpoint 持久化并支持跨进程恢复",
435
+ "CognitiveAnchor 自动提取关键决策",
436
+ ],
437
+ demotion_conditions: [
438
+ "checkpoint 数据丢失",
439
+ "listActiveJobs 包含大量过期任务",
440
+ ],
441
+ evidence_requirements: [
442
+ "checkpoint 更新测试通过",
443
+ "恢复测试通过",
444
+ ],
445
+ reason: "advisory: 任务管理是辅助工具,不强制要求使用",
446
+ },
447
+ {
448
+ id: "zero_config_init",
449
+ name: "零配置初始化",
450
+ state: "advisory",
451
+ owner_module: "engine/zero_config_init",
452
+ evidence: "detectFingerprint 确定性检测 + generateConfigDraft 配置草案",
453
+ policy_id: "CAP-017",
454
+ code_files: ["src/engine/zero_config_init.ts"],
455
+ test_files: ["tests/engine/zero_config_init.test.ts"],
456
+ lifecycle_test_files: [],
457
+ knowledge_docs: ["templates/knowledge/patterns/core/零配置初始化.md"],
458
+ prompt_files: [],
459
+ promotion_conditions: [
460
+ "覆盖所有主流框架(Spring Boot/Go/Rust/Angular)",
461
+ "monorepo 多框架同时检测",
462
+ ],
463
+ demotion_conditions: [
464
+ "主流项目类型检测失败",
465
+ "fingerprint 不稳定(同项目不同结果)",
466
+ ],
467
+ evidence_requirements: [
468
+ "fingerprint 检测测试通过",
469
+ "配置草案格式验证通过",
470
+ ],
471
+ reason: "advisory: 自动检测是便利功能,可手动配置覆盖",
472
+ },
473
+ {
474
+ id: "java_quality_guard",
475
+ name: "Java 质量门禁",
476
+ state: "advisory",
477
+ owner_module: "engine/java_quality_guard",
478
+ evidence: "checkJavaQuality hard gate(空catch/raw type/System.out/Thread.sleep)+ advisory + 项目规则覆盖",
479
+ policy_id: "CAP-018",
480
+ code_files: ["src/engine/java_quality_guard.ts"],
481
+ test_files: ["tests/engine/java_quality_guard.test.ts"],
482
+ lifecycle_test_files: [],
483
+ knowledge_docs: ["templates/knowledge/patterns/core/Java质量门禁.md"],
484
+ prompt_files: [],
485
+ promotion_conditions: [
486
+ "覆盖所有 Java 代码异味",
487
+ "IDE 插件集成",
488
+ ],
489
+ demotion_conditions: [
490
+ "hard gate 误报率高",
491
+ "项目规则覆盖失效",
492
+ ],
493
+ evidence_requirements: [
494
+ "hard gate 测试通过",
495
+ "项目规则覆盖测试通过",
496
+ ],
497
+ reason: "advisory: Java 质量门禁中只有 hard gate 阻断,其余为建议",
498
+ },
499
+ {
500
+ id: "runtime_safety",
501
+ name: "运行安全包",
502
+ state: "advisory",
503
+ owner_module: "engine/runtime_safety",
504
+ evidence: "证据 hash chain + 命令副作用分级 + 供应链治理 + 迁移回滚契约",
505
+ policy_id: "CAP-019",
506
+ code_files: ["src/engine/runtime_safety.ts"],
507
+ test_files: ["tests/engine/runtime_safety.test.ts"],
508
+ lifecycle_test_files: [],
509
+ knowledge_docs: ["templates/knowledge/patterns/core/运行安全包.md"],
510
+ prompt_files: [],
511
+ promotion_conditions: [
512
+ "证据链接入所有交付流程",
513
+ "命令分级接入 verifier/deliver",
514
+ ],
515
+ demotion_conditions: [
516
+ "证据链 hash 校验失败",
517
+ "destructive 命令漏检",
518
+ ],
519
+ evidence_requirements: [
520
+ "证据链构建/验证测试通过",
521
+ "命令分级测试通过",
522
+ "供应链检查测试通过",
523
+ ],
524
+ reason: "advisory: 只有 destructive 命令需人工确认,其余为 advisory 警告",
525
+ },
526
+ {
527
+ id: "regression_matrix",
528
+ name: "回归矩阵",
529
+ state: "advisory",
530
+ owner_module: "engine/regression_matrix",
531
+ evidence: "6 fixtures(Spring Boot/React/Go/Node-TS/monorepo/docs-only)+ E2E pipeline(fingerprint→classify→expand→verify→learn→governance report)+ 复杂度预算",
532
+ policy_id: "CAP-020",
533
+ code_files: ["src/engine/regression_matrix.ts"],
534
+ test_files: ["tests/engine/regression_matrix.test.ts"],
535
+ lifecycle_test_files: [],
536
+ knowledge_docs: ["templates/knowledge/patterns/core/回归矩阵.md"],
537
+ prompt_files: [],
538
+ promotion_conditions: [
539
+ "fixture 落盘成临时 repo + 真实 detectFingerprint",
540
+ "覆盖所有项目类型兼容性",
541
+ ],
542
+ demotion_conditions: [
543
+ "fixture 模板过时",
544
+ "复杂度预算严重低估",
545
+ ],
546
+ evidence_requirements: [
547
+ "回归矩阵测试通过",
548
+ "复杂度预算报告正确",
549
+ ],
550
+ reason: "advisory: 回归矩阵是质量保证工具,复杂度超预算不阻断",
100
551
  },
101
552
  ];
102
553
  function cloneEntry(e) {
103
- return { ...e };
554
+ return {
555
+ ...e,
556
+ code_files: [...e.code_files],
557
+ test_files: [...e.test_files],
558
+ lifecycle_test_files: [...e.lifecycle_test_files],
559
+ knowledge_docs: [...e.knowledge_docs],
560
+ prompt_files: [...e.prompt_files],
561
+ promotion_conditions: [...e.promotion_conditions],
562
+ demotion_conditions: [...e.demotion_conditions],
563
+ evidence_requirements: [...e.evidence_requirements],
564
+ };
104
565
  }
105
566
  export function getAllCapabilities() {
106
567
  return BUILTIN_CAPABILITIES.map(cloneEntry);
@@ -130,4 +591,35 @@ export function getSummary() {
130
591
  cannot_hard_fail: [...advisory, ...experimental, ...removed].map((c) => c.id),
131
592
  };
132
593
  }
594
+ export function getAllPolicyRefs() {
595
+ return BUILTIN_CAPABILITIES.map((c) => ({
596
+ policy_id: c.policy_id,
597
+ capability_id: c.id,
598
+ state: c.state,
599
+ code_files: [...c.code_files],
600
+ test_files: [...c.test_files],
601
+ lifecycle_test_files: [...c.lifecycle_test_files],
602
+ knowledge_docs: [...c.knowledge_docs],
603
+ prompt_files: [...c.prompt_files],
604
+ }));
605
+ }
606
+ function isPlannedOnly(c) {
607
+ return (c.code_files.length === 0 &&
608
+ c.test_files.length === 0 &&
609
+ c.knowledge_docs.length === 0);
610
+ }
611
+ export function getDriftPolicyRefs() {
612
+ return BUILTIN_CAPABILITIES
613
+ .filter((c) => !isPlannedOnly(c))
614
+ .map((c) => ({
615
+ policy_id: c.policy_id,
616
+ capability_id: c.id,
617
+ state: c.state,
618
+ code_files: [...c.code_files],
619
+ test_files: [...c.test_files],
620
+ lifecycle_test_files: [...c.lifecycle_test_files],
621
+ knowledge_docs: [...c.knowledge_docs],
622
+ prompt_files: [...c.prompt_files],
623
+ }));
624
+ }
133
625
  //# sourceMappingURL=capability_registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability_registry.js","sourceRoot":"","sources":["../../src/engine/capability_registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability_registry.js","sourceRoot":"","sources":["../../src/engine/capability_registry.ts"],"names":[],"mappings":"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"}