soloforge 1.1.46 → 1.1.48

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 (451) hide show
  1. package/README.md +23 -7
  2. package/dist/cli/adapter_writers.d.ts +5 -0
  3. package/dist/cli/adapter_writers.d.ts.map +1 -1
  4. package/dist/cli/adapter_writers.js +25 -0
  5. package/dist/cli/adapter_writers.js.map +1 -1
  6. package/dist/cli/init.d.ts.map +1 -1
  7. package/dist/cli/init.js +3 -1
  8. package/dist/cli/init.js.map +1 -1
  9. package/dist/cli/scope_check.d.ts +4 -0
  10. package/dist/cli/scope_check.d.ts.map +1 -0
  11. package/dist/cli/scope_check.js +41 -0
  12. package/dist/cli/scope_check.js.map +1 -0
  13. package/dist/context/adapters/claude_code/hooks.d.ts +5 -7
  14. package/dist/context/adapters/claude_code/hooks.d.ts.map +1 -1
  15. package/dist/context/adapters/claude_code/hooks.js +11 -9
  16. package/dist/context/adapters/claude_code/hooks.js.map +1 -1
  17. package/dist/context/adapters/shared/integration_guide.js +18 -6
  18. package/dist/context/adapters/shared/integration_guide.js.map +1 -1
  19. package/dist/context/adapters/shared/workflow_template.js +1 -1
  20. package/dist/context/config/intent_schema.d.ts +793 -6
  21. package/dist/context/config/intent_schema.d.ts.map +1 -1
  22. package/dist/context/config/intent_schema.js +9 -0
  23. package/dist/context/config/intent_schema.js.map +1 -1
  24. package/dist/context/config/resolver.d.ts +9 -0
  25. package/dist/context/config/resolver.d.ts.map +1 -1
  26. package/dist/context/config/resolver.js +5 -0
  27. package/dist/context/config/resolver.js.map +1 -1
  28. package/dist/core/adversarial_review_store.d.ts +133 -0
  29. package/dist/core/adversarial_review_store.d.ts.map +1 -0
  30. package/dist/core/adversarial_review_store.js +161 -0
  31. package/dist/core/adversarial_review_store.js.map +1 -0
  32. package/dist/core/domain_transition.d.ts.map +1 -1
  33. package/dist/core/domain_transition.js +3 -0
  34. package/dist/core/domain_transition.js.map +1 -1
  35. package/dist/core/gate_record_store.d.ts +13 -7
  36. package/dist/core/gate_record_store.d.ts.map +1 -1
  37. package/dist/core/gate_record_store.js +39 -17
  38. package/dist/core/gate_record_store.js.map +1 -1
  39. package/dist/core/git_utils.d.ts +1 -1
  40. package/dist/core/git_utils.js +1 -1
  41. package/dist/core/observer.d.ts.map +1 -1
  42. package/dist/core/observer.js +33 -6
  43. package/dist/core/observer.js.map +1 -1
  44. package/dist/core/task_context/constants.js +1 -1
  45. package/dist/core/task_context/constants.js.map +1 -1
  46. package/dist/core/task_context/manager.d.ts +4 -0
  47. package/dist/core/task_context/manager.d.ts.map +1 -1
  48. package/dist/core/task_context/manager.js +48 -30
  49. package/dist/core/task_context/manager.js.map +1 -1
  50. package/dist/core/task_context/manager_setters.d.ts +2 -0
  51. package/dist/core/task_context/manager_setters.d.ts.map +1 -1
  52. package/dist/core/task_context/manager_setters.js +10 -0
  53. package/dist/core/task_context/manager_setters.js.map +1 -1
  54. package/dist/core/types.d.ts +19 -0
  55. package/dist/core/types.d.ts.map +1 -1
  56. package/dist/domain/asset_registry/derived_registry.d.ts.map +1 -1
  57. package/dist/domain/asset_registry/derived_registry.js +20 -5
  58. package/dist/domain/asset_registry/derived_registry.js.map +1 -1
  59. package/dist/domain/asset_registry/derived_types.d.ts +22 -1
  60. package/dist/domain/asset_registry/derived_types.d.ts.map +1 -1
  61. package/dist/domain/build/contract.d.ts.map +1 -1
  62. package/dist/domain/build/contract.js +3 -8
  63. package/dist/domain/build/contract.js.map +1 -1
  64. package/dist/domain/build/engine.d.ts +4 -2
  65. package/dist/domain/build/engine.d.ts.map +1 -1
  66. package/dist/domain/build/engine.js +38 -5
  67. package/dist/domain/build/engine.js.map +1 -1
  68. package/dist/domain/contracts/design_lifecycle_contract.d.ts.map +1 -1
  69. package/dist/domain/contracts/design_lifecycle_contract.js +11 -4
  70. package/dist/domain/contracts/design_lifecycle_contract.js.map +1 -1
  71. package/dist/domain/design/contract.d.ts.map +1 -1
  72. package/dist/domain/design/contract.js +13 -31
  73. package/dist/domain/design/contract.js.map +1 -1
  74. package/dist/domain/design/engine.d.ts +4 -2
  75. package/dist/domain/design/engine.d.ts.map +1 -1
  76. package/dist/domain/design/engine.js +39 -4
  77. package/dist/domain/design/engine.js.map +1 -1
  78. package/dist/domain/engine_helpers.d.ts +55 -2
  79. package/dist/domain/engine_helpers.d.ts.map +1 -1
  80. package/dist/domain/engine_helpers.js +173 -8
  81. package/dist/domain/engine_helpers.js.map +1 -1
  82. package/dist/domain/operate/contract.js +1 -1
  83. package/dist/domain/operate/contract.js.map +1 -1
  84. package/dist/domain/operate/engine.d.ts +4 -2
  85. package/dist/domain/operate/engine.d.ts.map +1 -1
  86. package/dist/domain/operate/engine.js +23 -3
  87. package/dist/domain/operate/engine.js.map +1 -1
  88. package/dist/domain/types.d.ts +6 -0
  89. package/dist/domain/types.d.ts.map +1 -1
  90. package/dist/domain/types.js.map +1 -1
  91. package/dist/domain/verify/engine.d.ts +4 -2
  92. package/dist/domain/verify/engine.d.ts.map +1 -1
  93. package/dist/domain/verify/engine.js +22 -2
  94. package/dist/domain/verify/engine.js.map +1 -1
  95. package/dist/gate/contracts/tool_actions.d.ts +2 -2
  96. package/dist/gate/contracts/tool_actions.d.ts.map +1 -1
  97. package/dist/gate/contracts/tool_actions.js +2 -2
  98. package/dist/gate/contracts/tool_actions.js.map +1 -1
  99. package/dist/gate/contracts/tool_invocation_contract_registry.js +1 -1
  100. package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
  101. package/dist/gate/executors/executors_artifact.d.ts +19 -0
  102. package/dist/gate/executors/executors_artifact.d.ts.map +1 -1
  103. package/dist/gate/executors/executors_artifact.js +108 -8
  104. package/dist/gate/executors/executors_artifact.js.map +1 -1
  105. package/dist/gate/executors/executors_build.d.ts.map +1 -1
  106. package/dist/gate/executors/executors_build.js +17 -15
  107. package/dist/gate/executors/executors_build.js.map +1 -1
  108. package/dist/gate/executors/executors_external_command.d.ts.map +1 -1
  109. package/dist/gate/executors/executors_external_command.js +32 -0
  110. package/dist/gate/executors/executors_external_command.js.map +1 -1
  111. package/dist/gate/executors/executors_field_mapping.d.ts +7 -0
  112. package/dist/gate/executors/executors_field_mapping.d.ts.map +1 -0
  113. package/dist/gate/executors/executors_field_mapping.js +179 -0
  114. package/dist/gate/executors/executors_field_mapping.js.map +1 -0
  115. package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
  116. package/dist/gate/executors/executors_prerequisite.js +27 -7
  117. package/dist/gate/executors/executors_prerequisite.js.map +1 -1
  118. package/dist/gate/executors/executors_regex_scan.d.ts.map +1 -1
  119. package/dist/gate/executors/executors_regex_scan.js +36 -15
  120. package/dist/gate/executors/executors_regex_scan.js.map +1 -1
  121. package/dist/gate/executors/executors_scope.js +4 -4
  122. package/dist/gate/executors/executors_scope.js.map +1 -1
  123. package/dist/gate/executors/executors_trace.d.ts +5 -0
  124. package/dist/gate/executors/executors_trace.d.ts.map +1 -1
  125. package/dist/gate/executors/executors_trace.js +186 -3
  126. package/dist/gate/executors/executors_trace.js.map +1 -1
  127. package/dist/gate/executors/index.d.ts.map +1 -1
  128. package/dist/gate/executors/index.js +2 -0
  129. package/dist/gate/executors/index.js.map +1 -1
  130. package/dist/gate/gate_engine.d.ts +9 -0
  131. package/dist/gate/gate_engine.d.ts.map +1 -1
  132. package/dist/gate/gate_engine.js +15 -0
  133. package/dist/gate/gate_engine.js.map +1 -1
  134. package/dist/gate/gate_registry_bridge.d.ts +9 -8
  135. package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
  136. package/dist/gate/gate_registry_bridge.js +57 -16
  137. package/dist/gate/gate_registry_bridge.js.map +1 -1
  138. package/dist/gate/middleware_gates.js +1 -1
  139. package/dist/gate/middleware_gates.js.map +1 -1
  140. package/dist/gate/scope_resolver.d.ts +7 -0
  141. package/dist/gate/scope_resolver.d.ts.map +1 -1
  142. package/dist/gate/scope_resolver.js +1 -1
  143. package/dist/gate/scope_resolver.js.map +1 -1
  144. package/dist/index.js +5 -0
  145. package/dist/index.js.map +1 -1
  146. package/dist/server/tools/sf_doctor.d.ts +2 -0
  147. package/dist/server/tools/sf_doctor.d.ts.map +1 -1
  148. package/dist/server/tools/sf_doctor.js +35 -1
  149. package/dist/server/tools/sf_doctor.js.map +1 -1
  150. package/dist/server/tools/sf_gate.d.ts +1 -1
  151. package/dist/server/tools/sf_gate.js +2 -2
  152. package/dist/server/tools/sf_gate.js.map +1 -1
  153. package/dist/server/tools/sf_task.d.ts +83 -0
  154. package/dist/server/tools/sf_task.d.ts.map +1 -1
  155. package/dist/server/tools/sf_task.js +121 -4
  156. package/dist/server/tools/sf_task.js.map +1 -1
  157. package/dist/server/tools/sf_work.d.ts +203 -0
  158. package/dist/server/tools/sf_work.d.ts.map +1 -1
  159. package/dist/server/tools/sf_work.js +549 -46
  160. package/dist/server/tools/sf_work.js.map +1 -1
  161. package/dist/shared/traceability_id_utils.js +3 -3
  162. package/dist/shared/traceability_id_utils.js.map +1 -1
  163. package/dist/verify/contracts/decision_workshop.d.ts.map +1 -1
  164. package/dist/verify/contracts/decision_workshop.js +4 -3
  165. package/dist/verify/contracts/decision_workshop.js.map +1 -1
  166. package/package.json +2 -1
  167. package/templates/build/enforced.md +299 -39
  168. package/templates/build//344/270/223/351/241/271/345/256/236/347/216/260.md +75 -0
  169. package/templates/build//345/256/211/345/205/250/345/212/240/345/233/272.md +75 -0
  170. package/templates/build//346/263/250/351/207/212/347/272/252/345/276/213.md +48 -0
  171. package/templates/build//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201.md +50 -79
  172. package/templates/build//346/265/213/350/257/225/350/256/241/345/210/222.md +31 -24
  173. package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +101 -0
  174. package/templates/build//350/260/203/350/257/225/346/216/222/346/237/245.md +44 -75
  175. package/templates/build//351/207/215/346/236/204/346/226/271/346/263/225.md +68 -0
  176. package/templates/design/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243.md +38 -28
  177. package/templates/design/enforced.md +234 -74
  178. package/templates/design//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 +5 -2
  179. package/templates/design//345/205/274/345/256/271/346/200/247/344/270/216/350/277/201/347/247/273/350/257/204/344/274/260.md +71 -0
  180. package/templates/design//345/206/263/347/255/226/344/270/216/351/200/211/345/236/213.md +70 -0
  181. package/templates/design//345/210/207/347/211/207/350/247/204/345/210/222.md +51 -55
  182. package/templates/design//345/274/200/345/217/221/345/210/207/347/211/207/350/256/241/345/210/222.md +75 -0
  183. package/templates/design//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243.md +35 -47
  184. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241.md +63 -81
  185. package/templates/design//350/256/276/350/256/241/345/206/263/347/255/226/347/272/252/345/276/213.md +58 -0
  186. package/templates/design//350/256/276/350/256/241/350/264/250/351/207/217/350/246/201/347/202/271.md +58 -0
  187. package/templates/design//351/234/200/346/261/202/345/210/206/346/236/220.md +49 -53
  188. package/templates/operate/UI/350/247/206/350/247/211/351/252/214/346/224/266/347/272/252/345/276/213.md +74 -0
  189. package/templates/operate/enforced.md +52 -5
  190. package/templates/operate//344/270/212/347/272/277/350/247/202/345/257/237.md +53 -32
  191. package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216.md +22 -1
  192. package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256.md +93 -0
  193. package/templates/shared/enforced.md +83 -5
  194. package/templates/shared//345/217/215/351/246/210/344/277/256/345/244/215/351/227/255/347/216/257.md +86 -0
  195. package/templates/shared//345/267/245/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246.md +1 -1
  196. package/templates/shared//345/267/245/347/250/213/346/211/247/350/241/214/346/200/273/347/272/262.md +148 -0
  197. package/templates/shared//345/267/245/347/250/213/347/272/252/345/276/213.md +71 -0
  198. package/templates/shared//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +48 -43
  199. package/templates/shared//346/234/272/345/210/266/350/257/264/346/230/216.md +67 -0
  200. package/templates/shared//347/240/224/350/256/250/350/256/260/345/275/225.md +54 -0
  201. package/templates/shared//350/257/201/346/215/256/351/251/261/345/212/250/344/270/216/345/217/215/345/271/273/350/247/211.md +27 -17
  202. package/templates/shared//350/264/241/347/214/256/350/247/204/350/214/203.md +78 -0
  203. package/templates/verify/enforced.md +87 -263
  204. package/templates/verify//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245.md +46 -87
  205. package/templates/verify//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +17 -0
  206. package/templates/verify//345/256/241/346/237/245/346/270/205/345/215/225.md +79 -0
  207. package/templates/verify//346/236/266/346/236/204/350/257/255/344/271/211/347/272/242/347/272/277.md +60 -0
  208. package/templates/verify//351/252/214/350/257/201/346/226/271/346/263/225.md +72 -0
  209. package/dist/core/scope_checker.d.ts +0 -29
  210. package/dist/core/scope_checker.d.ts.map +0 -1
  211. package/dist/core/scope_checker.js +0 -53
  212. package/dist/core/scope_checker.js.map +0 -1
  213. package/templates/build/Bug/345/210/206/346/236/220.md +0 -59
  214. package/templates/build/Git/346/223/215/344/275/234.md +0 -48
  215. package/templates/build/OOD/350/256/276/350/256/241/346/221/230/350/246/201.md +0 -46
  216. package/templates/build/React/346/216/245/345/217/243/351/233/206/346/210/220.md +0 -42
  217. package/templates/build/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +0 -52
  218. package/templates/build/TS/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -78
  219. package/templates/build//344/270/212/346/270/270/344/272/244/345/217/211/351/252/214/350/257/201.md +0 -68
  220. package/templates/build//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201.md +0 -56
  221. package/templates/build//344/273/243/347/240/201/351/227/250/347/246/201.md +0 -58
  222. package/templates/build//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -48
  223. package/templates/build//345/210/207/347/211/207/346/211/247/350/241/214/347/272/252/345/276/213.md +0 -108
  224. package/templates/build//345/210/207/347/211/207/347/253/257/345/210/260/347/253/257/351/252/214/350/257/201.md +0 -221
  225. package/templates/build//345/212/237/350/203/275/345/274/200/345/217/221.md +0 -66
  226. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260.md +0 -39
  227. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213.md +0 -33
  228. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245.md +0 -70
  229. package/templates/build//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260.md +0 -43
  230. package/templates/build//345/233/275/351/231/205/345/214/226.md +0 -45
  231. package/templates/build//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +0 -68
  232. package/templates/build//345/256/211/345/205/250/345/256/241/346/237/245.md +0 -154
  233. package/templates/build//345/256/211/345/205/250/345/256/241/350/256/241.md +0 -47
  234. package/templates/build//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -56
  235. package/templates/build//346/200/247/350/203/275/345/210/206/346/236/220.md +0 -59
  236. package/templates/build//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +0 -53
  237. package/templates/build//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +0 -76
  238. package/templates/build//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273.md +0 -63
  239. package/templates/build//346/226/260/350/200/201/351/200/273/350/276/221/346/257/224/345/257/271/346/227/245/345/277/227.md +0 -39
  240. package/templates/build//346/235/203/351/231/220/350/256/244/350/257/201.md +0 -49
  241. package/templates/build//346/265/213/350/257/225/350/264/250/351/207/217.md +0 -45
  242. package/templates/build//347/206/224/346/226/255/351/231/215/347/272/247.md +0 -49
  243. package/templates/build//347/212/266/346/200/201/346/265/201/350/275/254.md +0 -43
  244. package/templates/build//347/213/254/347/253/213/345/256/241/346/237/245.md +0 -45
  245. package/templates/build//347/272/246/346/235/237/345/256/236/347/216/260.md +0 -47
  246. package/templates/build//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245.md +0 -60
  247. package/templates/build//347/274/226/347/240/201/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
  248. package/templates/build//347/274/226/347/240/201/350/264/250/351/207/217.md +0 -46
  249. package/templates/build//347/274/226/347/240/201/351/230/266/346/256/265/346/211/247/350/241/214.md +0 -105
  250. package/templates/build//347/274/272/351/231/267/347/256/241/347/220/206.md +0 -47
  251. package/templates/build//350/200/246/345/220/210/346/243/200/346/265/213.md +0 -86
  252. package/templates/build//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -40
  253. package/templates/build//350/264/250/351/207/217/345/256/241/346/237/245.md +0 -111
  254. package/templates/build//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +0 -52
  255. package/templates/build//351/200/232/347/224/250/350/264/250/351/207/217.md +0 -176
  256. package/templates/build//351/207/215/346/236/204/346/226/271/346/241/210.md +0 -61
  257. package/templates/build//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +0 -53
  258. package/templates/build//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201.md +0 -94
  259. package/templates/build//351/233/206/346/210/220/351/252/214/350/257/201.md +0 -67
  260. package/templates/build//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217.md +0 -135
  261. package/templates/build//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245.md +0 -64
  262. package/templates/build//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -75
  263. package/templates/design/API/350/256/276/350/256/241.md +0 -47
  264. package/templates/design/N/345/212/2401/346/237/245/350/257/242.md +0 -48
  265. package/templates/design/OOD/350/256/276/350/256/241.md +0 -72
  266. package/templates/design//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214.md +0 -109
  267. package/templates/design//344/270/215/347/241/256/345/256/232/346/227/266/345/244/264/350/204/221/351/243/216/346/232/264.md +0 -105
  268. package/templates/design//344/273/273/345/212/241/346/213/206/350/247/243.md +0 -61
  269. package/templates/design//344/273/273/345/212/241/350/247/204/345/210/222.md +0 -84
  270. package/templates/design//344/274/232/350/257/235/346/201/242/345/244/215-procedures.md +0 -78
  271. package/templates/design//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245.md +0 -89
  272. package/templates/design//345/210/207/347/211/207/350/256/241/345/210/222.md +0 -149
  273. package/templates/design//345/211/215/347/253/257/346/200/247/350/203/275.md +0 -49
  274. package/templates/design//345/216/206/345/217/262/351/201/227/347/225/231/351/233/267/345/214/272/346/270/205/345/215/225.md +0 -50
  275. package/templates/design//345/216/237/345/236/213/346/272/220/347/240/201/346/217/220/345/217/226.md +0 -78
  276. package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216.md +0 -200
  277. package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -81
  278. package/templates/design//345/220/221/345/220/216/345/205/274/345/256/271/346/200/247/345/220/210/350/247/204/346/212/245/345/221/212.md +0 -52
  279. package/templates/design//345/221/275/344/273/244/346/211/247/350/241/214-procedures.md +0 -45
  280. package/templates/design//345/221/275/344/273/244/350/267/257/347/224/261-procedures.md +0 -46
  281. package/templates/design//345/221/275/345/220/215.md +0 -49
  282. package/templates/design//345/242/236/351/207/217/350/276/271/347/225/214/347/225/214/345/256/232/346/226/207/346/241/243.md +0 -48
  283. package/templates/design//345/267/245/345/205/267/350/260/203/347/224/250-procedures.md +0 -41
  284. package/templates/design//345/271/266/345/217/221/346/216/247/345/210/266.md +0 -50
  285. package/templates/design//346/212/200/346/234/257/351/200/211/345/236/213.md +0 -33
  286. package/templates/design//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210.md +0 -97
  287. package/templates/design//346/224/271/351/200/240/345/275/261/345/223/215/350/214/203/345/233/264/350/257/204/344/274/260.md +0 -56
  288. package/templates/design//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210.md +0 -75
  289. package/templates/design//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276.md +0 -49
  290. package/templates/design//346/227/240/351/232/234/347/242/215.md +0 -49
  291. package/templates/design//346/236/266/346/236/204/345/206/263/347/255/226/350/256/260/345/275/225.md +0 -53
  292. package/templates/design//346/236/266/346/236/204/345/256/241/346/237/245.md +0 -256
  293. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-constraints.md +0 -177
  294. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-procedures.md +0 -130
  295. package/templates/design//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +0 -47
  296. package/templates/design//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230.md +0 -58
  297. package/templates/design//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220.md +0 -114
  298. package/templates/design//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +0 -64
  299. package/templates/design//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206.md +0 -182
  300. package/templates/design//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214.md +0 -77
  301. package/templates/design//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205.md +0 -85
  302. package/templates/design//350/200/201/347/263/273/347/273/237/345/210/207/347/211/207/350/247/204/345/210/222.md +0 -48
  303. package/templates/design//350/207/252/344/270/273/351/200/211/345/236/213.md +0 -57
  304. package/templates/design//350/256/276/350/256/241/344/270/200/350/207/264/346/200/247/351/252/214/346/224/266/346/212/245/345/221/212.md +0 -34
  305. package/templates/design//350/256/276/350/256/241/344/272/247/347/211/251/347/224/237/346/210/220/344/270/216/345/244/215/351/252/214.md +0 -60
  306. package/templates/design//350/256/276/350/256/241/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -21
  307. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241-procedures.md +0 -123
  308. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241.md +0 -109
  309. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241/345/256/241/346/237/245.md +0 -88
  310. package/templates/design//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -43
  311. package/templates/design//350/277/201/347/247/273/350/257/204/344/274/260.md +0 -67
  312. package/templates/design//351/232/224/347/246/273/351/200/202/351/205/215/345/231/250/346/226/271/346/241/210.md +0 -44
  313. package/templates/design//351/234/200/346/261/202/346/276/204/346/270/205.md +0 -65
  314. package/templates/design//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -88
  315. package/templates/design//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241.md +0 -43
  316. package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -60
  317. package/templates/operate//350/277/220/347/273/264/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
  318. package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256/345/256/241/346/237/245.md +0 -59
  319. package/templates/shared/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -55
  320. package/templates/shared/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -54
  321. package/templates/shared/OOD/344/270/216SOLID/350/256/276/350/256/241.md +0 -48
  322. package/templates/shared//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +0 -57
  323. package/templates/shared//344/272/247/347/211/251/345/245/221/347/272/246.md +0 -44
  324. package/templates/shared//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/345/245/221/347/272/246.md +0 -116
  325. package/templates/shared//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 +0 -45
  326. package/templates/shared//344/273/273/345/212/241/347/212/266/346/200/201/346/234/272.md +0 -55
  327. package/templates/shared//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -55
  328. package/templates/shared//344/274/230/351/233/205/345/201/234/346/234/272.md +0 -43
  329. package/templates/shared//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 +0 -54
  330. package/templates/shared//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -55
  331. package/templates/shared//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -55
  332. package/templates/shared//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -47
  333. package/templates/shared//345/210/207/347/211/207/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -72
  334. package/templates/shared//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -58
  335. package/templates/shared//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246.md +0 -40
  336. package/templates/shared//345/221/275/344/273/244/346/211/247/350/241/214.md +0 -48
  337. package/templates/shared//345/221/275/344/273/244/350/267/257/347/224/261.md +0 -45
  338. package/templates/shared//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -54
  339. package/templates/shared//345/244/232/347/247/237/346/210/267.md +0 -49
  340. package/templates/shared//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -46
  341. package/templates/shared//345/257/274/345/205/245/345/257/274/345/207/272.md +0 -51
  342. package/templates/shared//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -52
  343. package/templates/shared//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -54
  344. package/templates/shared//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246.md +0 -42
  345. package/templates/shared//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -50
  346. package/templates/shared//345/267/245/344/275/234/346/265/201/346/250/241/347/211/210/345/214/205.md +0 -34
  347. package/templates/shared//345/267/245/345/205/267/350/260/203/347/224/250.md +0 -48
  348. package/templates/shared//345/271/266/345/217/221/351/224/201.md +0 -57
  349. package/templates/shared//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260.md +0 -47
  350. package/templates/shared//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -34
  351. package/templates/shared//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203.md +0 -50
  352. package/templates/shared//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -50
  353. package/templates/shared//346/224/257/344/273/230.md +0 -51
  354. package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206.md +0 -77
  355. package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -53
  356. package/templates/shared//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -47
  357. package/templates/shared//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246.md +0 -69
  358. package/templates/shared//346/227/245/345/277/227/346/262/273/347/220/206.md +0 -31
  359. package/templates/shared//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206.md +0 -31
  360. package/templates/shared//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226.md +0 -50
  361. package/templates/shared//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -38
  362. package/templates/shared//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +0 -154
  363. package/templates/shared//346/250/241/347/211/210Frontmatter.md +0 -125
  364. package/templates/shared//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -282
  365. package/templates/shared//346/250/241/347/211/210/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247.md +0 -48
  366. package/templates/shared//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +0 -56
  367. package/templates/shared//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275.md +0 -49
  368. package/templates/shared//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247.md +0 -50
  369. package/templates/shared//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246.md +0 -86
  370. package/templates/shared//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -66
  371. package/templates/shared//347/237/245/350/257/206/346/262/273/347/220/206.md +0 -31
  372. package/templates/shared//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214.md +0 -47
  373. package/templates/shared//347/273/206/350/212/202/347/272/252/345/276/213.md +0 -54
  374. package/templates/shared//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242.md +0 -51
  375. package/templates/shared//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250.md +0 -47
  376. package/templates/shared//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205.md +0 -58
  377. package/templates/shared//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -55
  378. package/templates/shared//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250.md +0 -41
  379. package/templates/shared//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246.md +0 -50
  380. package/templates/shared//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -58
  381. package/templates/shared//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250.md +0 -62
  382. package/templates/shared//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -47
  383. package/templates/shared//351/200/232/347/237/245.md +0 -50
  384. package/templates/shared//351/203/250/347/275/262/351/205/215/347/275/256.md +0 -14
  385. package/templates/shared//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247.md +0 -67
  386. package/templates/shared//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214.md +0 -32
  387. package/templates/shared//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260.md +0 -51
  388. package/templates/shared//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -57
  389. package/templates/shared//351/252/214/346/224/266/346/250/241/347/211/210/350/276/223/345/207/272/345/245/221/347/272/246.md +0 -71
  390. package/templates/shared//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -55
  391. package/templates/shared//351/252/214/350/257/201/345/245/221/347/272/246.md +0 -48
  392. package/templates/verify/Docker/351/203/250/347/275/262.md +0 -46
  393. package/templates/verify/POC/347/273/223/350/256/272.md +0 -53
  394. package/templates/verify/React/345/210/227/350/241/250/350/241/250/346/240/274.md +0 -43
  395. package/templates/verify/React/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
  396. package/templates/verify/React/347/273/204/344/273/266.md +0 -42
  397. package/templates/verify/React/350/241/250/345/215/225.md +0 -43
  398. package/templates/verify/React/350/267/257/347/224/261.md +0 -43
  399. package/templates/verify/SOLID/344/273/243/347/240/201/345/256/241/346/237/245.md +0 -74
  400. package/templates/verify/SOLID/350/256/276/350/256/241.md +0 -31
  401. package/templates/verify/Schema/345/205/274/345/256/271.md +0 -42
  402. package/templates/verify/Vue/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
  403. package/templates/verify/Vue/347/273/204/344/273/266.md +0 -42
  404. package/templates/verify/Vue/350/267/257/347/224/261.md +0 -43
  405. package/templates/verify//344/270/212/346/270/270/350/256/276/350/256/241/344/272/244/345/217/211/351/252/214/350/257/201/345/256/241/346/237/245.md +0 -76
  406. package/templates/verify//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245.md +0 -38
  407. package/templates/verify//344/272/213/344/273/266/351/251/261/345/212/250.md +0 -46
  408. package/templates/verify//344/272/213/345/212/241/346/250/241/345/274/217.md +0 -42
  409. package/templates/verify//344/273/243/347/240/201/345/217/257/347/273/264/346/212/244/346/200/247/344/270/216/345/217/257/350/247/202/346/265/213/346/200/247/345/256/241/346/237/245.md +0 -92
  410. package/templates/verify//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/351/252/214/346/224/266.md +0 -64
  411. package/templates/verify//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -46
  412. package/templates/verify//345/206/263/347/255/226/345/256/214/346/225/264/346/200/247/345/256/241/346/237/245.md +0 -71
  413. package/templates/verify//345/210/206/351/241/265/346/237/245/350/257/242.md +0 -41
  414. package/templates/verify//345/211/215/347/253/257/351/241/265/351/235/242.md +0 -40
  415. package/templates/verify//345/216/206/345/217/262/346/225/260/346/215/256/346/270/205/346/264/227/350/204/232/346/234/254.md +0 -55
  416. package/templates/verify//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245.md +0 -73
  417. package/templates/verify//345/220/216/347/253/257API.md +0 -39
  418. package/templates/verify//345/242/236/345/210/240/346/224/271/346/237/245.md +0 -45
  419. package/templates/verify//345/244/226/351/203/250/344/276/235/350/265/226.md +0 -43
  420. package/templates/verify//345/245/221/347/272/246/345/205/274/345/256/271.md +0 -42
  421. package/templates/verify//345/256/232/346/227/266/344/273/273/345/212/241.md +0 -39
  422. package/templates/verify//345/256/236/346/227/266/346/216/250/351/200/201.md +0 -48
  423. package/templates/verify//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -58
  424. package/templates/verify//345/267/245/344/275/234/346/265/201.md +0 -38
  425. package/templates/verify//345/271/266/345/217/221/345/256/241/346/237/245.md +0 -132
  426. package/templates/verify//345/274/202/346/255/245/345/257/274/345/207/272.md +0 -41
  427. package/templates/verify//346/200/247/350/203/275/345/256/241/346/237/245.md +0 -110
  428. package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246.md +0 -44
  429. package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245.md +0 -131
  430. package/templates/verify//346/220/234/347/264/242/346/250/241/345/274/217.md +0 -47
  431. package/templates/verify//346/225/205/351/232/234/345/244/215/347/233/230.md +0 -67
  432. package/templates/verify//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264.md +0 -37
  433. package/templates/verify//346/225/260/346/215/256/351/232/220/347/247/201.md +0 -46
  434. package/templates/verify//346/226/207/344/273/266/344/270/212/344/274/240.md +0 -45
  435. package/templates/verify//346/227/245/345/277/227.md +0 -45
  436. package/templates/verify//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266.md +0 -94
  437. package/templates/verify//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214.md +0 -65
  438. package/templates/verify//347/237/245/350/257/206/346/263/250/345/205/245.md +0 -38
  439. package/templates/verify//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +0 -76
  440. package/templates/verify//347/274/223/345/255/230/347/255/226/347/225/245.md +0 -45
  441. package/templates/verify//350/201/224/350/260/203/350/256/276/350/256/241/347/274/272/351/231/267/345/210/244/345/256/232.md +0 -67
  442. package/templates/verify//350/201/224/350/260/203/351/252/214/350/257/201.md +0 -87
  443. package/templates/verify//350/256/276/350/256/241/345/256/241/350/256/241.md +0 -184
  444. package/templates/verify//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255.md +0 -74
  445. package/templates/verify//350/276/223/345/205/245/346/240/241/351/252/214.md +0 -44
  446. package/templates/verify//351/203/250/347/275/262/345/217/221/345/270/203.md +0 -101
  447. package/templates/verify//351/224/231/350/257/257/345/244/204/347/220/206.md +0 -46
  448. package/templates/verify//351/224/231/350/257/257/350/276/271/347/225/214.md +0 -38
  449. package/templates/verify//351/232/220/347/247/201/345/256/241/346/237/245.md +0 -37
  450. package/templates/verify//351/252/214/350/257/201.md +0 -38
  451. package/templates/verify//351/252/214/350/257/201/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
