soloforge 1.3.1 → 1.3.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 (158) hide show
  1. package/README.md +11 -3
  2. package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
  3. package/dist/adapters/claude_code/claude_md.js +4 -0
  4. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  5. package/dist/adapters/claude_code/tools.d.ts +10 -10
  6. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  7. package/dist/adapters/claude_code/tools.js +603 -18
  8. package/dist/adapters/claude_code/tools.js.map +1 -1
  9. package/dist/adapters/shared/workflow_template.d.ts +26 -0
  10. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  11. package/dist/adapters/shared/workflow_template.js +140 -46
  12. package/dist/adapters/shared/workflow_template.js.map +1 -1
  13. package/dist/bin/soloforge.d.ts.map +1 -1
  14. package/dist/bin/soloforge.js +316 -54
  15. package/dist/bin/soloforge.js.map +1 -1
  16. package/dist/engine/asset_manifest.d.ts +7 -1
  17. package/dist/engine/asset_manifest.d.ts.map +1 -1
  18. package/dist/engine/asset_manifest.js +41 -18
  19. package/dist/engine/asset_manifest.js.map +1 -1
  20. package/dist/engine/backend_implementation_contract.d.ts +51 -0
  21. package/dist/engine/backend_implementation_contract.d.ts.map +1 -0
  22. package/dist/engine/backend_implementation_contract.js +142 -0
  23. package/dist/engine/backend_implementation_contract.js.map +1 -0
  24. package/dist/engine/consumable_asset_registry.d.ts.map +1 -1
  25. package/dist/engine/consumable_asset_registry.js +159 -0
  26. package/dist/engine/consumable_asset_registry.js.map +1 -1
  27. package/dist/engine/consumption_trace_store.d.ts +8 -8
  28. package/dist/engine/consumption_trace_store.d.ts.map +1 -1
  29. package/dist/engine/consumption_trace_store.js +11 -7
  30. package/dist/engine/consumption_trace_store.js.map +1 -1
  31. package/dist/engine/decision_workshop.d.ts +160 -0
  32. package/dist/engine/decision_workshop.d.ts.map +1 -0
  33. package/dist/engine/decision_workshop.js +279 -0
  34. package/dist/engine/decision_workshop.js.map +1 -0
  35. package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -1
  36. package/dist/engine/dual_layer_mechanism_registry.js +300 -2
  37. package/dist/engine/dual_layer_mechanism_registry.js.map +1 -1
  38. package/dist/engine/explicit_asset_registry.d.ts +30 -0
  39. package/dist/engine/explicit_asset_registry.d.ts.map +1 -0
  40. package/dist/engine/explicit_asset_registry.js +3712 -0
  41. package/dist/engine/explicit_asset_registry.js.map +1 -0
  42. package/dist/engine/implementation_roadmap_registry.d.ts +2 -2
  43. package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -1
  44. package/dist/engine/implementation_roadmap_registry.js +110 -16
  45. package/dist/engine/implementation_roadmap_registry.js.map +1 -1
  46. package/dist/engine/intent_expander.d.ts.map +1 -1
  47. package/dist/engine/intent_expander.js +46 -2
  48. package/dist/engine/intent_expander.js.map +1 -1
  49. package/dist/engine/intent_router.d.ts +1 -1
  50. package/dist/engine/intent_router.d.ts.map +1 -1
  51. package/dist/engine/intent_router.js +2 -1
  52. package/dist/engine/intent_router.js.map +1 -1
  53. package/dist/engine/knowledge_injection_boundary.d.ts +3 -0
  54. package/dist/engine/knowledge_injection_boundary.d.ts.map +1 -1
  55. package/dist/engine/knowledge_injection_boundary.js +48 -5
  56. package/dist/engine/knowledge_injection_boundary.js.map +1 -1
  57. package/dist/engine/mechanism_contract_registry.d.ts +1 -1
  58. package/dist/engine/mechanism_contract_registry.d.ts.map +1 -1
  59. package/dist/engine/mechanism_contract_registry.js +142 -2
  60. package/dist/engine/mechanism_contract_registry.js.map +1 -1
  61. package/dist/engine/next_action_planner.d.ts +19 -0
  62. package/dist/engine/next_action_planner.d.ts.map +1 -0
  63. package/dist/engine/next_action_planner.js +453 -0
  64. package/dist/engine/next_action_planner.js.map +1 -0
  65. package/dist/engine/observed_consumption.d.ts +54 -0
  66. package/dist/engine/observed_consumption.d.ts.map +1 -0
  67. package/dist/engine/observed_consumption.js +377 -0
  68. package/dist/engine/observed_consumption.js.map +1 -0
  69. package/dist/engine/ood_solid_contract.d.ts +51 -0
  70. package/dist/engine/ood_solid_contract.d.ts.map +1 -0
  71. package/dist/engine/ood_solid_contract.js +115 -0
  72. package/dist/engine/ood_solid_contract.js.map +1 -0
  73. package/dist/engine/project_stage_detector.d.ts +17 -0
  74. package/dist/engine/project_stage_detector.d.ts.map +1 -0
  75. package/dist/engine/project_stage_detector.js +185 -0
  76. package/dist/engine/project_stage_detector.js.map +1 -0
  77. package/dist/engine/release_issue_scenario_registry.d.ts +64 -0
  78. package/dist/engine/release_issue_scenario_registry.d.ts.map +1 -0
  79. package/dist/engine/release_issue_scenario_registry.js +1362 -0
  80. package/dist/engine/release_issue_scenario_registry.js.map +1 -0
  81. package/dist/engine/release_readiness_gate.d.ts +1 -1
  82. package/dist/engine/release_readiness_gate.d.ts.map +1 -1
  83. package/dist/engine/release_readiness_gate.js +721 -47
  84. package/dist/engine/release_readiness_gate.js.map +1 -1
  85. package/dist/engine/release_tool_harness.d.ts +71 -0
  86. package/dist/engine/release_tool_harness.d.ts.map +1 -0
  87. package/dist/engine/release_tool_harness.js +161 -0
  88. package/dist/engine/release_tool_harness.js.map +1 -0
  89. package/dist/engine/scaffolder.d.ts.map +1 -1
  90. package/dist/engine/scaffolder.js +144 -7
  91. package/dist/engine/scaffolder.js.map +1 -1
  92. package/dist/engine/stale_current_task_detector.d.ts +30 -0
  93. package/dist/engine/stale_current_task_detector.d.ts.map +1 -0
  94. package/dist/engine/stale_current_task_detector.js +168 -0
  95. package/dist/engine/stale_current_task_detector.js.map +1 -0
  96. package/dist/engine/standard_asset_contract.d.ts +75 -0
  97. package/dist/engine/standard_asset_contract.d.ts.map +1 -0
  98. package/dist/engine/standard_asset_contract.js +388 -0
  99. package/dist/engine/standard_asset_contract.js.map +1 -0
  100. package/dist/engine/standard_asset_coverage.d.ts +45 -0
  101. package/dist/engine/standard_asset_coverage.d.ts.map +1 -0
  102. package/dist/engine/standard_asset_coverage.js +220 -0
  103. package/dist/engine/standard_asset_coverage.js.map +1 -0
  104. package/dist/engine/task_stage_detector.d.ts +19 -0
  105. package/dist/engine/task_stage_detector.d.ts.map +1 -0
  106. package/dist/engine/task_stage_detector.js +201 -0
  107. package/dist/engine/task_stage_detector.js.map +1 -0
  108. package/dist/engine/template_asset_contract_registry.d.ts +162 -0
  109. package/dist/engine/template_asset_contract_registry.d.ts.map +1 -0
  110. package/dist/engine/template_asset_contract_registry.js +598 -0
  111. package/dist/engine/template_asset_contract_registry.js.map +1 -0
  112. package/dist/engine/template_asset_visibility.d.ts +109 -0
  113. package/dist/engine/template_asset_visibility.d.ts.map +1 -0
  114. package/dist/engine/template_asset_visibility.js +321 -0
  115. package/dist/engine/template_asset_visibility.js.map +1 -0
  116. package/dist/engine/template_init_sync.d.ts +68 -0
  117. package/dist/engine/template_init_sync.d.ts.map +1 -0
  118. package/dist/engine/template_init_sync.js +218 -0
  119. package/dist/engine/template_init_sync.js.map +1 -0
  120. package/dist/engine/template_manifest_io.d.ts +10 -0
  121. package/dist/engine/template_manifest_io.d.ts.map +1 -1
  122. package/dist/engine/template_manifest_io.js +63 -30
  123. package/dist/engine/template_manifest_io.js.map +1 -1
  124. package/dist/engine/template_mechanism_auditor.d.ts +3 -1
  125. package/dist/engine/template_mechanism_auditor.d.ts.map +1 -1
  126. package/dist/engine/template_mechanism_auditor.js +27 -24
  127. package/dist/engine/template_mechanism_auditor.js.map +1 -1
  128. package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -1
  129. package/dist/engine/tool_invocation_contract_registry.js +21 -1
  130. package/dist/engine/tool_invocation_contract_registry.js.map +1 -1
  131. package/dist/engine/workflow_navigation_contract.d.ts +115 -0
  132. package/dist/engine/workflow_navigation_contract.d.ts.map +1 -0
  133. package/dist/engine/workflow_navigation_contract.js +39 -0
  134. package/dist/engine/workflow_navigation_contract.js.map +1 -0
  135. package/dist/knowledge/index_manager.d.ts +20 -0
  136. package/dist/knowledge/index_manager.d.ts.map +1 -1
  137. package/dist/knowledge/index_manager.js +234 -3
  138. package/dist/knowledge/index_manager.js.map +1 -1
  139. package/dist/types.d.ts +44 -1
  140. package/dist/types.d.ts.map +1 -1
  141. package/package.json +2 -2
  142. package/templates/knowledge/acceptance_templates/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +60 -0
  143. package/templates/knowledge/acceptance_templates//345/220/216/347/253/257/345/256/236/347/216/260/351/252/214/346/224/266/346/270/205/345/215/225.md +46 -0
  144. package/templates/knowledge/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +50 -0
  145. package/templates/knowledge/procedures//345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201/345/257/274/350/210/252.md +100 -0
  146. package/templates/knowledge/procedures//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260/345/267/245/344/275/234/346/265/201.md +50 -0
  147. package/templates/knowledge/review_rules/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +40 -0
  148. package/templates/knowledge/review_rules//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245/350/247/204/345/210/231.md +38 -0
  149. package/templates/knowledge/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +62 -0
  150. package/templates/knowledge/rules//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246/350/247/204/345/210/231.md +55 -0
  151. package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246/350/247/204/345/210/231.md +113 -0
  152. package/templates/knowledge/rules//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226/350/247/204/345/210/231.md +72 -0
  153. package/templates/knowledge/rules//346/250/241/346/235/277/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247/350/247/204/345/210/231.md +71 -0
  154. package/templates/knowledge/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +62 -1
  155. package/templates/knowledge/rules//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +77 -0
  156. package/templates/knowledge/rules//351/252/214/346/224/266/346/250/241/346/235/277/350/276/223/345/207/272/345/245/221/347/272/246/350/247/204/345/210/231.md +96 -0
  157. package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +39 -0
  158. package/templates/patterns//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/350/247/204/350/214/203.md +39 -0
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: OOD设计摘要模版
3
+ when: '面向对象设计, SOLID, 复杂业务实现'
4
+ scope:
5
+ - backend
6
+ - frontend
7
+ products:
8
+ - '*'
9
+ id: ka-artifact_template-OOD设计摘要模版
10
+ asset_kind: artifact_template
11
+ lifecycle_status: active
12
+ authority: supporting
13
+ owner_mechanism_id: mc-ood-solid-contract
14
+ routes:
15
+ - artifact_generation
16
+ - code_change
17
+ primary_triggers:
18
+ - OOD设计摘要
19
+ secondary_triggers:
20
+ - SOLID
21
+ negative_triggers: []
22
+ priority: P1
23
+ specificity: 5
24
+ consumes:
25
+ - mc-ood-solid-contract
26
+ emits:
27
+ - acceptance_report
28
+ required_evidence:
29
+ - ood_design_summary
30
+ - code_review_findings
31
+ version: 1.0.0
32
+ last_reviewed: '2026-05-26'
33
+ type: acceptance_template
34
+ status: active
35
+ ---
36
+
37
+ # OOD/SOLID 设计摘要
38
+
39
+ ## 适用性
40
+
41
+ - 任务:
42
+ - 适用/不适用理由:
43
+
44
+ ## 对象与职责
45
+
46
+ | 对象/模块 | 单一职责 | 协作者 | 禁止承担的职责 |
47
+ |---|---|---|---|
48
+ | | | | |
49
+
50
+ ## 接口与依赖方向
51
+
52
+ | 接口/端口 | 提供者 | 消费者 | 依赖方向 | 替换/测试策略 |
53
+ |---|---|---|---|---|
54
+ | | | | | |
55
+
56
+ ## 变化点与 SOLID 复验
57
+
58
+ | 变化点 | SRP | OCP | LSP | ISP | DIP | 复验证据 |
59
+ |---|---|---|---|---|---|---|
60
+ | | | | | | | |
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: 后端实现验收清单
3
+ when: '后端实现验收, API编码, Controller, Service'
4
+ scope:
5
+ - backend
6
+ products:
7
+ - '*'
8
+ id: ka-artifact_template-后端实现验收清单
9
+ asset_kind: artifact_template
10
+ lifecycle_status: active
11
+ authority: supporting
12
+ owner_mechanism_id: mc-backend-implementation-contract
13
+ routes:
14
+ - code_change
15
+ - verification_only
16
+ primary_triggers:
17
+ - 后端实现验收清单
18
+ secondary_triggers:
19
+ - API实现
20
+ negative_triggers: []
21
+ priority: P1
22
+ specificity: 5
23
+ consumes:
24
+ - mc-backend-implementation-contract
25
+ emits:
26
+ - acceptance_report
27
+ required_evidence:
28
+ - backend_work_package
29
+ - verification_result
30
+ version: 1.0.0
31
+ last_reviewed: '2026-05-26'
32
+ type: acceptance_template
33
+ status: active
34
+ ---
35
+
36
+ # 后端实现验收清单
37
+
38
+ | 检查项 | 结论 | 权威证据 | 失败修复 |
39
+ |---|---|---|---|
40
+ | 请求 DTO 与字段校验 | | | |
41
+ | 响应 DTO、分页与错误码 | | | |
42
+ | 事务和状态流转 | | | |
43
+ | 幂等与并发冲突 | | | |
44
+ | 权限、租户和审计 | | | |
45
+ | OpenAPI 与 migration 对齐 | | | |
46
+ | 自动化测试和负向案例 | | | |
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: OOD设计工作流
3
+ type: procedure
4
+ when: '面向对象设计, SOLID, 领域服务, 业务规则实现, 重构'
5
+ scope:
6
+ - backend
7
+ - frontend
8
+ products:
9
+ - '*'
10
+ id: ka-procedure-OOD设计工作流
11
+ asset_kind: procedure
12
+ lifecycle_status: active
13
+ authority: supporting
14
+ owner_mechanism_id: mc-ood-solid-contract
15
+ routes:
16
+ - code_change
17
+ - artifact_generation
18
+ primary_triggers:
19
+ - OOD设计工作流
20
+ secondary_triggers:
21
+ - SOLID
22
+ negative_triggers:
23
+ - 文案修改
24
+ priority: P1
25
+ specificity: 5
26
+ consumes:
27
+ - mc-ood-solid-contract
28
+ emits:
29
+ - ood_design_summary
30
+ - code_review_findings
31
+ required_evidence:
32
+ - execution_evidence
33
+ version: 1.0.0
34
+ last_reviewed: '2026-05-26'
35
+ status: active
36
+ ---
37
+
38
+ ## 步骤
39
+
40
+ 1. 判断任务是否确实存在对象边界或变化点,简单改动记录不适用理由。
41
+ 2. 列出对象职责、接口、依赖方向和主要协作流程。
42
+ 3. 对五项 SOLID 原则逐项说明适用风险与取舍。
43
+ 4. 编码后执行审查和验证,以实际源码 finding 为准。
44
+ 5. 存在硬失败则修复并重验,不能仅在报告中解释。
45
+
46
+ ## 输出摘要
47
+
48
+ | 对象/模块 | 单一职责 | 依赖接口 | 变化点 | SOLID 风险 | 验证证据 |
49
+ |---|---|---|---|---|---|
50
+ | | | | | | |
@@ -0,0 +1,100 @@
1
+ ---
2
+ name: 全生命周期工作流导航
3
+ type: procedure
4
+ when: '下一步, 继续, 现在能写代码吗, 工作流导航, navigation, 阶段判断, 工作包生成'
5
+ scope:
6
+ - backend
7
+ - frontend
8
+ products:
9
+ - '*'
10
+ id: ka-procedure-全生命周期工作流导航
11
+ asset_kind: procedure
12
+ lifecycle_status: active
13
+ authority: supporting
14
+ owner_mechanism_id: mc-workflow-navigation-contract
15
+ routes:
16
+ - operation
17
+ - multi_stage_plan
18
+ - artifact_generation
19
+ primary_triggers:
20
+ - 全生命周期工作流导航
21
+ secondary_triggers:
22
+ - 下一步
23
+ - 继续
24
+ - 现在能写代码吗
25
+ - 阶段导航
26
+ negative_triggers: []
27
+ priority: P0
28
+ specificity: 5
29
+ consumes:
30
+ - mc-workflow-navigation-contract
31
+ - current_task_context
32
+ - project_configuration
33
+ - design_artifact_audit
34
+ - repair_reverify_directive
35
+ emits:
36
+ - next_action_plan
37
+ - executable_work_package
38
+ - prohibited_actions
39
+ required_evidence:
40
+ - project_stage
41
+ - task_stage
42
+ version: 1.0.0
43
+ last_reviewed: '2026-05-26'
44
+ status: active
45
+ ---
46
+
47
+ # 全生命周期工作流导航
48
+
49
+ 本流程定义了从项目初始化到发布后的完整工作流导航决策树。
50
+
51
+ ## 项目生命周期阶段
52
+
53
+ | 阶段 | 判断条件 | 下一步 |
54
+ |------|----------|--------|
55
+ | 未初始化 | .soloforge/ 不存在或无 config.yaml | 运行 soloforge init |
56
+ | 配置待确认 | config.yaml 存在但字段未确认 | 运行 soloforge config confirm |
57
+ | 知识就绪 | 配置已确认、知识库已索引 | 提交开发意图开始新任务 |
58
+ | 设计进行中 | 设计产物存在但未通过审计 | 完成设计并通过审计 |
59
+ | 实现就绪 | 设计产物已通过审计 | 制定开发切片计划 |
60
+ | 开发进行中 | 有任务在编码/验证阶段 | 继续编码和验证 |
61
+ | 交付就绪 | 任务已通过验证 | 进行交付验收 |
62
+ | 已发布 | 已交付上线 | 进入观察期 |
63
+ | 发布后观察 | 发布后验证阶段 | 监控、反馈、回滚预案 |
64
+
65
+ ## 任务生命周期阶段
66
+
67
+ 任务从分类到交付的完整流程:
68
+
69
+ 1. 输入材料收集 → 2. 需求明确化 → 3. 决策研讨 → 4. 架构设计 → 5. 详细设计 → 6. 数据库设计 → 7. API 设计 → 8. 切片规划 → 9. 编码实现 → 10. 本地验证 → 11. 测试 → 12. 代码审查 → 13. 修复复验 → 14. 交付验收 → 15. 发布准备 → 16. 发布后观察
70
+
71
+ ## 导航决策流程
72
+
73
+ 1. 调用 `sf_navigation` 或 `soloforge next` 获取当前状态
74
+ 2. 检查是否有陈旧任务需要处理
75
+ 3. 读取返回的 work_package,按描述执行下一步
76
+ 4. 遵守 disallowed_actions 中的禁止动作
77
+ 5. 执行完成后运行 acceptance_commands 验证
78
+ 6. 如需用户确认,暂停并等待确认后再继续
79
+
80
+ ## 陈旧任务处理
81
+
82
+ 当 current-task.json 指向旧任务时:
83
+ - 选择"恢复":继续旧任务从上次中断处开始
84
+ - 选择"归档":将旧任务标记为归档,清理指针
85
+ - 选择"新建":归档旧任务后开始新任务
86
+ - 不得绕过 SoloForge 直接操作
87
+
88
+ ## 常见导航场景
89
+
90
+ **场景: 用户说"继续"**
91
+ → 调用 sf_navigation 获取 work_package,按描述执行
92
+
93
+ **场景: 用户说"现在能写代码吗"**
94
+ → sf_navigation 检查项目阶段和设计审计状态,返回允许或阻断原因
95
+
96
+ **场景: 用户说"审查后做什么"**
97
+ → sf_navigation 检查 code_review 结果,推荐下一步验证或交付
98
+
99
+ **场景: 用户说"发布后做什么"**
100
+ → sf_navigation 返回发布后观察工作包:验证、监控、反馈收集
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: 后端接口实现工作流
3
+ type: procedure
4
+ when: '后端接口, Controller, DTO, API实现, 数据写入'
5
+ scope:
6
+ - backend
7
+ products:
8
+ - '*'
9
+ id: ka-procedure-后端接口实现工作流
10
+ asset_kind: procedure
11
+ lifecycle_status: active
12
+ authority: supporting
13
+ owner_mechanism_id: mc-backend-implementation-contract
14
+ routes:
15
+ - code_change
16
+ - artifact_generation
17
+ primary_triggers:
18
+ - 后端接口实现工作流
19
+ secondary_triggers:
20
+ - REST API
21
+ negative_triggers: []
22
+ priority: P1
23
+ specificity: 5
24
+ consumes:
25
+ - mc-backend-implementation-contract
26
+ emits:
27
+ - backend_work_package
28
+ - verification_result
29
+ required_evidence:
30
+ - execution_evidence
31
+ version: 1.0.0
32
+ last_reviewed: '2026-05-26'
33
+ status: active
34
+ ---
35
+
36
+ ## 步骤
37
+
38
+ 1. 确认 OpenAPI、数据库 migration、权限与状态流转基线。
39
+ 2. 定义请求 DTO、响应 DTO、字段校验、错误码和分页排序边界。
40
+ 3. 定义应用服务事务边界、幂等策略、并发控制和审计事件。
41
+ 4. 编码并执行单元、集成、权限、重复提交与契约一致性验证。
42
+ 5. 审查 finding 清零并提供验收证据后交付。
43
+
44
+ ## 工作包
45
+
46
+ | 类别 | 需明确内容 | 证据 |
47
+ |---|---|---|
48
+ | 接口边界 | DTO、统一响应、错误码、分页 | OpenAPI/测试 |
49
+ | 一致性 | 事务、幂等、并发、状态流转 | migration/集成测试 |
50
+ | 安全 | 权限、租户、审计、隐私 | 越权测试/审计日志 |
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: SOLID代码审查规则
3
+ type: review_rule
4
+ when: '代码审查, SOLID, 面向对象设计, controller, service'
5
+ scope:
6
+ - backend
7
+ - frontend
8
+ products:
9
+ - '*'
10
+ id: ka-review-rule-SOLID代码审查规则
11
+ asset_kind: review_rule
12
+ lifecycle_status: active
13
+ authority: canonical
14
+ owner_mechanism_id: mc-ood-solid-contract
15
+ routes:
16
+ - code_change
17
+ primary_triggers:
18
+ - SOLID代码审查规则
19
+ secondary_triggers:
20
+ - 重构
21
+ negative_triggers: []
22
+ priority: P1
23
+ specificity: 5
24
+ required_evidence:
25
+ - code_review_findings
26
+ version: 1.0.0
27
+ last_reviewed: '2026-05-26'
28
+ status: active
29
+ ---
30
+
31
+ ## 阻断项
32
+
33
+ | 原则 | 阻断表现 | 修复方向 |
34
+ |---|---|---|
35
+ | SRP | Controller 承担事务、持久化或业务计算 | 下沉至应用服务并只保留协议映射 |
36
+ | LSP | 子类型对父契约操作抛出 unsupported | 修正抽象层级或拆分契约 |
37
+ | ISP | 宽接口迫使实现提供空方法/异常 | 拆分客户端特定接口 |
38
+ | DIP | 业务服务直接构造外部 SDK 或仓储实现 | 引入端口并通过依赖注入装配 |
39
+
40
+ OCP 的多分支扩展风险可先作为 warning,但必须记录变化维度和后续扩展方案。
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: 后端实现工程审查规则
3
+ type: review_rule
4
+ when: '后端审查, Controller, DTO, 事务, 幂等, 权限'
5
+ scope:
6
+ - backend
7
+ products:
8
+ - '*'
9
+ id: ka-review-rule-后端实现工程审查规则
10
+ asset_kind: review_rule
11
+ lifecycle_status: active
12
+ authority: canonical
13
+ owner_mechanism_id: mc-backend-implementation-contract
14
+ routes:
15
+ - code_change
16
+ primary_triggers:
17
+ - 后端实现工程审查规则
18
+ secondary_triggers:
19
+ - 接口审查
20
+ negative_triggers: []
21
+ priority: P1
22
+ specificity: 5
23
+ required_evidence:
24
+ - code_review_findings
25
+ version: 1.0.0
26
+ last_reviewed: '2026-05-26'
27
+ status: active
28
+ ---
29
+
30
+ ## 硬失败检查
31
+
32
+ | 分类 | 失败表现 | 修复要求 |
33
+ |---|---|---|
34
+ | Controller 边界 | 入参/出参使用数据库实体 | 改为 DTO/VO 并显式映射 |
35
+ | 参数校验 | POST/PUT/PATCH 未校验 | 补校验注解或验证器与失败测试 |
36
+ | 事务 | 事务中调用 HTTP/MQ/外部 SDK | 拆分边界或采用 outbox/补偿 |
37
+ | 幂等 | 支付、回调或写入无幂等证据 | 补请求键/唯一约束/重复提交测试 |
38
+ | 安全审计 | 敏感接口无权限、租户或审计 | 补安全校验和审计证据 |
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: OOD与SOLID设计规则
3
+ scope:
4
+ - backend
5
+ - frontend
6
+ products:
7
+ - '*'
8
+ id: ka-hard-rule-OOD与SOLID设计规则
9
+ asset_kind: hard_rule
10
+ lifecycle_status: active
11
+ authority: canonical
12
+ owner_mechanism_id: mc-ood-solid-contract
13
+ asset_role: required
14
+ consumed_by:
15
+ - mc-ood-solid-contract
16
+ routes:
17
+ - code_change
18
+ - artifact_generation
19
+ - multi_stage_plan
20
+ primary_triggers:
21
+ - 面向对象设计
22
+ - SOLID
23
+ secondary_triggers:
24
+ - 领域服务
25
+ - 重构
26
+ - 策略
27
+ negative_triggers:
28
+ - 文案
29
+ - 样式
30
+ priority: P1
31
+ specificity: 5
32
+ consumes:
33
+ - mc-coding-readiness
34
+ hard_blocks:
35
+ - ood_summary_missing
36
+ - solid_hard_fail_unresolved
37
+ fallback: manual_required
38
+ required_evidence:
39
+ - ood_design_summary
40
+ - code_review_findings
41
+ version: 1.0.0
42
+ last_reviewed: '2026-05-26'
43
+ status: active
44
+ ---
45
+
46
+ ## 编码前门禁
47
+
48
+ 复杂业务逻辑、领域模型、服务边界、策略或重构任务在编码前必须给出:
49
+
50
+ - 对象及单一职责。
51
+ - 对外接口与依赖方向。
52
+ - 可变化点与扩展方式。
53
+ - SRP、OCP、LSP、ISP、DIP 风险及验证方式。
54
+
55
+ ## 代码审查门禁
56
+
57
+ - Controller 不承担业务计算或持久化职责。
58
+ - 应用/领域服务依赖抽象端口,不直接构造基础设施依赖。
59
+ - 子类型不能拒绝父契约操作,接口不能迫使实现提供无效操作。
60
+ - 同一类型或状态的多处分支应判断是否需要策略扩展点。
61
+
62
+ 硬失败未清零时,不得交付。简单文案或样式修改不强行引入对象设计。
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: 后端实现工程契约规则
3
+ scope:
4
+ - backend
5
+ products:
6
+ - '*'
7
+ id: ka-hard-rule-后端实现工程契约规则
8
+ asset_kind: hard_rule
9
+ lifecycle_status: active
10
+ authority: canonical
11
+ owner_mechanism_id: mc-backend-implementation-contract
12
+ asset_role: required
13
+ consumed_by:
14
+ - mc-backend-implementation-contract
15
+ routes:
16
+ - code_change
17
+ - artifact_generation
18
+ - multi_stage_plan
19
+ primary_triggers:
20
+ - 后端实现
21
+ - 接口实现
22
+ secondary_triggers:
23
+ - Controller
24
+ - DTO
25
+ - 事务
26
+ - 幂等
27
+ negative_triggers:
28
+ - 文案
29
+ priority: P1
30
+ specificity: 5
31
+ consumes:
32
+ - mc-coding-readiness
33
+ hard_blocks:
34
+ - backend_work_package_missing
35
+ - backend_hard_fail_unresolved
36
+ fallback: manual_required
37
+ required_evidence:
38
+ - backend_work_package
39
+ - verification_result
40
+ version: 1.0.0
41
+ last_reviewed: '2026-05-26'
42
+ status: active
43
+ ---
44
+
45
+ ## 编码前必须确认
46
+
47
+ - Controller 只接收 DTO、执行校验、调用应用服务并返回统一响应对象。
48
+ - 写操作的事务、一致性、幂等键、并发冲突处理已定义。
49
+ - 权限、租户隔离、敏感字段与审计日志已定义。
50
+ - OpenAPI、请求/响应字段表、数据库 migration 和错误码有权威对齐依据。
51
+ - 验证计划包含成功、失败、重试、越权、重复提交和边界数据。
52
+
53
+ ## 阻断规则
54
+
55
+ 直接暴露实体、写接口无校验、事务内外部调用、高风险写入无幂等或敏感接口无安全审计证据,均不得交付。
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: 工作流导航契约规则
3
+ scope:
4
+ - '*'
5
+ products:
6
+ - '*'
7
+ id: ka-hard-rule-工作流导航契约规则
8
+ asset_kind: hard_rule
9
+ lifecycle_status: active
10
+ authority: canonical
11
+ owner_mechanism_id: mc-workflow-navigation-contract
12
+ asset_role: required
13
+ consumed_by:
14
+ - mc-workflow-navigation-contract
15
+ - consumable_asset_registry
16
+ - knowledge_injection
17
+ routes:
18
+ - operation
19
+ - multi_stage_plan
20
+ - artifact_generation
21
+ primary_triggers:
22
+ - 工作流导航契约规则
23
+ secondary_triggers:
24
+ - 下一步
25
+ - 继续
26
+ - 现在能写代码吗
27
+ - 导航
28
+ - navigation
29
+ negative_triggers: []
30
+ priority: P0
31
+ specificity: 5
32
+ consumes:
33
+ - mc-workflow-navigation-contract
34
+ hard_blocks:
35
+ - stale_task_bypass
36
+ - disallowed_action_execution
37
+ fallback: manual_required
38
+ required_evidence:
39
+ - project_stage
40
+ - task_stage
41
+ version: 1.0.0
42
+ last_reviewed: '2026-05-26'
43
+ status: active
44
+ ---
45
+
46
+ ## 核心原则
47
+
48
+ 执行任何开发动作前,必须先查询工作流导航状态。不得绕过导航机制凭经验操作。
49
+
50
+ 查询方式:`soloforge next`(CLI)或 `sf_navigation`(MCP 工具)。
51
+
52
+ ## 禁止动作规则
53
+
54
+ 以下 7 条规则在工作流导航中强制执行:
55
+
56
+ 1. **设计审计失败 → 禁止写业务代码**
57
+ - 条件:design_artifact_pack.status 不是 implementation_ready
58
+ - 阻断:sf_execute
59
+ - 必须先通过设计审计复验
60
+
61
+ 2. **配置未确认 → 优先建议确认配置**
62
+ - 条件:项目阶段为 configuration_pending
63
+ - 阻断:除 sf_init、config_confirm 外的所有动作
64
+ - 必须先运行 soloforge config confirm
65
+
66
+ 3. **决策未确认 → 禁止定稿架构/详细设计/代码**
67
+ - 条件:架构决策研讨中存在未确认域
68
+ - 阻断:sf_execute、sf_expand
69
+ - 必须先完成决策研讨并获取用户确认
70
+
71
+ 4. **无开发切片计划 → 禁止大范围编码**
72
+ - 条件:expansion 存在但 planning 不存在
73
+ - 阻断:sf_execute(大范围)
74
+ - 必须先生成切片规划工作包
75
+
76
+ 5. **修复重验指令未清零 → 禁止交付**
77
+ - 条件:repair_reverify_directive.blocked = true
78
+ - 阻断:sf_deliver
79
+ - 必须先完成修复和复验
80
+
81
+ 6. **测试失败 → 禁止交付**
82
+ - 条件:verification_result.status = failed
83
+ - 阻断:sf_deliver
84
+ - 必须先修复测试
85
+
86
+ 7. **本地验收缺失 → 禁止交付结论**
87
+ - 条件:delivery_ready 但无 local_acceptance_evidence
88
+ - 阻断:sf_deliver
89
+ - 必须先完成本地验收
90
+
91
+ ## 陈旧任务处理协议
92
+
93
+ 当检测到陈旧任务时(如 current-task.json 指向旧任务):
94
+
95
+ - **不得绕过 SoloForge 状态直接操作**
96
+ - **不得说"无需 SoloForge 状态"然后自由发挥**
97
+ - 必须从三个选项中选择:恢复旧任务 / 归档旧任务 / 开始新任务
98
+ - 旧任务文件不得静默删除,只处理 current-task 指针
99
+ - 选择必须留有审计痕迹
100
+
101
+ ## Override 协议
102
+
103
+ 用户可以显式 override 导航建议,但必须包含:
104
+ - override_reason:覆盖原因
105
+ - user_confirmation_ref:用户确认引用
106
+ - risk_acknowledged:已确认风险
107
+
108
+ 无痕 override 不允许。
109
+
110
+ ## JSON 输出契约
111
+
112
+ `soloforge next --json` 输出纯 JSON 到 stdout,无日志污染。
113
+ 字段包含:project_stage、task_stage、confidence、stage_evidence、blocking_reasons、recommended_commands、recommended_prompt、disallowed_next_actions、work_package。
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: 标准资产覆盖规则
3
+ scope:
4
+ - '*'
5
+ products:
6
+ - '*'
7
+ id: ka-hard-rule-标准资产覆盖规则
8
+ asset_kind: hard_rule
9
+ lifecycle_status: active
10
+ authority: canonical
11
+ owner_mechanism_id: mc-standard-asset-coverage
12
+ routes:
13
+ - artifact_generation
14
+ - code_change
15
+ - operation
16
+ primary_triggers:
17
+ - 标准资产覆盖
18
+ - 模板覆盖
19
+ - 资产契约
20
+ secondary_triggers:
21
+ - templates
22
+ - asset coverage
23
+ negative_triggers: []
24
+ priority: P0
25
+ specificity: 5
26
+ consumes:
27
+ - template_asset_contract_registry
28
+ - explicit_asset_registry
29
+ - observed_consumption
30
+ hard_blocks:
31
+ - unregistered_template_asset
32
+ - missing_runtime_consumer
33
+ - missing_revalidation_entrypoint
34
+ fallback: manual_required
35
+ required_evidence:
36
+ - asset_contract
37
+ - consumption_evidence
38
+ - validation_entrypoint
39
+ version: 1.0.0
40
+ last_reviewed: '2026-05-26'
41
+ status: active
42
+ ---
43
+
44
+ # 标准资产覆盖规则
45
+
46
+ ## 覆盖范围
47
+
48
+ 所有 `templates/**` 下的资产类型必须被审计覆盖:
49
+
50
+ - 验收模板 (acceptance_templates)
51
+ - 规则 (rules)
52
+ - 流程 (procedures)
53
+ - 检查清单 (checklists)
54
+ - 审查规则 (review_rules)
55
+ - 模式 (patterns)
56
+ - 脚手架 (scaffolds)
57
+ - Adapter 工作流 (adapter_workflow)
58
+
59
+ ## 覆盖检查要求
60
+
61
+ 每个资产必须具备:
62
+
63
+ 1. **标准承载路径** — 资产存放在正确的类型目录中
64
+ 2. **复验路径** — 可通过 sf_verify、template_mechanism_auditor 或 validate-release 复验
65
+ 3. **主链路消费者** — 被实际工具(sf_expand、sf_verify、sf_deliver 等)消费
66
+
67
+ ## 门禁规则
68
+
69
+ - P0 资产缺少标准承载路径时 hard_fail
70
+ - P0 资产未在 Consumable Asset Registry 注册时 hard_fail
71
+ - P0 资产缺少 owner_mechanism_id 时 hard_fail
72
+ - `mc-design-artifact-pack` 仅作为首批 P0 子机制保留