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,71 @@
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-template-asset-visibility
12
+ routes:
13
+ - operation
14
+ - code_change
15
+ - artifact_generation
16
+ primary_triggers:
17
+ - 模板资产可见性
18
+ - 内部资产
19
+ - 知识同步
20
+ secondary_triggers:
21
+ - sync-templates
22
+ - init
23
+ - visibility
24
+ negative_triggers: []
25
+ priority: P0
26
+ specificity: 5
27
+ consumes:
28
+ - template_asset_contract_registry
29
+ - template_init_sync
30
+ - knowledge_index_manager
31
+ hard_blocks:
32
+ - internal_asset_leak
33
+ - cross_stack_injection
34
+ - unregistered_asset_sync
35
+ fallback: manual_required
36
+ required_evidence:
37
+ - visibility_contract
38
+ - sync_manifest
39
+ - runtime_consumption_trace
40
+ version: 1.0.0
41
+ last_reviewed: '2026-05-26'
42
+ status: active
43
+ ---
44
+
45
+ # 模板资产可见性规则
46
+
47
+ ## 适用范围
48
+
49
+ 所有 `templates/**` 资产的同步、索引、注入和消费入口。
50
+
51
+ ## 可见性分类
52
+
53
+ | 可见性 | 说明 |
54
+ |--------|------|
55
+ | user_project | 用户项目知识,可同步到 `.soloforge/knowledge` |
56
+ | soloforge_internal | SoloForge 内部治理,不进入用户项目 |
57
+ | adapter_runtime_only | 仅 adapter 运行时消费,不进入用户知识库 |
58
+ | scaffold_only | 仅脚手架机制消费,不进入知识索引 |
59
+ | global_pattern | 全局工程模式,进入 `~/.soloforge/patterns` |
60
+
61
+ ## 硬规则
62
+
63
+ - 内部资产不得同步到用户项目。
64
+ - 不同技术栈的审查规则不得互相注入。
65
+ - 脚手架模板只由脚手架机制消费。
66
+ - 全局 patterns 只能作为 `template_guidance`,不得支撑项目事实。
67
+ - 用户可见资产不得包含内部施工术语。
68
+
69
+ ## 术语污染扫描
70
+
71
+ 用户可见资产禁止出现: Batch、validate-release、SoloForge Audit: PASS、Mechanism Contract Registry 等内部术语。
@@ -13,18 +13,38 @@ routes:
13
13
  - 用户反馈契约规则
14
14
  primary_triggers:
15
15
  - 用户反馈契约规则
16
- secondary_triggers: []
16
+ - 用户反馈
17
+ - 实际使用反馈
18
+ - 问题反馈
19
+ - 机制缺口
20
+ - 设计缺陷
21
+ secondary_triggers:
22
+ - 全局抽象
23
+ - 系统性问题
24
+ - 机制族归因
25
+ - 用户项目路径
26
+ - 防回归
17
27
  negative_triggers: []
18
28
  priority: P0
19
29
  specificity: 5
20
30
  consumes:
21
31
  - mc-task-context-lifecycle
32
+ - mc-first-principles
33
+ - mc-detail-discipline
34
+ - mc-evolution-regression
22
35
  hard_blocks:
23
36
  - 反馈未响应
24
37
  - 阻塞性信息未展示
38
+ - 仅按表面文件或单个场景收窄处理
39
+ - 未做机制族归因
40
+ - 未分析 SoloForge 自身与用户项目双路径影响
41
+ - 未分析模板层、知识层、机制层、adapter、CLI、MCP、发布门禁、迁移和防回归影响
25
42
  fallback: manual_required
26
43
  required_evidence:
27
44
  - user_feedback_message
45
+ - global_abstraction_review
46
+ - mechanism_family_mapping
47
+ - cross_layer_impact_matrix
28
48
  version: 1.0.0
29
49
  last_reviewed: '2026-05-22'
30
50
  migration_note: 知识资产标准化迁移
@@ -42,6 +62,15 @@ status: active
42
62
  3. 技术内容(路径、命令、错误码)禁止翻译,必须保留原文。