@@ -1,109 +0,0 @@
1
- ---
2
- id: ka-artifact_template-详细设计模版
3
- kind: artifact
4
- title: 详细设计
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: detail-design
9
- scope:
10
- - backend
11
- - frontend
12
- products:
13
- - '*'
14
- lifecycle_status: active
15
- version: 1.2.0
16
- last_reviewed: '2026-06-04'
17
- type: artifact
18
- domain: design
19
- trigger_conditions:
20
- - 复杂状态机(≥3 个状态)
21
- - 多模块协调逻辑
22
- - 并发/缓存/分布式锁场景
23
- stage: design
24
- owner_mechanism: mc-generic-artifact
25
- ---
26
-
27
- # 详细设计文档
28
-
29
- > **定位说明**:本文件为条件产物。核心产出为 design/01-数据库设计文档.md 和 design/02-API接口规格文档.md。
30
- > 当触发条件满足时本文件应生成;简单 CRUD 模块可跳过。
31
- > Gate 不强制检查本文件存在性,仅在"OOD 工作流触发合规"中判断是否需要 OOD 分析。
32
-
33
- ## 1. 设计前提
34
- - 对接的架构设计文档:
35
- - 依赖的接口/模块:
36
-
37
- > **根本目标引用**:本产物的 `fundamental_need` 见需求分析文档 §1.3。若未声明,引用审查规则 FP-01。
38
-
39
- ## 2. 数据结构(DDL/Model) [Always — 必填]
40
-
41
- ### 2.1 表结构定义
42
- | 表名 | 字段名 | 类型 | 约束 | 注释 | 默认值 | 敏感级别 | 来源章节 |
43
- |------|--------|------|------|------|--------|----------|----------|
44
- | <!-- 表名 --> | <!-- 字段 --> | <!-- 类型 --> | <!-- 约束 --> | <!-- 注释 --> | <!-- 默认值 --> | <!-- 级别 --> | <!-- 章节 --> |
45
-
46
- 敏感级别枚举:公开 / 内部 / 敏感 / 机密
47
- 来源章节:引用架构设计文档中的对应章节编号
48
-
49
- ### 2.2 实体关系
50
- | 父实体 | 子实体 | 关系类型 | 外键字段 | 级联行为 | 说明 |
51
- |--------|--------|----------|----------|----------|------|
52
- <!-- 按实际填写 -->
53
- 关系类型枚举:一对一 / 一对多 / 多对多
54
- 级联行为枚举:CASCADE / SET_NULL / RESTRICT / 无
55
-
56
- ### 2.3 索引策略
57
- | 表名 | 索引名 | 索引类型 | 字段列表 | 查询场景 | 创建理由 |
58
- |------|--------|----------|----------|----------|----------|
59
- <!-- 按实际填写 -->
60
- 索引类型枚举:PRIMARY / UNIQUE / INDEX / COMPOSITE / FULLTEXT
61
-
62
- ## 3. 接口定义 [Always — 必填]
63
-
64
- ### 3.1 内部接口(模块间调用)
65
- | 接口编号 | 方法签名 | 入参类型 | 出参类型 | 异常列表 | 幂等性 | 调用方 |
66
- |----------|----------|----------|----------|----------|--------|--------|
67
- <!-- 按实际填写 -->
68
- 幂等性枚举:是(天然幂等) / 是(通过幂等键) / 否
69
-
70
- ### 3.2 外部依赖接口 [Ask first — 如有外部依赖则必填]
71
- | 接口编号 | 来源服务 | 接口地址 | 调用方式 | 超时策略 | 降级策略 | 说明 |
72
- |----------|----------|----------|----------|----------|----------|------|
73
- <!-- 按实际填写 -->
74
-
75
- ## 4. 核心逻辑 [Always — 必填]
76
-
77
- ### 4.1 状态机定义
78
- | 状态 | 事件 | 守卫条件 | 目标状态 | 动作 | 副作用说明 |
79
- |------|------|----------|----------|------|------------|
80
- <!-- 按实际填写 -->
81
-
82
- ### 4.2 异常处理策略
83
- | 异常类型 | 触发条件 | 处理方式 | 用户提示 | 日志级别 | 上报策略 |
84
- |----------|----------|----------|----------|----------|----------|
85
- <!-- 按实际填写 -->
86
- 日志级别枚举:DEBUG / INFO / WARN / ERROR / FATAL
87
- 上报策略枚举:忽略 / 记录日志 / 告警 / 阻断
88
-
89
- ### 4.3 并发控制方案
90
- | 资源 | 并发场景 | 控制策略 | 锁粒度 | 超时策略 | 回退方案 |
91
- |------|----------|----------|--------|----------|----------|
92
- <!-- 按实际填写 -->
93
- 控制策略枚举:乐观锁 / 悲观锁 / 分布式锁 / 幂等键 / 无需
94
-
95
- ### 4.4 缓存方案 [Ask first — 如使用缓存则必填]
96
- | 缓存 key | 数据内容 | TTL | 失效策略 | 一致性保障 | 预估大小 |
97
- |----------|----------|-----|----------|------------|----------|
98
- <!-- 按实际填写 -->
99
- 失效策略枚举:主动失效 / 被动过期 / 定时刷新 / 无
100
-
101
- ## 5. 前后端适配矩阵
102
- | 前端页面/组件 | 后端接口 | 数据字段映射 | 交互行为 |
103
- |-------------|---------|------------|---------|
104
- | | | | |
105
-
106
- ## 6. 菜单权限映射
107
- | 菜单路径 | 角色 | 权限标识 | 关联接口 |
108
- |---------|------|---------|---------|
109
- | | | | |
@@ -1,88 +0,0 @@
1
- ---
2
- id: 详细设计审查
3
- kind: guidance
4
- title: 详细设计审查
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 详细设计审查
9
- - 设计审查
10
- - DD-REV
11
- - detail design review
12
- extra:
13
- name: detail-design-review
14
- type: constraint
15
- scope:
16
- - '*'
17
- products:
18
- - '*'
19
- domain: design
20
- lifecycle_status: active
21
- version: 1.2.0
22
- last_reviewed: '2026-06-04'
23
- verification_layer: L2
24
- stage: design
25
- owner_mechanism: mc-command-router
26
- ---
27
-
28
- # 详细设计审查规则
29
-
30
- > **DD-REV vs CON-DD 职责划分**:
31
- > - **DD-REV** 检查**引用格式**("每个模块是否有 ARCH-* 引用")
32
- > - **CON-DD** 检查**覆盖完整性**("架构文档中所有实体是否无遗漏")
33
- > - 两者互补:DD-REV 确保引用正确,CON-DD 确保没有遗漏
34
-
35
- ## 对照架构设计交叉验证
36
-
37
- ### DD-REV-01: 模块引用格式
38
- check_hint: 详细设计中的每个模块必须引用架构设计文档中的 ARCH-* 编号
39
- severity: error
40
- description: 禁止无 ARCH-* 引用的模块设计。每个模块必须在架构设计文档中有明确对应。
41
- evidence: 模块定义行包含 [ARCH-XX] 引用标记。
42
- check_focus: 引用格式——检查"是否有引用",不检查覆盖完整性(覆盖由 CON-DD-01 负责)
43
-
44
- ### DD-REV-02: 实体引用格式
45
- check_hint: 数据库设计中每张表必须标注来源 ARCH-* 编号
46
- severity: error
47
- description: 数据库设计文档中的每张表必须标注来源 ARCH-* 编号。
48
- evidence: 表定义行包含 [ARCH-XX] 引用标记。
49
- check_focus: 引用格式——不检查实体是否遗漏(遗漏由 CON-DD-01 负责)
50
-
51
- ### DD-REV-03: API 引用格式
52
- check_hint: API 接口规格中的每个 endpoint 必须标注来源 ARCH-* 编号
53
- severity: error
54
- description: 每个 endpoint 必须引用架构设计中的模块定义。
55
- evidence: endpoint 定义行包含 [ARCH-XX] 引用标记。
56
-
57
- ### DD-REV-04: 无未定义扩展
58
- check_hint: 详细设计不得引入架构文档未定义的新模块/层次/实体
59
- severity: error
60
- description: 所有新增模块必须先更新架构设计文档获得 ARCH-* 编号。发现未定义扩展时回退到 design 域(架构设计)重新评估。
61
-
62
- ## 接口规格一致性
63
-
64
- ### DD-REV-05: OpenAPI 同步
65
- check_hint: openapi.yaml 必须与详细设计中的接口规格完全一致
66
- severity: error
67
- description: 路径、方法、参数、返回值逐一匹配。以详细设计为准同步 openapi。
68
- evidence: 逐一比对结果记录(endpoint_id + 一致性状态)。
69
-
70
- ### DD-REV-06: 字段级匹配
71
- check_hint: 接口规格文档中每个字段必须在 openapi.yaml 中有对应定义
72
- severity: error
73
- description: 字段名、类型、约束、枚举值必须完全一致。允许 openapi 更详细但不允许不一致。
74
- evidence: 字段级比对清单。
75
-
76
- ## 字段级追溯
77
-
78
- ### DD-REV-07: 数据库字段追溯
79
- check_hint: 数据库设计文档中每个字段必须追溯到 REQ-* 或 ARCH-*
80
- severity: error
81
- description: 追踪链:表→ARCH-XX→REQ-XX。计算字段标注"系统生成"即可。
82
- evidence: 数据库设计文档字段追溯表无空缺项(每个字段已追溯到 REQ-* 或 ARCH-*)。
83
-
84
- ### DD-REV-08: API 参数追溯
85
- check_hint: API 接口规格中每个参数必须追溯到业务流程中的使用场景
86
- severity: warning
87
- description: 每个参数标注调用场景。无法追溯的标注"预留"并附理由。
88
- evidence: API 参数表无空缺项。
@@ -1,43 +0,0 @@
1
- ---
2
- id: ka-pattern-debugging-methodology
3
- kind: knowledge
4
- title: 调试方法论
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: debugging-methodology
9
- scope:
10
- - backend
11
- - frontend
12
- products:
13
- - '*'
14
- lifecycle_status: active
15
- version: 1.1.0
16
- last_reviewed: '2026-06-01'
17
- type: knowledge
18
- domain: design
19
- verification_layer: L2
20
- stage: design
21
- owner_mechanism: mc-general-pattern
22
- ---
23
-
24
- ## 决策规则
25
- - 一次只验证一个假设,一次只改一个变量,记录所有结果包括被否定的假设
26
- - 禁止从观察直接跳到修复,必须经过假设验证
27
- - 修复范围只覆盖确认的根因,禁止顺手改其他代码
28
- - 同一现象修复失败 3 次后停止猜测,重新审视假设,考虑是否为架构问题而非 Bug
29
- - 使用 RED-GREEN 回归验证:回退修复 → 确认失败 → 恢复修复 → 确认通过
30
- - 禁止通过删除断言、增加 sleep、降低覆盖率、增加 mock 来制造通过
31
- - 调试必须先复现问题(确定环境、数据、步骤),禁止在未复现的情况下猜测修改
32
- - 必须使用二分法定位问题范围(注释一半代码/回退一半提交),禁止全量排查
33
- - 线上问题排查必须优先查看日志和监控,禁止直接登录服务器修改代码
34
- - 修复后必须验证根因是否消除,而非只验证症状消失
35
-
36
- ## 验收项
37
- - [AC-01] 调试过程有假设-验证记录
38
- - [AC-02] 修复范围仅限确认的根因
39
- - [AC-03] 3次失败后重新审视假设
40
- - [AC-04] 使用 RED-GREEN 回归验证
41
- - [AC-05] 先复现再排查
42
- - [AC-06] 使用二分法定位
43
- - [AC-07] 修复后验证根因消除
@@ -1,67 +0,0 @@
1
- ---
2
- id: ka-artifact_template-迁移评估模版
3
- kind: artifact
4
- title: 迁移评估
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: migration-assessment
9
- scope:
10
- - backend
11
- - frontend
12
- products:
13
- - '*'
14
- lifecycle_status: active
15
- version: 1.2.0
16
- last_reviewed: '2026-06-04'
17
- type: artifact
18
- domain: design
19
- stage: design
20
- owner_mechanism: mc-generic-artifact
21
- ---
22
-
23
- # 迁移评估报告
24
-
25
- ## 1. 迁移范围
26
- - 当前技术/版本:
27
- - 目标技术/版本:
28
- - 涉及模块数/代码量:
29
- - 依赖链影响范围:
30
-
31
- ## 2. 兼容性分析
32
- | 变更项 | 当前 | 目标 | 兼容性 | 适配方案 |
33
- |--------|------|------|--------|---------|
34
- | API 变更 | | | | |
35
- | 配置变更 | | | | |
36
- | 行为差异 | | | | |
37
- | 依赖冲突 | | | | |
38
-
39
- ## 3. 迁移路径
40
- - **推荐路径**:渐进式 / 一次性
41
- - **阶段划分**:
42
- | 阶段 | 内容 | 预计工时 | 回滚方案 |
43
- |------|------|---------|---------|
44
- | 1 | | | |
45
- | 2 | | | |
46
-
47
- ## 4. 风险评估
48
- - 高风险点:
49
- - 兼容层需求(适配器/Shim/Feature Flag):
50
- - 数据迁移需求:
51
- - 回滚方案:
52
-
53
- ### AI 迁移特定风险
54
- - AI Agent 执行迁移时的一致性风险(多次执行结果是否一致)
55
- - AI Agent 对迁移工具链的可靠性依赖(Agent 是否正确调用 migration 工具)
56
- - AI Agent 在迁移失败时的回滚决策能力
57
- - 迁移前后 AI 验证覆盖的可靠性(是否仅依赖通过率)
58
-
59
- ### 缓解措施
60
- - 迁移脚本须幂等(已有)→ AI 重复执行不出错
61
- - 迁移验证须 4 维可靠性指标(一致性/鲁棒性/可预测性/安全性)
62
- - 迁移回滚决策须经人工审批(control-plane)
63
-
64
- ## 5. 资源与时间
65
- - 所需人力/技能:
66
- - 建议时间窗口:
67
- - 灰度策略:
@@ -1,44 +0,0 @@
1
- ---
2
- id: 隔离适配器方案
3
- kind: artifact
4
- title: 隔离适配器方案
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: isolation-adapter-plan
9
- type: artifact
10
- scope:
11
- - '*'
12
- domain: design
13
- lifecycle_status: active
14
- stage: design
15
- owner_mechanism: mc-existing-system-artifact
16
- ---
17
-
18
- # 隔离适配器方案
19
-
20
- ## 1. 隔离策略概述
21
- <!-- 新老接口共存的隔离策略说明 -->
22
-
23
- ## 2. 接口适配层
24
-
25
- ### 2.1 新老接口共存适配
26
- <!-- 新接口如何与老接口共存,路由规则 -->
27
-
28
- ### 2.2 数据同步中间层
29
- <!-- 新老数据库表之间的数据同步方案 -->
30
-
31
- ### 2.3 Feature Toggle 隔离
32
- | 开关名称 | 默认状态 | 金丝雀比例 | 观察时间 | 自动回滚阈值 | 回退目标 |
33
- |---------|---------|-----------|---------|------------|---------|
34
- | <!-- 功能名 --> | off | 10% | 30 分钟 | 错误率 >5% | 老逻辑 |
35
-
36
- ### 2.4 API 语义差异
37
- | 老接口 | 新接口 | 语义差异 | 兼容策略 | 风险评估 |
38
- |--------|--------|---------|---------|---------|
39
-
40
- ## 3. 隔离架构图
41
- <!-- 新老系统的隔离边界示意 -->
42
-
43
- ## 4. 回退策略
44
- <!-- 如果隔离层出现问题,如何快速切回老逻辑 -->
@@ -1,65 +0,0 @@
1
- ---
2
- id: ka-procedure-需求澄清流程
3
- kind: guidance
4
- title: 需求澄清
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 需求澄清
9
- - design
10
- - 需求梳理
11
- - 理解需求
12
- - 需求确认
13
- - requirement
14
- - 需求评审
15
- extra:
16
- name: requirement-clarify
17
- type: procedure
18
- scope:
19
- - backend
20
- - frontend
21
- products:
22
- - '*'
23
- lifecycle_status: active
24
- version: 1.3.0
25
- last_reviewed: '2026-06-04'
26
- domain: design
27
- verification_layer: L2
28
- stage: design
29
- owner_mechanism: mc-command-router
30
- ---
31
-
32
- ## 适用场景
33
- 从原始需求中提取结构化事实、识别冲突和缺口、产出可追溯的需求基线。适用于编码前的需求理解阶段。
34
-
35
- ## 步骤
36
- 1. 提取需求事实:从需求文档/用户描述中提取功能点、页面交互、业务规则
37
- 2. 分离事实与决策:需求事实和架构决策分列记录,禁止将 AI 推论伪装为需求事实
38
- 3. 运行术语一致性检查:识别同一概念不同命名,统一术语
39
- 4. 标记未确认项:无法确认的需求标记为「待确认」,禁止猜测或跳过
40
- 4a. **头脑风暴触发**:若用户表达不确定("你看着办"/"都行"/"不确定"),或需求本身有矛盾/遗漏:
41
- → 进入「不确定时头脑风暴流程」(templates/procedures/不确定时头脑风暴.md)
42
- → 若 fundamental_need 为空 → 先触发 FP-01(第一性原理推理规则)
43
- 5. 标注冲突和越界项:明确来源和处理方式(冲突标注来源,越界标注排除原因)
44
- 6. 定义用户角色(新增):识别所有与系统交互的角色,明确每个角色的职责、关联功能、可见菜单和数据权限范围。角色名称必须在菜单权限(第 6 章)和功能点(第 2 章)中保持一致引用
45
- 7. 绑定菜单权限:菜单需求必须关联角色、页面、操作权限(依赖步骤 6 的角色定义)
46
- 8. 声明写操作的失败反馈:每个用户可见写操作必须有提示文案、重试建议、是否可恢复
47
- 9. 启发非功能需求(新增):对每个功能点追问性能、安全、可用性、兼容性、数据保留五个维度,每条 NFR 必须包含量化验收指标。若需求来源未提及 NFR,按项目默认 NFR 基线补齐
48
- 10. 分析功能依赖(新增):梳理功能点之间的前置依赖和关联关系,标注到功能点清单的"前置依赖"和"关联功能"列。依赖关系必须无循环
49
- 11. 识别外部接口(新增):梳理系统依赖的外部系统、第三方 API、消息队列等集成点。若系统无外部依赖,显式标注"本系统无外部接口依赖"
50
- 12. 冻结需求基线:按需求 ID 冻结验收信号和重新打开条件(必须是人工确认点,Agent 不可自动冻结)
51
-
52
- ## 检查点
53
- - [ ] 术语一致,无同义混用(对应步骤 3)
54
- - [ ] 每个来源项映射到唯一目标,无孤立页面交互
55
- - [ ] 用户角色在菜单权限和功能点中引用一致,无悬空角色(对应步骤 6)
56
- - [ ] 菜单需求绑定角色/权限,无悬空项(对应步骤 7)
57
- - [ ] 用户可见写操作有失败反馈、删除语义、审计要求(对应步骤 8)
58
- - [ ] 非功能需求包含量化验收指标,无"高性能""安全"等模糊表述(对应步骤 9)
59
- - [ ] 每条功能点有唯一编号(REQ-NNN)且在架构/切片产物中被引用(对应步骤 10)
60
- - [ ] 需求基线按 ID 冻结(对应步骤 12)
61
-
62
- ## 注意事项
63
- - 禁止将 AI 推论冒充为需求事实
64
- - 原型缺失不阻塞需求分析
65
- - 未确认需求必须显式标记,禁止静默跳过
@@ -1,88 +0,0 @@
1
- ---
2
- id: ka-review-rule-需求质量审查规则
3
- kind: guidance
4
- title: 需求质量审查
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - design
9
- - 需求审查
10
- - requirement review
11
- extra:
12
- name: requirement-quality-review
13
- type: constraint
14
- scope:
15
- - backend
16
- - frontend
17
- products:
18
- - '*'
19
- lifecycle_status: active
20
- version: 1.2.0
21
- last_reviewed: '2026-06-04'
22
- domain: design
23
- verification_layer: L2
24
- stage: design
25
- owner_mechanism: mc-command-router
26
- ---
27
-
28
- # 需求质量审查规则
29
-
30
- ## REQ-01: 需求可测试性
31
-
32
- check_hint: 需求描述必须包含可量化的验收标准
33
- severity: warning
34
- scope: [backend, frontend]
35
- description: 每个需求点必须至少有一条可验证的验收标准,避免模糊表述(如"性能好"应改为"响应时间<200ms")
36
-
37
- ## REQ-02: 功能/非功能/约束三维度覆盖
38
-
39
- check_hint: 需求分析必须覆盖功能需求、非功能需求和约束条件
40
- severity: warning
41
- scope: [backend, frontend]
42
- description: 需求文档必须明确区分功能需求(做什么)、非功能需求(性能、安全、可用性等)和约束条件(技术栈、时间、资源等)。
43
- 非功能需求必须包含量化验收指标:性能需求必须有响应时间/并发数指标;安全需求必须有加密标准/认证方式;
44
- 可用性需求必须有可用率百分比;兼容性需求必须有具体浏览器/设备版本。
45
- 禁止出现"高性能""安全""稳定"等无量化指标的表述。
46
-
47
- ## REQ-03: 需求无歧义表达
48
-
49
- check_hint: 需求描述不得使用模糊量词或条件
50
- severity: warning
51
- scope: [backend, frontend]
52
- description: 禁止使用"等"、"相关"、"适当的"、"必要时"等模糊表述;每个需求点必须有一个明确的动作和对象
53
-
54
- ## REQ-04: 需求间无矛盾
55
-
56
- check_hint: 需求文档中不得存在相互矛盾的描述
57
- severity: warning
58
- scope: [backend, frontend]
59
- description: 检查需求间是否存在矛盾(如"支持离线使用"与"实时同步数据"),发现矛盾必须标注并请求澄清
60
-
61
- ## REQ-05: 需求完整性
62
-
63
- check_hint: 每个功能需求必须包含触发条件、处理逻辑和预期结果
64
- severity: warning
65
- scope: [backend, frontend]
66
- description: 缺少触发条件、处理逻辑或预期结果的需求必须标注为"待补充",不得留空
67
-
68
- ## REQ-06: 用户角色一致性
69
-
70
- check_hint: 菜单权限和功能点引用的角色必须在用户角色章节中有定义
71
- severity: error
72
- scope: [backend, frontend]
73
- description: 第 6 章菜单权限的每个角色名称必须在第 9 章用户角色中存在对应条目;
74
- 第 2 章功能点的"关联角色"引用同样必须在第 9 章有定义。发现未定义角色引用应立即阻断。
75
-
76
- ## REQ-07: 需求单一性
77
-
78
- check_hint: 每条功能点必须只描述一个用户操作或一个业务规则
79
- severity: warning
80
- scope: [backend, frontend]
81
- description: 禁止一条功能点包含多个"当...时"条件分支或多个"和"连接的独立操作。复合需求应拆分为多条,用前置依赖字段关联。
82
-
83
- ## REQ-08: 需求可追溯
84
-
85
- check_hint: 每条功能点必须有唯一 REQ-NNN 编号
86
- severity: warning
87
- scope: [backend, frontend]
88
- description: 功能点编号格式为 REQ-NNN。每个 REQ-NNN 须在架构设计文档或切片计划验收范围中被引用,否则标注为"待追溯"。
@@ -1,43 +0,0 @@
1
- ---
2
- id: ka-pattern-ddd-design
3
- kind: knowledge
4
- title: 领域驱动设计
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: ddd-design
9
- scope:
10
- - backend
11
- products:
12
- - '*'
13
- lifecycle_status: active
14
- version: 1.1.0
15
- last_reviewed: '2026-06-01'
16
- type: knowledge
17
- domain: design
18
- verification_layer: L2
19
- stage: design
20
- owner_mechanism: mc-backend-pattern
21
- ---
22
-
23
- ## 决策规则
24
- - 简单 CRUD 使用贫血模型,禁止在领域不复杂时强行使用充血模型
25
- - 不教条式应用 DDD,仅在领域真正复杂时采用充血领域模型
26
- - 一个模块/类应该只有一个变更原因(SRP),两个方法被不同需求修改即为 SRP 违反
27
- - 跨模块非强一致性流程应优先事件驱动架构,未采用事件驱动必须文档化原因
28
- - 高层模块必须依赖抽象而非具体实现(DIP),Service 依赖 Repository 接口而非具体 DAO
29
- - 写操作涉及金额、库存、状态流转等关键逻辑应考虑封装在领域服务中
30
- - 聚合根必须有明确的边界,聚合间通过 ID 引用而非对象嵌套
31
- - 领域事件必须由聚合根产生,跨聚合操作通过事件最终一致性
32
- - 值对象必须不可变(immutable),使用新的值对象表示变更
33
- - 仓储(Repository)只对聚合根提供存取,聚合内部实体不独立持久化
34
- - 领域服务只在跨聚合或需要外部资源时使用,单一聚合逻辑放在聚合根内
35
-
36
- ## 验收项
37
- - [AC-01] CRUD 场景使用贫血模型
38
- - [AC-02] 跨模块交互有明确的依赖方向
39
- - [AC-03] Service 依赖接口而非具体实现
40
- - [AC-04] 事件驱动决策有文档记录
41
- - [AC-05] 聚合边界清晰,聚合间 ID 引用
42
- - [AC-06] 值对象不可变
43
- - [AC-07] 仓储仅对聚合根
@@ -1,60 +0,0 @@
1
- ---
2
- id: ka-rule-domain-operate-release-note-review
3
- kind: guidance
4
- title: 发布说明审查
5
- triggers:
6
- - 发布说明
7
- - changelog
8
- - release note
9
- sync_policy: copy_to_project
10
- status: active
11
- extra:
12
- updated_at: '2026-06-15'
13
- lifecycle_status: active
14
- name: release-note-review
15
- scope:
16
- - '*'
17
- products:
18
- - release_note
19
- type: constraint
20
- version: 1.0.0
21
- last_reviewed: '2026-06-11'
22
- domain:
23
- - operate
24
- verification_layer: L2
25
- stage: operate
26
- owner_mechanism: mc-domain-operate
27
- ---
28
-
29
- ## 发布说明审查规则
30
-
31
- ### 必须满足
32
-
33
- 1. **发布说明必须存在**
34
- - 必须包含版本号、发布日期、变更摘要
35
- - 格式遵循项目既定的发布说明模版
36
-
37
- 2. **破坏性变更必须明确标注**
38
- - API 签名变更、数据库 schema 变更、配置格式变更等必须列为 Breaking Changes
39
- - 每个破坏性变更必须附迁移指南
40
-
41
- 3. **变更分类必须清晰**
42
- - 新功能(Added)、修复(Fixed)、变更(Changed)、移除(Removed)、安全修复(Security)
43
- - 不得将破坏性变更混在"Changed"中而不标注
44
-
45
- 4. **影响范围必须说明**
46
- - 受影响的用户群体(前端/后端/运维)
47
- - 受影响的接口或模块列表
48
-
49
- 5. **部署注意事项必须列出**
50
- - 需要的数据库迁移
51
- - 需要的配置变更
52
- - 需要的依赖更新
53
-
54
- ### 验收项
55
-
56
- - [AC-01] 发布说明文件存在且格式合规
57
- - [AC-02] 所有破坏性变更已标注并附迁移指南
58
- - [AC-03] 变更分类清晰无遗漏
59
- - [AC-04] 影响范围已说明
60
- - [AC-05] 部署注意事项已列出
@@ -1,22 +0,0 @@
1
- ---
2
- id: operate-aggregate-checks
3
- kind: guidance
4
- title: 运维聚合检查
5
- triggers:
6
- - 运维
7
- - 部署
8
- - 监控
9
- - 配置
10
- sync_policy: engine_only
11
- status: active
12
- extra:
13
- type: constraint
14
- scope:
15
- - '*'
16
- stage: operate
17
- owner_mechanism: mc-stage-gate-engine
18
- ---
19
-
20
- # operate 阶段聚合检查
21
-
22
- 收容无单一资产归属的 stage 级 check(如编译/测试/部署证据等)。