soloforge 1.2.1 → 1.2.3

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 (185) hide show
  1. package/README.md +78 -18
  2. package/dist/adapters/claude_code/server.d.ts.map +1 -1
  3. package/dist/adapters/claude_code/server.js +2 -25
  4. package/dist/adapters/claude_code/server.js.map +1 -1
  5. package/dist/adapters/claude_code/tools.d.ts +8 -13
  6. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  7. package/dist/adapters/claude_code/tools.js +508 -87
  8. package/dist/adapters/claude_code/tools.js.map +1 -1
  9. package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
  10. package/dist/adapters/codex/codex_rules.js +23 -1
  11. package/dist/adapters/codex/codex_rules.js.map +1 -1
  12. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  13. package/dist/adapters/shared/workflow_template.js +25 -0
  14. package/dist/adapters/shared/workflow_template.js.map +1 -1
  15. package/dist/bin/soloforge.js +169 -18
  16. package/dist/bin/soloforge.js.map +1 -1
  17. package/dist/engine/audit_pool.d.ts +36 -0
  18. package/dist/engine/audit_pool.d.ts.map +1 -0
  19. package/dist/engine/audit_pool.js +83 -0
  20. package/dist/engine/audit_pool.js.map +1 -0
  21. package/dist/engine/audit_sampler.d.ts +15 -0
  22. package/dist/engine/audit_sampler.d.ts.map +1 -0
  23. package/dist/engine/audit_sampler.js +26 -0
  24. package/dist/engine/audit_sampler.js.map +1 -0
  25. package/dist/engine/audit_verifier.d.ts +1 -1
  26. package/dist/engine/audit_verifier.js +1 -1
  27. package/dist/engine/audit_verifier.js.map +1 -1
  28. package/dist/engine/capability_action_advisor.d.ts +24 -0
  29. package/dist/engine/capability_action_advisor.d.ts.map +1 -0
  30. package/dist/engine/capability_action_advisor.js +147 -0
  31. package/dist/engine/capability_action_advisor.js.map +1 -0
  32. package/dist/engine/capability_registry.d.ts +58 -0
  33. package/dist/engine/capability_registry.d.ts.map +1 -0
  34. package/dist/engine/capability_registry.js +625 -0
  35. package/dist/engine/capability_registry.js.map +1 -0
  36. package/dist/engine/capability_state_store.d.ts +50 -0
  37. package/dist/engine/capability_state_store.d.ts.map +1 -0
  38. package/dist/engine/capability_state_store.js +123 -0
  39. package/dist/engine/capability_state_store.js.map +1 -0
  40. package/dist/engine/cognitive_anchor.d.ts +59 -0
  41. package/dist/engine/cognitive_anchor.d.ts.map +1 -0
  42. package/dist/engine/cognitive_anchor.js +68 -0
  43. package/dist/engine/cognitive_anchor.js.map +1 -0
  44. package/dist/engine/conflict_gate.d.ts +36 -0
  45. package/dist/engine/conflict_gate.d.ts.map +1 -0
  46. package/dist/engine/conflict_gate.js +73 -0
  47. package/dist/engine/conflict_gate.js.map +1 -0
  48. package/dist/engine/decision_contract.d.ts +29 -0
  49. package/dist/engine/decision_contract.d.ts.map +1 -0
  50. package/dist/engine/decision_contract.js +41 -0
  51. package/dist/engine/decision_contract.js.map +1 -0
  52. package/dist/engine/delivery.d.ts.map +1 -1
  53. package/dist/engine/delivery.js +83 -0
  54. package/dist/engine/delivery.js.map +1 -1
  55. package/dist/engine/developer_sovereignty.d.ts +62 -0
  56. package/dist/engine/developer_sovereignty.d.ts.map +1 -0
  57. package/dist/engine/developer_sovereignty.js +134 -0
  58. package/dist/engine/developer_sovereignty.js.map +1 -0
  59. package/dist/engine/diff_ownership.d.ts +74 -0
  60. package/dist/engine/diff_ownership.d.ts.map +1 -0
  61. package/dist/engine/diff_ownership.js +143 -0
  62. package/dist/engine/diff_ownership.js.map +1 -0
  63. package/dist/engine/diff_ownership_store.d.ts +76 -0
  64. package/dist/engine/diff_ownership_store.d.ts.map +1 -0
  65. package/dist/engine/diff_ownership_store.js +264 -0
  66. package/dist/engine/diff_ownership_store.js.map +1 -0
  67. package/dist/engine/escape_report.d.ts +45 -0
  68. package/dist/engine/escape_report.d.ts.map +1 -0
  69. package/dist/engine/escape_report.js +97 -0
  70. package/dist/engine/escape_report.js.map +1 -0
  71. package/dist/engine/exploration.d.ts +54 -0
  72. package/dist/engine/exploration.d.ts.map +1 -1
  73. package/dist/engine/exploration.js +138 -0
  74. package/dist/engine/exploration.js.map +1 -1
  75. package/dist/engine/governance_report.d.ts +36 -0
  76. package/dist/engine/governance_report.d.ts.map +1 -0
  77. package/dist/engine/governance_report.js +79 -0
  78. package/dist/engine/governance_report.js.map +1 -0
  79. package/dist/engine/java_quality_guard.d.ts +52 -0
  80. package/dist/engine/java_quality_guard.d.ts.map +1 -0
  81. package/dist/engine/java_quality_guard.js +237 -0
  82. package/dist/engine/java_quality_guard.js.map +1 -0
  83. package/dist/engine/job_manager.d.ts +76 -0
  84. package/dist/engine/job_manager.d.ts.map +1 -0
  85. package/dist/engine/job_manager.js +225 -0
  86. package/dist/engine/job_manager.js.map +1 -0
  87. package/dist/engine/knowledge_config_loader.d.ts +1 -1
  88. package/dist/engine/knowledge_config_loader.js +1 -1
  89. package/dist/engine/knowledge_sovereignty.d.ts +61 -0
  90. package/dist/engine/knowledge_sovereignty.d.ts.map +1 -0
  91. package/dist/engine/knowledge_sovereignty.js +190 -0
  92. package/dist/engine/knowledge_sovereignty.js.map +1 -0
  93. package/dist/engine/llm_gateway.js +2 -2
  94. package/dist/engine/llm_gateway.js.map +1 -1
  95. package/dist/engine/mutation_audit.d.ts +43 -0
  96. package/dist/engine/mutation_audit.d.ts.map +1 -0
  97. package/dist/engine/mutation_audit.js +118 -0
  98. package/dist/engine/mutation_audit.js.map +1 -0
  99. package/dist/engine/policy_drift_detector.d.ts +46 -0
  100. package/dist/engine/policy_drift_detector.d.ts.map +1 -0
  101. package/dist/engine/policy_drift_detector.js +181 -0
  102. package/dist/engine/policy_drift_detector.js.map +1 -0
  103. package/dist/engine/regression_matrix.d.ts +102 -0
  104. package/dist/engine/regression_matrix.d.ts.map +1 -0
  105. package/dist/engine/regression_matrix.js +380 -0
  106. package/dist/engine/regression_matrix.js.map +1 -0
  107. package/dist/engine/risk_sampler.d.ts +37 -0
  108. package/dist/engine/risk_sampler.d.ts.map +1 -0
  109. package/dist/engine/risk_sampler.js +69 -0
  110. package/dist/engine/risk_sampler.js.map +1 -0
  111. package/dist/engine/runtime_safety.d.ts +80 -0
  112. package/dist/engine/runtime_safety.d.ts.map +1 -0
  113. package/dist/engine/runtime_safety.js +195 -0
  114. package/dist/engine/runtime_safety.js.map +1 -0
  115. package/dist/engine/scope_lease.d.ts +45 -0
  116. package/dist/engine/scope_lease.d.ts.map +1 -0
  117. package/dist/engine/scope_lease.js +122 -0
  118. package/dist/engine/scope_lease.js.map +1 -0
  119. package/dist/engine/semantic_evidence.d.ts +23 -0
  120. package/dist/engine/semantic_evidence.d.ts.map +1 -0
  121. package/dist/engine/semantic_evidence.js +81 -0
  122. package/dist/engine/semantic_evidence.js.map +1 -0
  123. package/dist/engine/task_context.d.ts +16 -0
  124. package/dist/engine/task_context.d.ts.map +1 -1
  125. package/dist/engine/task_context.js +59 -1
  126. package/dist/engine/task_context.js.map +1 -1
  127. package/dist/engine/test_quality.js +2 -2
  128. package/dist/engine/test_quality.js.map +1 -1
  129. package/dist/engine/verifier.d.ts.map +1 -1
  130. package/dist/engine/verifier.js +113 -20
  131. package/dist/engine/verifier.js.map +1 -1
  132. package/dist/engine/workspace_resumer.d.ts +43 -0
  133. package/dist/engine/workspace_resumer.d.ts.map +1 -1
  134. package/dist/engine/workspace_resumer.js +119 -4
  135. package/dist/engine/workspace_resumer.js.map +1 -1
  136. package/dist/engine/zero_config_init.d.ts +87 -0
  137. package/dist/engine/zero_config_init.d.ts.map +1 -0
  138. package/dist/engine/zero_config_init.js +427 -0
  139. package/dist/engine/zero_config_init.js.map +1 -0
  140. package/dist/knowledge/index_manager.d.ts +19 -0
  141. package/dist/knowledge/index_manager.d.ts.map +1 -1
  142. package/dist/knowledge/index_manager.js +31 -0
  143. package/dist/knowledge/index_manager.js.map +1 -1
  144. package/dist/knowledge/writer.d.ts.map +1 -1
  145. package/dist/knowledge/writer.js +1 -0
  146. package/dist/knowledge/writer.js.map +1 -1
  147. package/dist/types.d.ts +61 -85
  148. package/dist/types.d.ts.map +1 -1
  149. package/package.json +2 -2
  150. package/templates/knowledge/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +6 -7
  151. package/templates/knowledge/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +3 -3
  152. package/templates/knowledge/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +24 -14
  153. package/templates/knowledge/patterns/core/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +47 -0
  154. package/templates/knowledge/patterns/core/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +46 -0
  155. package/templates/knowledge/patterns/core/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +46 -0
  156. 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
  157. package/templates/knowledge/patterns/core//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +47 -0
  158. 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
  159. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +47 -0
  160. package/templates/knowledge/patterns/core//345/206/262/347/252/201/351/227/250/347/246/201.md +47 -0
  161. package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +52 -0
  162. package/templates/knowledge/patterns/core/{mutation_audit.md → /345/217/230/345/274/202/345/256/241/350/256/241.md} +20 -0
  163. package/templates/knowledge/patterns/core//345/233/236/345/275/222/347/237/251/351/230/265.md +46 -0
  164. 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
  165. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +46 -0
  166. package/templates/knowledge/patterns/core//345/271/266/345/217/221/351/224/201.md +49 -0
  167. package/templates/knowledge/patterns/core/{developer_constitution.md → /345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md} +20 -0
  168. 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
  169. 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
  170. package/templates/knowledge/patterns/core/{streaming_protocol.md → /346/265/201/345/274/217/345/277/203/350/267/263.md} +20 -0
  171. package/templates/knowledge/patterns/core/{authority.md → /347/237/245/350/257/206/344/270/273/346/235/203.md} +20 -0
  172. package/templates/knowledge/patterns/core//350/257/255/344/271/211/350/257/201/346/215/256.md +47 -0
  173. package/templates/knowledge/patterns/core//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +50 -0
  174. 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
  175. 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
  176. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +1 -1
  177. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/347/250/213.md +1 -1
  178. package/templates/knowledge/review_rules//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  179. package/templates/knowledge/review_rules//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  180. package/templates/knowledge/review_rules//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  181. package/templates/knowledge/review_rules//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  182. package/templates/knowledge/review_rules//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  183. package/templates/knowledge/patterns/core/concurrency_lock.md +0 -36
  184. package/templates/knowledge/patterns/core/decision_gateway.md +0 -33
  185. /package/templates/knowledge/checklists/{session_recovery.md → /344/274/232/350/257/235/346/201/242/345/244/215.md"} +0 -0
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: job_manager
3
+ type: pattern
4
+ when: "任务管理, checkpoint, heartbeat, 恢复, 认知锚点"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - JobManager 管理 任务生命周期: 创建、更新 checkpoint、heartbeat、恢复、取消
17
+ - CognitiveAnchor 记录阶段、摘要、关键决策、待办事项
18
+ - resumeFromCheckpoint 从最近 checkpoint 恢复任务
19
+ - listActiveJobs 列出活跃任务,过滤过期任务
20
+ - checkpoint 用于中断恢复和进度追踪
21
+
22
+ ## 验收项
23
+
24
+ - [AC-01] 任务创建返回有效 ID
25
+ - [AC-02] checkpoint 更新正确
26
+ - [AC-03] 过期任务被过滤
27
+ - [AC-04] 恢复从 checkpoint 继续
28
+
29
+ ## 何时使用
30
+
31
+ advisory: 任务管理是辅助工具,不强制要求使用
32
+
33
+ ## 是否 hard block
34
+
35
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
36
+
37
+ ## 证据要求
38
+
39
+ - checkpoint 更新测试通过
40
+ - 恢复测试通过
41
+ -
42
+
43
+ ## 人工确认/降级边界
44
+
45
+ - 此能力可被开发者决策覆盖
46
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
47
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: scope_hook
3
+ type: pattern
4
+ when: "文件范围, 路径校验, 越权检测, symlink 解析"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - checkScope() 校验文件路径是否在 allowed_paths 范围内
17
+ - symlink 解析后校验真实路径,防止路径穿越
18
+ - 路径匹配使用规范化比较,支持通配符
19
+ - 越权访问为 enforced 级别,违规即 hard fail
20
+
21
+ ## 验收项
22
+
23
+ - [AC-01] 合法路径通过校验
24
+ - [AC-02] symlink 路径穿越被拦截
25
+ - [AC-03] 越权路径产生 hard fail
26
+ - [AC-04] 通配符匹配正确
27
+
28
+ ## 何时使用
29
+
30
+ 文件范围和安全是强制门禁
31
+
32
+ ## 是否 hard block
33
+
34
+ 是。此能力为 enforced 状态,违规即 hard fail 阻断流程。
35
+
36
+ ## 证据要求
37
+
38
+ - 路径匹配 + symlink 测试通过
39
+ - 密钥扫描 golden set 通过
40
+ - 无已知越权逃逸
41
+ -
42
+
43
+ ## 人工确认/降级边界
44
+
45
+ - enforced 能力不可跳过,违反即阻断
46
+ - 降级需经 sf_capability_update + 人工确认,提供 escape report 证据
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: scope_lease
3
+ type: pattern
4
+ when: "文件写入, 作用域控制, 租约, 并发写入, 文件锁定"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - 写入文件前必须获取作用域租约(scope lease),同一文件不可被多个任务同时持有
17
+ - 租约包含: task_id、allowed_paths、acquired_at、expires_at
18
+ - 租约超时后自动失效,其他任务可重新获取
19
+ - 任务完成或取消时必须释放租约
20
+ - 租约查询 isLocked() 为 advisory check,不阻断流程
21
+
22
+ ## 验收项
23
+
24
+ - [AC-01] acquire 返回有效租约,release 后 isLocked 返回 false
25
+ - [AC-02] 同一文件不可被两个任务同时租约
26
+ - [AC-03] 过期租约自动清理
27
+ - [AC-04] clear() 清理所有租约
28
+
29
+ ## 何时使用
30
+
31
+ advisory: 租约是写入前建议检查,不强制阻断
32
+
33
+ ## 是否 hard block
34
+
35
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
36
+
37
+ ## 证据要求
38
+
39
+ - acquire/release 测试通过
40
+ - 过期清理测试通过
41
+ -
42
+
43
+ ## 人工确认/降级边界
44
+
45
+ - 此能力可被开发者决策覆盖
46
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
47
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: conflict_gate
3
+ type: pattern
4
+ when: "写入前检查, 冲突检测, CAS 校验, 文件冲突"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - 写入前执行 CAS(Compare-And-Swap)校验:比较文件当前 hash 与预期 hash
17
+ - CAS 不匹配表示文件被外部修改,必须报告冲突
18
+ - 冲突报告包含: file_path、expected_hash、actual_hash、task_id
19
+ - 统一 CAS + Lease 冲突报告,一个接口返回所有冲突信息
20
+ - markConfirmed() 将冲突标记为已确认,允许写入继续
21
+
22
+ ## 验收项
23
+
24
+ - [AC-01] 文件未被修改时 preWriteGate 返回无冲突
25
+ - [AC-02] 文件被修改后 preWriteGate 返回 CAS 冲突
26
+ - [AC-03] markConfirmed 后冲突状态更新
27
+ - [AC-04] 租约冲突和 CAS 冲突统一报告
28
+
29
+ ## 何时使用
30
+
31
+ advisory: 冲突检测是建议性的,开发者可选择覆盖
32
+
33
+ ## 是否 hard block
34
+
35
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
36
+
37
+ ## 证据要求
38
+
39
+ - CAS 校验测试通过
40
+ - 冲突报告测试通过
41
+ -
42
+
43
+ ## 人工确认/降级边界
44
+
45
+ - 此能力可被开发者决策覆盖
46
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
47
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: decision_gateway
3
+ type: pattern
4
+ when: "代码执行, 代码生成, 自动执行, 自动生成, LLM 预算, Token 控制"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-17
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - LLM Gateway Token 全局预算上限 Budget_Total = 100000(advisory,不 hard block)
17
+ - LLM Gateway 单任务预算上限 Task_Budget = 30000(advisory,预算耗尽返回 warning 不阻断)
18
+ - H1 handler 返回 h1_advisory warning,任务仍继续进入 executing
19
+ - 熔断触发比 Circuit_Breaker_Ratio = 0.9,超过即 advisory 告警并建议降级模型
20
+ - 重型操作分级 tier=heavy 自动启动流式心跳(advisory)
21
+ - 心跳间隔 Heartbeat_Interval = 5000 毫秒
22
+ - 控制流操作(classify/scope_resolve/drift_detect 等)走本地,不消耗 Token
23
+ - 决策流操作(intent_refinement/solution_brainstorm/code_generation 等)走 Gateway,消耗 Token
24
+ - AI 操作分级: light(<2000)/ medium(2000-3000)/ heavy(>3000)
25
+
26
+ ## 验收项
27
+
28
+ - [AC-01] Token 消耗监控按 operation_type 追踪
29
+ - [AC-02] 预算超限返回 advisory warning,不阻断任务
30
+ - [AC-03] 熔断后 AI 操作建议降级模型(advisory)
31
+ - [AC-04] 心跳在重型操作期间每 Heartbeat_Interval 毫秒输出进度
32
+ - [AC-05] 每次请求返回 remaining_budget 和 remaining_task_budget
33
+
34
+ ## 何时使用
35
+
36
+ advisory: 预算耗尽是 warning 不是 hard fail,不应阻断任务
37
+
38
+ ## 是否 hard block
39
+
40
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
41
+
42
+ ## 证据要求
43
+
44
+ - H1/H4 handler 测试通过
45
+ - heartbeat 测试通过
46
+ -
47
+
48
+ ## 人工确认/降级边界
49
+
50
+ - 此能力可被开发者决策覆盖
51
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
52
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -28,3 +28,23 @@ usage_count: 0
28
28
  - [AC-03] 未覆盖行的变异被自动过滤
29
29
  - [AC-04] 变异审计未通过时测试文件打回重写
30
30
  - [AC-05] 随机种子基于源码内容哈希,可复现
31
+
32
+ ## 何时使用
33
+
34
+ advisory: 变异测试是质量建议,非强制要求
35
+
36
+ ## 是否 hard block
37
+
38
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
39
+
40
+ ## 证据要求
41
+
42
+ - 变异算子测试通过
43
+ - 评分一致性测试通过
44
+ -
45
+
46
+ ## 人工确认/降级边界
47
+
48
+ - 此能力可被开发者决策覆盖
49
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
50
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: regression_matrix
3
+ type: pattern
4
+ when: "回归测试, fixture 项目, 兼容性验证, 复杂度预算"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - fixture 项目模板: Spring Boot、React、Go 的标准结构
17
+ - 回归矩阵对 fixture 验证 classify/expand/verify 兼容性
18
+ - 复杂度预算: 每个能力模块有代码行数预算,超出产生 advisory
19
+ - fixture 使用真实 detectFingerprint 进行项目检测
20
+
21
+ ## 验收项
22
+
23
+ - [AC-01] fixture 项目定义完整
24
+ - [AC-02] 回归矩阵覆盖所有 fixture
25
+ - [AC-03] 复杂度预算超出时产生 advisory
26
+ - [AC-04] 真实 detectFingerprint 通过 fixture 检测
27
+
28
+ ## 何时使用
29
+
30
+ advisory: 回归矩阵是质量保证工具,复杂度超预算不阻断
31
+
32
+ ## 是否 hard block
33
+
34
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
35
+
36
+ ## 证据要求
37
+
38
+ - 回归矩阵测试通过
39
+ - 复杂度预算报告正确
40
+ -
41
+
42
+ ## 人工确认/降级边界
43
+
44
+ - 此能力可被开发者决策覆盖
45
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
46
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: io_lock
3
+ type: pattern
4
+ when: "互斥锁, 工作区, 并发控制, 写入冲突"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - P0 已移除持久锁 acquire/release,仅保留 isLocked() 查询
17
+ - 锁机制为 advisory check,不强制阻断操作
18
+ - 写入前冲突检测是建议性的,开发者可选择忽略
19
+
20
+ ## 验收项
21
+
22
+ - [AC-01] isLocked() 查询返回正确状态
23
+ - [AC-02] 写入前冲突检测正常工作
24
+ - [AC-03] 不强制阻断操作
25
+
26
+ ## 何时使用
27
+
28
+ advisory: 锁机制为 advisory check,不强制阻断
29
+
30
+ ## 是否 hard block
31
+
32
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
33
+
34
+ ## 证据要求
35
+
36
+ - isLocked() 查询测试通过
37
+ - 写入前冲突检测测试通过
38
+ -
39
+
40
+ ## 人工确认/降级边界
41
+
42
+ - 此能力可被开发者决策覆盖
43
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
44
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: resume_workspace
3
+ type: pattern
4
+ when: "会话恢复, 工作区状态, 中断恢复, state 目录"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - scanAndResume() 扫描 state 目录恢复中断任务
17
+ - 恢复是 advisory 级别,新会话可忽略恢复直接新建任务
18
+ - corrupt state 文件降级处理,产生 advisory 报告不阻断
19
+ - 恢复后任务可无缝继续执行
20
+
21
+ ## 验收项
22
+
23
+ - [AC-01] 中断任务可被恢复
24
+ - [AC-02] corrupt state 不阻断新任务
25
+ - [AC-03] 无活跃任务时不强制恢复
26
+ - [AC-04] 多任务时标记 needs_human_confirm
27
+
28
+ ## 何时使用
29
+
30
+ advisory: 恢复是最佳实践但非强制,新会话可忽略恢复直接新建任务
31
+
32
+ ## 是否 hard block
33
+
34
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
35
+
36
+ ## 证据要求
37
+
38
+ - 中断恢复测试通过
39
+ - corrupt state 处理测试通过
40
+ -
41
+
42
+ ## 人工确认/降级边界
43
+
44
+ - 此能力可被开发者决策覆盖
45
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
46
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: concurrency_lock
3
+ type: pattern
4
+ when: "文件写入, 代码修改, 重构, 全量重构, 大规模验证, 批量操作"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-17
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - 人类主权高于 AI 推演,AI 不得静默覆盖人类的代码修改
17
+ - 作用域租约(scope lease)为 advisory check,不强制阻断操作
18
+ - 租约查询 isLocked() 供开发者参考,可选择忽略
19
+ - ConflictGate preWriteGate 执行 CAS 校验,冲突为 advisory 报告
20
+ - 标记确认 markConfirmed() 后冲突状态更新,允许写入继续
21
+ - 任务完成或取消时建议释放租约(advisory,不强制)
22
+ - P0 已移除持久锁 acquire/release,仅保留 isLocked() 查询
23
+
24
+ ## 验收项
25
+
26
+ - [AC-01] 租约 acquire/release 测试通过
27
+ - [AC-02] CAS 冲突检测测试通过
28
+ - [AC-03] 锁机制不强制阻断操作
29
+ - [AC-04] 冲突报告包含完整信息供开发者决策
30
+
31
+ ## 何时使用
32
+
33
+ advisory: 租约是写入前建议检查,不强制阻断
34
+
35
+ ## 是否 hard block
36
+
37
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
38
+
39
+ ## 证据要求
40
+
41
+ - acquire/release 测试通过
42
+ - 过期清理测试通过
43
+ -
44
+
45
+ ## 人工确认/降级边界
46
+
47
+ - 此能力可被开发者决策覆盖
48
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
49
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -37,3 +37,23 @@ usage_count: 0
37
37
  - [AC-03] 抽检问题基于实际任务摘要生成
38
38
  - [AC-04] 逻辑奇点警告以 ⚠ 符号开头并包含具体触发原因
39
39
  - [AC-05] core/ 目录下的规则修改需人工签署双重确认
40
+
41
+ ## 何时使用
42
+
43
+ advisory: 开发者主权的审查建议不 hard block 交付
44
+
45
+ ## 是否 hard block
46
+
47
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
48
+
49
+ ## 证据要求
50
+
51
+ - preDeliveryReview 测试通过
52
+ - veto 逻辑测试通过
53
+ -
54
+
55
+ ## 人工确认/降级边界
56
+
57
+ - 此能力可被开发者决策覆盖
58
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
59
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: secret_scan
3
+ type: pattern
4
+ when: "密钥检测, 敏感信息, gitleaks, 安全扫描"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - detectSecrets() 使用正则匹配 + gitleaks 回退链检测密钥
17
+ - severity=blocked 的密钥(AWS key、API key 等)阻断写入
18
+ - 扫描覆盖写入内容的每一行
19
+ - gitleaks 不可用时回退到内置正则规则
20
+
21
+ ## 验收项
22
+
23
+ - [AC-01] 已知密钥格式被检测
24
+ - [AC-02] blocked 级别密钥阻断写入
25
+ - [AC-03] gitleaks 回退正常工作
26
+ - [AC-04] 误报率 < 1%
27
+
28
+ ## 何时使用
29
+
30
+ 密钥泄露是最高风险,必须 hard fail
31
+
32
+ ## 是否 hard block
33
+
34
+ 是。此能力为 enforced 状态,违规即 hard fail 阻断流程。
35
+
36
+ ## 证据要求
37
+
38
+ - golden set 密钥检测通过
39
+ - 误报率测试通过
40
+ - 无已知密钥泄露事件
41
+
42
+ ## 人工确认/降级边界
43
+
44
+ - enforced 能力不可跳过,违反即阻断
45
+ - 降级需经 sf_capability_update + 人工确认,提供 escape report 证据
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: governance_runtime_loop
3
+ type: pattern
4
+ when: "治理闭环, 抽检, 逃逸报告, 能力状态, 审计"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - 治理闭环: sample → escape → report → capability_update
17
+ - 抽检使用风险加权抽样,critical 风险 100% 抽中
18
+ - 逃逸报告记录发现的问题,不自动降级
19
+ - 治理报告汇总全局状态,只读不改
20
+ - 能力状态更新必须经 sf_capability_update + 人工确认
21
+
22
+ ## 验收项
23
+
24
+ - [AC-01] 抽检→逃逸→报告闭环测试通过
25
+ - [AC-02] 无自动降级行为
26
+ - [AC-03] 状态更新需人工确认
27
+ - [AC-04] report 数据与实际 escape 一致
28
+
29
+ ## 何时使用
30
+
31
+ advisory: 治理闭环只读不改,状态更新必须经 sf_capability_update + 人工确认
32
+
33
+ ## 是否 hard block
34
+
35
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
36
+
37
+ ## 证据要求
38
+
39
+ - 抽检→逃逸→报告→显式更新闭环测试通过
40
+ - MCP handler 闭环测试通过
41
+ - 无自动降级行为
42
+ -
43
+
44
+ ## 人工确认/降级边界
45
+
46
+ - 此能力可被开发者决策覆盖
47
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
48
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -34,3 +34,23 @@ usage_count: 0
34
34
  ```
35
35
  [SoloForge Heartbeat] 代码生成 执行中... 已耗时 10s,当前任务已用 5000/30000 Token
36
36
  ```
37
+
38
+ ## 何时使用
39
+
40
+ advisory: 预算耗尽是 warning 不是 hard fail,不应阻断任务
41
+
42
+ ## 是否 hard block
43
+
44
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
45
+
46
+ ## 证据要求
47
+
48
+ - H1/H4 handler 测试通过
49
+ - heartbeat 测试通过
50
+ -
51
+
52
+ ## 人工确认/降级边界
53
+
54
+ - 此能力可被开发者决策覆盖
55
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
56
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -36,3 +36,23 @@ usage_count: 0
36
36
 
37
37
  - 连续 3 次 drift 检测均为 code_degradation 时,暂停自动自愈
38
38
  - 暂停后需人工审查代码库状态,确认不是 AI 连续敷衍导致的退化
39
+
40
+ ## 何时使用
41
+
42
+ advisory: 知识治理是建议性的,尚未接入强制门禁
43
+
44
+ ## 是否 hard block
45
+
46
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
47
+
48
+ ## 证据要求
49
+
50
+ - 知识模板格式验证测试通过
51
+ - 中文语义化路径测试通过
52
+ -
53
+
54
+ ## 人工确认/降级边界
55
+
56
+ - 此能力可被开发者决策覆盖
57
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
58
+ - 降级/禁用需经 sf_capability_update + 人工确认
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: semantic_evidence
3
+ type: pattern
4
+ when: "代码交付, 需求覆盖, 验证证据, 语义分析"
5
+ scope: [shared]
6
+ products: ["*"]
7
+ status: active
8
+ confidence: 1.0
9
+ created_at: 2026-05-18
10
+ updated_at: 2026-05-18
11
+ usage_count: 0
12
+ ---
13
+
14
+ ## 决策规则
15
+
16
+ - 需求点(requirement_points)必须与代码变更关联,形成可追踪的证据链
17
+ - computeSemanticEvidence 计算每个需求点的覆盖状态:covered / partial / uncovered
18
+ - buildDeliveryEvidenceChain 构建交付证据链,包含需求覆盖 + 变更摘要 + 验证结果
19
+ - 证据链使用 SHA256 hash chain 保证不可篡改
20
+ - 未覆盖需求点生成 advisory 警告,不阻断交付
21
+
22
+ ## 验收项
23
+
24
+ - [AC-01] 所有需求点都有覆盖状态
25
+ - [AC-02] 证据链 hash 校验通过
26
+ - [AC-03] uncovered 需求点产生 advisory
27
+ - [AC-04] 证据链可验证完整性
28
+
29
+ ## 何时使用
30
+
31
+ advisory: 需求覆盖是质量建议,uncovered 不阻断交付
32
+
33
+ ## 是否 hard block
34
+
35
+ 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
36
+
37
+ ## 证据要求
38
+
39
+ - 语义证据计算测试通过
40
+ - 证据链完整性测试通过
41
+ -
42
+
43
+ ## 人工确认/降级边界
44
+
45
+ - 此能力可被开发者决策覆盖
46
+ - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
47
+ - 降级/禁用需经 sf_capability_update + 人工确认