43
63
  4. `blocked` 类型反馈必须包含阻塞原因和建议下一步。
44
64
  5. `failure` 类型反馈必须包含失败证据和 retry_hint。
65
+ 6. 任何用户反馈、缺陷、设计疑问或实际使用偏差,不得只按表面文件、单个目录或单个场景收窄处理。
66
+ 7. 进入修复讨论前,必须先完成全局抽象审查:
67
+ - 该问题属于哪个机制族?
68
+ - 是否只是某个现象暴露出来的系统性问题?
69
+ - 是否同时影响 SoloForge 自身与用户项目使用路径?
70
+ - 是否涉及模板层、知识层、机制层、adapter、CLI、MCP、发布门禁、迁移和防回归?
71
+ - 是否需要抽象成通用能力,而不是只修当前案例?
72
+ 8. 如果全局抽象审查未完成,只能输出待分析项、影响矩阵和建议讨论顺序,不得直接给单点修复结论。
73
+ 9. 如果当前案例只是系统性问题的一个样本,修复方案必须覆盖同类入口、同类资产、同类任务和新增资产防回归。
45
74
 
46
75
  ## 适用场景
47
76
 
@@ -49,9 +78,41 @@ status: active
49
78
  - sf_verify 结果反馈
50
79
  - sf_learn 学习反馈
51
80
  - sf_expand 降级/澄清反馈
81
+ - 用户反馈实际使用问题
82
+ - 讨论新增机制、模板、规则、流程、验收或发布风险
83
+ - 将问题落入 Batch、备忘录、发布门槛或施工合同前
52
84
 
53
85
  ## 违规处理
54
86
 
55
87
  - 禁止的反馈类型 → hard_fail,阻断输出
56
88
  - 空洞反馈 → advisory,标记质量降级
57
89
  - 翻译技术内容 → advisory,标记违规
90
+ - 未做全局抽象审查就收窄为单点修复 → hard_fail,退回机制族归因
91
+ - 只修当前文件/目录/样例但未覆盖同类路径和防回归 → hard_fail,要求补齐通用能力
92
+ - 未分析 SoloForge 自身与用户项目双路径影响 → hard_fail,要求补齐影响矩阵
93
+ - 未说明模板层、知识层、机制层、adapter、CLI、MCP、发布门禁、迁移和防回归影响 → hard_fail,要求补齐跨层影响
94
+
95
+ ## 全局抽象审查输出
96
+
97
+ 每次用户反馈进入讨论或施工合同前,必须形成以下结构化结论:
98
+
99
+ ```text
100
+ 1. 表面现象:
101
+ 2. 机制族归因:
102
+ 3. 是否系统性问题:
103
+ 4. SoloForge 自身影响:
104
+ 5. 用户项目影响:
105
+ 6. 涉及层级:
106
+ - 模板层:
107
+ - 知识层:
108
+ - 机制层:
109
+ - adapter:
110
+ - CLI:
111
+ - MCP:
112
+ - 发布门禁:
113
+ - 迁移:
114
+ - 防回归:
115
+ 7. 是否应抽象成通用能力:
116
+ 8. 不应只修的局部案例:
117
+ 9. 施工和验收必须覆盖的同类路径:
118
+ ```
@@ -0,0 +1,77 @@
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-decision-workshop
12
+ routes:
13
+ - analysis
14
+ - artifact_generation
15
+ - code_change
16
+ primary_triggers:
17
+ - 决策研讨
18
+ - 技术选型
19
+ - 数据迁移
20
+ - 安全策略
21
+ secondary_triggers:
22
+ - 架构设计
23
+ - 部署
24
+ - 重构
25
+ - 第三方集成
26
+ negative_triggers:
27
+ - 简单说明
28
+ - 低风险改字
29
+ priority: P0
30
+ specificity: 5
31
+ consumes:
32
+ - decision_workshop
33
+ - architecture_decision_workshop
34
+ hard_blocks:
35
+ - unconfirmed_decision_domain
36
+ - missing_candidate_options
37
+ - missing_user_confirmation
38
+ fallback: manual_required
39
+ required_evidence:
40
+ - decision_workshop
41
+ - user_confirmation_ref
42
+ - decision_domain_status
43
+ version: 1.0.0
44
+ last_reviewed: '2026-05-26'
45
+ status: active
46
+ ---
47
+
48
+ # 通用决策研讨规则
49
+
50
+ ## 触发条件
51
+
52
+ 以下任务类型必须在执行前完成决策研讨与用户确认:
53
+
54
+ - 架构设计(六域决策子包)
55
+ - 技术选型
56
+ - 数据迁移
57
+ - 安全策略变更
58
+ - 部署基础设施变更
59
+ - 产品范围变更
60
+ - 重构/迁移方案
61
+ - 第三方集成
62
+
63
+ ## 决策域记录要求
64
+
65
+ 每个决策域必须包含:
66
+
67
+ 1. **事实与约束** — 客观现状、技术限制、业务约束
68
+ 2. **候选方案** — 至少两个可行方案,含收益与风险
69
+ 3. **推荐方案** — 附推荐理由
70
+ 4. **用户确认引用** — 必须有明确的用户确认记录
71
+
72
+ ## 门禁规则
73
+
74
+ - 所有必须域未确认时,阻断正式生成/执行
75
+ - 现有系统变更必须提供现状分析和差距分析证据
76
+ - 标记 `not_applicable` 的域必须提供不适用理由
77
+ - 标记 `deferred` 的域必须列出延期影响
@@ -0,0 +1,96 @@
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-contract
12
+ routes:
13
+ - artifact_generation
14
+ - code_change
15
+ - verification
16
+ primary_triggers:
17
+ - 验收模板
18
+ - 标准输出
19
+ - 设计产物
20
+ secondary_triggers:
21
+ - API接口规格
22
+ - 数据库设计
23
+ - 架构设计
24
+ negative_triggers:
25
+ - 普通解释
26
+ - 简单 bugfix
27
+ priority: P0
28
+ specificity: 5
29
+ consumes:
30
+ - standard_asset_contract
31
+ - design_artifact_pack
32
+ - repair_reverify_directive
33
+ hard_blocks:
34
+ - template_contract_violation
35
+ - draft_artifact_consumed
36
+ - missing_authoritative_asset
37
+ fallback: manual_required
38
+ required_evidence:
39
+ - template_contract_result
40
+ - authoritative_asset
41
+ - repair_reverify_result
42
+ version: 1.0.0
43
+ last_reviewed: '2026-05-26'
44
+ status: active
45
+ ---
46
+
47
+ # 验收模板输出契约规则
48
+
49
+ ## 触发条件
50
+
51
+ 当任务产出正式设计文档、架构设计、数据库设计、API 接口规格、原型说明或验收报告时,必须按标准资产契约验收。
52
+
53
+ ## 适用范围
54
+
55
+ - 架构设计文档(01-架构设计文档.md)
56
+ - 数据库设计文档(02-数据库设计文档.md)
57
+ - API 接口规格(03-API接口规格文档.md)
58
+ - 设计一致性验收报告(99-设计一致性验收报告.md)
59
+ - 原型说明文档
60
+
61
+ ## 契约要求
62
+
63
+ 每个 P0 模板输出必须满足:
64
+
65
+ 1. **章节检查**: 必填章节存在、顺序合理、不得只有空标题。
66
+ 2. **表格检查**: 必填表格存在、表头正确、行内容覆盖必要对象。
67
+ 3. **字段检查**: API/数据/追踪字段具备类型、必填、来源、说明、示例、校验规则、错误语义。
68
+ 4. **权威资产检查**: 必须引用并对齐 OpenAPI、SQL/migration 等机器权威资产。
69
+ 5. **语义检查**: Mermaid 图、字段、实体与当前业务相关,不得用无关内容凑数。
70
+
71
+ ## API 字段表最小列
72
+
73
+ 字段名 / 类型 / 必填 / 来源 / 说明 / 示例 / 校验规则 / 错误语义
74
+
75
+ ## Mermaid 检查规则
76
+
77
+ - fence 语法合法。
78
+ - 图类型符合模板要求(sequenceDiagram、flowchart 等)。
79
+ - 图内容与当前业务相关。
80
+
81
+ ## 修复闭环
82
+
83
+ 模板契约验收失败必须进入修复重验:
84
+
85
+ 1. sf_verify 报告缺口和诊断码。
86
+ 2. 修复后重新 sf_verify。
87
+ 3. 仍然失败则继续循环或请求用户确认。
88
+ 4. 修复期间交付被阻断。
89
+
90
+ ## 草稿状态
91
+
92
+ 草稿必须显式标记 `draft`、`not_for_implementation` 或 `needs_template_verification`。草稿不进入编码消费。
93
+
94
+ ## 低风险跳过
95
+
96
+ 普通 bugfix、样式修复、只读解释和小范围改动不触发模板契约验收。
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: solid-design-pattern
3
+ when: 'SOLID, 面向对象设计, 职责划分, 依赖倒置, 接口隔离'
4
+ scope:
5
+ - backend
6
+ - frontend
7
+ products:
8
+ - '*'
9
+ id: ka-pattern-solid-design
10
+ asset_kind: pattern
11
+ lifecycle_status: active
12
+ authority: supporting
13
+ owner_mechanism_id: mc-ood-solid-contract
14
+ routes:
15
+ - code_change
16
+ primary_triggers:
17
+ - SOLID
18
+ - 面向对象设计
19
+ priority: P1
20
+ specificity: 5
21
+ version: 1.0.0
22
+ last_reviewed: '2026-05-26'
23
+ consumes:
24
+ - mc-ood-solid-contract
25
+ emits: []
26
+ secondary_triggers: []
27
+ negative_triggers: []
28
+ type: pattern
29
+ status: active
30
+ ---
31
+
32
+ ## 规则
33
+
34
+ - 一个类只承担一个清晰可验证的业务原因。
35
+ - 新增行为优先扩展端口或策略,避免修改大量既有条件分支。
36
+ - 子类型必须保持父契约的有效输入、输出和错误语义。
37
+ - 接口按消费者需要拆分,禁止空实现和不支持异常。
38
+ - 业务核心依赖抽象,基础设施实现由装配层注入。
39
+ - 简单修改不建立无用抽象层,避免为原则之名过度设计。
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: backend-implementation-engineering
3
+ when: 'Controller, DTO, API实现, 事务, 幂等, 权限, 后端编码'
4
+ scope:
5
+ - backend
6
+ products:
7
+ - '*'
8
+ id: ka-pattern-backend-implementation-engineering
9
+ asset_kind: pattern
10
+ lifecycle_status: active
11
+ authority: supporting
12
+ owner_mechanism_id: mc-backend-implementation-contract
13
+ routes:
14
+ - code_change
15
+ primary_triggers:
16
+ - 后端实现
17
+ - API实现
18
+ priority: P1
19
+ specificity: 5
20
+ version: 1.0.0
21
+ last_reviewed: '2026-05-26'
22
+ consumes:
23
+ - mc-backend-implementation-contract
24
+ emits: []
25
+ secondary_triggers: []
26
+ negative_triggers: []
27
+ type: pattern
28
+ status: active
29
+ ---
30
+
31
+ ## 工程规则
32
+
33
+ - Controller 入参与出参按接口语义使用 DTO/VO,不暴露数据库实体。
34
+ - 参数必须验证必填、长度、枚举、金额、日期区间和关联对象存在性。
35
+ - 列表接口限制 page size 并对白名单排序;响应使用统一分页对象。
36
+ - 写操作在 Service 定义清晰事务边界;外部调用不放在长事务内。
37
+ - 支付、回调、创建与状态流转具备幂等键、并发控制和重复提交测试。
38
+ - 敏感操作必须校验权限和租户,并产出可追踪审计记录。
39
+ - OpenAPI、字段表、错误码和 migration 必须与实现同步复验。