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,47 +0,0 @@
1
- ---
2
- id: ka-domain_knowledge-data-permission
3
- kind: knowledge
4
- title: 数据权限
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: data-permission
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
- verification_layer: L2
18
- stage: _global
19
- owner_mechanism: mc-domain-knowledge
20
- ---
21
-
22
- ## 业务规则
23
- 1. 用户只能查看其权限范围内的数据(按部门、区域、业务线等维度隔离)
24
- 2. 数据权限在功能权限之上叠加,即使用户有功能权限,也受数据范围约束
25
- 3. 数据权限变更实时生效(非缓存延迟)
26
- 4. 管理员可查看全部数据,但仍需审计记录
27
- 5. 数据权限必须支持多维度控制:组织架构(部门/区域)、数据范围(本人/本部门/本部门及下级/全部)
28
- 6. 数据权限过滤必须在 Repository/Mapper 层实现,禁止在 Service 层硬编码过滤条件
29
- 7. 数据权限变更必须实时生效,不能要求用户重新登录
30
-
31
- ## 约束条件
32
- - 数据权限规则存储在数据权限表中(user_id → scope_type + scope_value)
33
- - MyBatis 拦截器根据当前用户自动注入数据范围过滤条件
34
- - 新建业务表需考虑数据权限字段(如 dept_id、region_id)
35
- - 数据权限查询性能需优化(大批量数据过滤使用 JOIN 而非 IN)
36
- - 数据权限必须与角色解耦,一个角色可配置不同的数据范围
37
- - 管理员(超管)可以查看全部数据,但仍需记录访问日志
38
-
39
- ## 例外情况
40
- - 系统级数据(字典、配置)不受数据权限约束
41
- - 跨部门协作场景需额外的数据共享授权机制
42
- - 公共数据(如数据字典、系统配置)不受数据权限控制
43
-
44
- ## 关联模式
45
- 参见 auth-permission 模式(功能权限模型)、multi-tenancy 模式(租户级数据隔离)
46
- - auth-permission
47
- - naming-convention
@@ -1,69 +0,0 @@
1
- ---
2
- id: ka-hard-rule-施工指令契约规则
3
- kind: guidance
4
- title: 施工指令契约
5
- owner_mechanism: mc-instruction-contract
6
- sync_policy: copy_to_project
7
- status: active
8
- extra:
9
- name: construction-directive-contract
10
- scope:
11
- - '*'
12
- products:
13
- - '*'
14
- type: constraint
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- verification_layer: L2
19
- stage: _global
20
- triggers:
21
- - 施工指令
22
- - 写文件
23
- - 编码
24
- - 代码修改
25
- - 文件创建
26
- - 重构操作
27
- - 验收标准
28
- ---
29
-
30
- # 施工指令契约规则
31
-
32
- ## 硬规则
33
-
34
- ### HR-1: 任何实现/编码/写文件前必须有施工指令
35
-
36
- AI 在执行任何代码修改、文件创建、重构操作前,必须先确认存在施工指令。
37
-
38
- 施工指令必须包含以下字段(全部必填,不可为空):
39
-
40
- | 字段 | 说明 | 示例 |
41
- |------|------|------|
42
- | 目标 | 本次施工要达成什么 | "为用户登录功能添加 JWT 认证" |
43
- | 范围 | 涉及哪些文件/模块 | `["src/auth/jwt.ts", "src/middleware/auth.ts"]` |
44
- | 非目标 | 明确不做什么 | "不改动现有 session 机制" |
45
- | 落点 | 产出物放在哪里 | "src/auth/jwt.ts" |
46
- | 验收标准 | 怎样算完成 | "单元测试通过,token 过期能正确拒绝" |
47
- | 禁止绕过项 | 不可跳过的检查 | "不可跳过测试、不可跳过 review" |
48
-
49
- ### HR-2: 缺失字段时必须先澄清
50
-
51
- 如果施工指令缺少任何必填字段,AI 必须:
52
- 1. 向用户指出缺失的字段
53
- 2. 提供推荐值和理由
54
- 3. 等待用户确认后再继续
55
-
56
- **禁止**:猜测缺失字段、使用空值或占位符填充、跳过澄清直接编码。
57
-
58
- ### HR-3: 施工指令不可假通过
59
-
60
- 以下情况不得判定为通过:
61
- - 空目标/空范围/空验收标准
62
- - 非目标写"无"但不提供理由
63
- - 落点不明确(如"某个目录")
64
- - 禁止绕过项列表为空
65
-
66
- ### HR-4: 用户项目同样适用
67
-
68
- 通过 sync-templates 注入到用户项目后,本规则在用户项目开发中同样生效。
69
- 用户使用 SoloForge 时,AI 工具在执行写操作前会自动检查施工指令。
@@ -1,31 +0,0 @@
1
- ---
2
- id: ka-hard-rule-日志治理规则
3
- kind: guidance
4
- title: 日志治理
5
- owner_mechanism: mc-log-governance
6
- sync_policy: internal
7
- status: active
8
- extra:
9
- name: log-governance
10
- scope:
11
- - '*'
12
- products:
13
- - '*'
14
- type: constraint
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- verification_layer: L2
19
- stage: _global
20
- ---
21
-
22
- # 日志治理规则
23
-
24
- SoloForge 自身输出必须通过统一日志模块,用户可见输出不得混入内部治理噪音。
25
-
26
- ## 硬规则
27
-
28
- - CLI 和 MCP 用户可见输出必须中文语义优先。
29
- - `--json` 模式 stdout 必须是纯 JSON。
30
- - 引擎内部 trace 默认不得输出。
31
- - 直接 `console` 输出只能存在于日志封装层。
@@ -1,31 +0,0 @@
1
- ---
2
- id: ka-hard-rule-机制自治理规则
3
- kind: guidance
4
- title: 机制自治理
5
- owner_mechanism: mc-mechanism-health
6
- sync_policy: internal
7
- status: active
8
- extra:
9
- name: mechanism-self-governance
10
- scope:
11
- - '*'
12
- products:
13
- - '*'
14
- type: constraint
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- verification_layer: L2
19
- stage: _global
20
- ---
21
-
22
- # 机制自治理规则
23
-
24
- 所有新增机制必须有真实生产消费路径,不能只停留在注册表、测试或文档。
25
-
26
- ## 硬规则
27
-
28
- - 引擎模块导出的核心函数必须被 CLI、MCP handler 或 release gate 消费。
29
- - `lazy*` 声明必须在 handler 或治理入口中实际调用。
30
- - `mechanism_id` 必须在双层注册、机制合同和资产清单中保持一致。
31
- - 行为测试必须包含 must-fail 和 must-pass,不得只验证文件存在。
@@ -1,50 +0,0 @@
1
- ---
2
- id: ka-hard-rule-标准资产覆盖规则
3
- kind: guidance
4
- title: 标准资产覆盖
5
- owner_mechanism: mc-standard-asset-coverage
6
- sync_policy: internal
7
- status: active
8
- extra:
9
- name: standard-asset-override
10
- scope:
11
- - '*'
12
- products:
13
- - '*'
14
- type: constraint
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- verification_layer: L2
19
- stage: _global
20
- ---
21
-
22
- # 标准资产覆盖规则
23
-
24
- ## 覆盖范围
25
-
26
- 所有 `templates/**` 下的资产类型必须被审计覆盖:
27
-
28
- - 验收模版 (acceptance_templates)
29
- - 规则 (rules)
30
- - 流程 (procedures)
31
- - 检查清单 (checklists)
32
- - 审查规则 (review_rules)
33
- - 模式 (patterns)
34
- - 脚手架 (scaffolds)
35
- - Adapter 工作流 (adapter_workflow)
36
-
37
- ## 覆盖检查要求
38
-
39
- 每个资产必须具备:
40
-
41
- 1. **标准承载路径** — 资产存放在正确的类型目录中
42
- 2. **复验路径** — 可通过 sf_gate、template_mechanism_auditor 或 validate-release 复验
43
- 3. **主链路消费者** — 被实际工具(sf_work action=act、sf_gate、sf_work action=verify 等)消费
44
-
45
- ## 门禁规则
46
-
47
- - P0 资产缺少标准承载路径时 hard_fail
48
- - P0 资产未在 Consumable Asset Registry 注册时 hard_fail
49
- - P0 资产缺少 owner_mechanism_id 时 hard_fail
50
- - `mc-design-artifact-pack` 仅作为首批 P0 子机制保留
@@ -1,38 +0,0 @@
1
- ---
2
- id: ka-hard-rule-core-experience-principle
3
- kind: guidance
4
- title: 核心体验原则
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 新增机制
9
- - 新增模版
10
- - 新增 workflow
11
- - 发布门禁
12
- extra:
13
- name: core-experience-principle
14
- scope:
15
- - '*'
16
- products:
17
- - '*'
18
- lifecycle_status: active
19
- version: 1.1.0
20
- last_reviewed: '2026-06-01'
21
- type: constraint
22
- verification_layer: L2
23
- stage: _global
24
- owner_mechanism: mc-core-experience-principle
25
- ---
26
-
27
- ## 核心体验原则
28
-
29
- ### 四条原则
30
- 1. **机制强,路径短** — 机制必须接入真实主链路,用户主入口不超过一次自然语言指令或一个 CLI 命令
31
- 2. **规则硬,体验轻** — 关键失败硬阻断,低风险任务轻量
32
- 3. **证据足,不啰嗦** — 证据可审查,输出清晰简洁
33
- 4. **能自动修复,不假装完成** — 失败进入 repair_reverify 或 manual_required
34
-
35
- ### 禁止
36
- - 机制只存在于文档,不接主链路
37
- - 硬规则降级为 warning 后继续
38
- - 验证失败后标记 completed/delivered
@@ -1,154 +0,0 @@
1
- ---
2
- id: ka-hard-rule-核心工程执行原则
3
- kind: guidance
4
- title: 核心工程执行原则
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 实现
9
- - 编码
10
- - 开发
11
- - 重构
12
- - 写代码
13
- - 改bug
14
- - 修复
15
- extra:
16
- name: core-engineering-principles
17
- scope:
18
- - '*'
19
- products:
20
- - '*'
21
- lifecycle_status: active
22
- version: 1.1.0
23
- last_reviewed: '2026-06-01'
24
- type: constraint
25
- verification_layer: L2
26
- stage: _global
27
- owner_mechanism: mc-core-engineering-principles
28
- ---
29
-
30
- # 核心工程执行原则
31
-
32
- > 适用: 所有 code_execution / multi_stage_plan / single_artifact 路由。
33
-
34
- ## 四条原则
35
-
36
- ### 原则一: Think Before Coding — 编码前先思考
37
-
38
- 编码前先明确问题、目标、输入、约束和不确定性。不假设、不隐藏困惑、不把模糊需求直接转成代码。
39
-
40
- **必须做到:**
41
- - 暴露阻塞性困惑,不假装理解
42
- - 区分可推断事实、假设、需要用户确认的问题
43
- - 只问最小阻塞问题,不把非阻塞细节抛给用户
44
- - 把 material 级不确定记录为 assumption,不得假装确定
45
-
46
- **硬失败条件:**
47
- - 缺少必要输入却开始写代码
48
- - 写入 scope 不明确却修改文件
49
- - 外部副作用权限不明确却执行命令
50
- - 把未知事实写成确定结论
51
- - 隐藏需要用户确认的业务口径
52
-
53
- **不确定性分级:**
54
- - `blocking`: 不问不能继续(写入路径、业务口径、外部副作用授权、破坏性操作)
55
- - `material`: 可先推进,但必须记录假设和风险(UI 文案偏好、非关键默认配置)
56
- - `minor`: 可合理默认,但在结果里说明(文件命名细节、无风险排序偏好)
57
- - `non_blocking`: 不打断用户,不影响当前执行
58
-
59
- ### 原则二: Simplicity First — 简单优先
60
-
61
- 优先用最少代码、最少抽象、最少新增文件解决已确认目标。不为了未确认的未来需求提前设计复杂结构。
62
-
63
- **必须做到:**
64
- - 最少代码解决问题
65
- - 引入新抽象、新依赖、新模块时说明必要性
66
- - 不为简单 CRUD 强行套复杂领域模型
67
-
68
- **硬失败条件:**
69
- - 为局部问题引入无必要新依赖
70
- - 为简单修复新增大范围架构层
71
- - 没有用户目标支撑却扩展公共 API/配置/registry
72
- - 使用复杂方案绕过已有简单本地模式
73
-
74
- **不是"少做":**
75
- - 不写测试不叫简单
76
- - 不接主链路不叫简单
77
- - 不处理边界不叫简单
78
- - 不做必要错误处理不叫简单
79
- - 不建必要抽象不叫简单
80
-
81
- **minimum_sufficient_solution 必须满足:**
82
- - 满足用户目标
83
- - 接入真实路径
84
- - 覆盖关键失败路径
85
- - 有验证证据
86
- - 没有不必要抽象/依赖/公共 API 扩张
87
-
88
- ### 原则三: Surgical Changes — 精准修改
89
-
90
- 只改必须改的内容,不顺便重构、不无关格式化、不扩大 scope、不污染用户已有改动。
91
-
92
- **必须做到:**
93
- - 只改必要文件、必要行、必要行为
94
- - 遇到用户已有修改时必须保护,不得回滚
95
-
96
- **硬失败条件:**
97
- - 修改 scope 外文件
98
- - 修改与目标无关的文件或行为
99
- - 未经确认回滚用户已有改动
100
- - 大范围格式化掩盖真实变更
101
- - 为了让测试过而删除断言、降低覆盖率、增加无关 mock
102
-
103
- **允许的必要联动修改:**
104
- - 主链路接入必须修改入口文件
105
- - 类型变化必须修改调用方
106
- - schema 变化必须修改 model/query/API
107
- - 验证失败需要修改测试或 fixture
108
- - contract 状态变化必须修改 registry、diagnostic、verification 和相关测试
109
-
110
- ### 原则四: Goal-Driven Execution — 目标驱动执行
111
-
112
- 先定义可验证目标,再执行;执行后必须验证;验证失败要修复并重新验证,直到通过或明确阻塞。
113
-
114
- **必须做到:**
115
- - 明确目标和验收标准
116
- - 禁止"功能正常""看起来没问题"等模糊成功标准;必须写出已执行验证和剩余风险
117
- - 输出未验证项和人工确认项
118
-
119
- **硬失败条件:**
120
- - 没有可验证目标就开始实现
121
- - 没有 VerificationPlan 就标记完成
122
- - 未执行验证却输出"全部通过"
123
- - 验证失败仍进入 completed / delivery_ready
124
- - 隐藏未验证项
125
-
126
- ## 原则冲突优先级
127
-
128
- ```text
129
- 安全/权限/隐私 > Goal-Driven Execution > Think Before Coding > Surgical Changes > Simplicity First
130
- ```
131
-
132
- 裁决规则:
133
- - 不能为了简单而牺牲验证
134
- - 不能为了少改而不接入主链路
135
- - 不能为了快而隐藏阻塞性不确定性
136
- - 必要验证、必要入口接入、必要错误处理优先于"少写代码"
137
-
138
- ## 反规避规则
139
-
140
- 四原则必须由证据证明,不接受 AI 自述。
141
-
142
- 伪满足示例:
143
- - 写一句"已思考清楚",但没有输入、假设、目标证据
144
- - 说"保持简单",但实际新增大抽象
145
- - 说"只改必要文件",但 diff 里有无关变更
146
- - 说"验证通过",但没有真实 evidence
147
- - 把未执行验证写成"建议验证"后仍标记完成
148
- - 把用户没确认的业务口径写成事实
149
-
150
- 硬规则:
151
- - 自述不能代替 ClarificationNeed / AssumptionRecord / GoalDefinition / VerificationEvidence
152
- - required 原则失败不能进入 completed
153
- - 验证失败必须进入 repair_reverify 或 manual_required
154
- - 不能用 advisory 结果覆盖 required 失败
@@ -1,125 +0,0 @@
1
- ---
2
- id: 模版Frontmatter
3
- kind: guidance
4
- title: 模版 Frontmatter 规范
5
- sync_policy: internal
6
- status: active
7
- triggers:
8
- - 模版文件写入、frontmatter 校验、资产注册
9
- owner_mechanism: mc-standard-asset-contract
10
- ---
11
-
12
- # 模版 Frontmatter 规范(归零重构版)
13
-
14
- > 权威来源:本文档定义 `templates/` 下所有 .md 资产的 frontmatter 字段合法值、必填/选填、语义。
15
- > 目录按研发阶段组织(design/build/verify/operate/shared),不再按资产类型分目录。
16
-
17
- ---
18
-
19
- ## 一、字段体系
20
-
21
- ### 1.1 核心字段(所有 kind 共有,必填)
22
-
23
- | 字段 | 必填 | 合法值 | 说明 |
24
- |------|:---:|--------|------|
25
- | `id` | ✅ | 唯一标识 | 资产 ID |
26
- | `kind` | ✅ | `artifact` / `guidance` / `enforced` / `knowledge` | 资产种类 |
27
- | `sync_policy` | ✅ | `engine_only` / `copy_to_project` / `internal` | 同步策略 |
28
- | `status` | ✅ | `active` / `retired` | 生命周期状态 |
29
-
30
- ### 1.2 kind 语义
31
-
32
- | kind | 含义 | 目录 | 额外字段 |
33
- |------|------|------|----------|
34
- | `artifact` | 产出模板(AI 按此格式写产出) | design/build/verify/operate | `title` |
35
- | `guidance` | 工程经验/审查指导(注入 AI prompt) | 各 stage + shared | `title` + `triggers` |
36
- | `enforced` | 强制检查清单(gate bridge 聚合执行) | 各 stage(`enforced.md`) | `gate` + `checks` |
37
- | `knowledge` | 知识条目(决策规则/模式) | 主要 shared | `title` |
38
-
39
- ### 1.3 各 kind 额外字段
40
-
41
- **guidance 必填 `triggers`**(非空数组,否则永不注入=死文件):
42
- ```yaml
43
- triggers: [并发, 线程, 锁]
44
- ```
45
-
46
- **enforced 必填 `gate` + `checks`**:
47
- ```yaml
48
- gate: build-gate
49
- checks:
50
- - id: TS-Q01
51
- executor: regex_pattern_scan
52
- rule: 禁止 as any
53
- severity: error
54
- check_type: deterministic
55
- evidence_required: [...]
56
- gate: build-gate
57
- target: self
58
- ```
59
-
60
- **gate 合法值**:`design-gate` / `build-gate` / `verify-gate` / `operate-gate` / `slice-gate` / `shared-gate`
61
-
62
- **check.executor 合法值**(须在 gate_executors 注册):
63
- `regex_pattern_scan` / `document_structure` / `file_evidence` / `external_command` / `tsc_compile` / `vitest_run` / `file_scope_check` / `test_count_check` / `lazy_pattern_check` / `cross_validation` / `upstream_gate_check` / `probe` / `semantic`(客户端 AI 评判,引擎不执行)
64
-
65
- ---
66
-
67
- ## 二、目录结构(归零重构后按阶段)
68
-
69
- ```
70
- templates/
71
- design/ 需求→架构
72
- build/ 代码实现
73
- verify/ 测试审查
74
- operate/ 部署运维
75
- shared/ 跨阶段通用(knowledge/guidance + enforced.md + 切片聚合检查)
76
- scaffolds/ 代码脚手架(.hbs,无 frontmatter)
77
- profiles/ 产品配置(.yaml,无 frontmatter)
78
- ```
79
-
80
- 每个 stage 目录(design/build/verify/operate)含三种文件:
81
- - `<主题>.md`(artifact)— 产出模板
82
- - `<审查主题>.md`(guidance)— 工程经验(带 triggers)+ 审查 pattern 正文(`## CHECK-ID:` section,regex_pattern_scan 读取)
83
- - `enforced.md`(enforced)— 该阶段强制检查清单(gate bridge 聚合)
84
-
85
- ---
86
-
87
- ## 三、check 聚合机制
88
-
89
- gate 不再是独立 YAML 配置文件,而是由 `gate_registry_bridge` 从 enforced 资产的 `checks` 按 `check.gate` 聚合:
90
- - 每个 check 自带 `gate` 字段声明归属
91
- - bridge 按 `check.gate` 分组(非按 asset.stage,支持规则跨 stage 引用)
92
- - regex_pattern_scan 执行器按 check.id 自动定位含 pattern 正文的规则文件(`## CHECK-ID:` section)
93
-
94
- ---
95
-
96
- ## 四、旧字段进 extra(不在顶层)
97
-
98
- 归零重构前的旧字段(type/stage/domain/lifecycle_status/name/scope/authority/priority/owner_mechanism_id 等)保留在 `extra` 子对象,不在顶层:
99
-
100
- ```yaml
101
- extra:
102
- name: architecture-rules
103
- type: constraint
104
- scope: ['*']
105
- lifecycle_status: active
106
- stage: design
107
- ```
108
-
109
- **禁止**:`type`/`stage`/`domain`/`lifecycle_status`/`name` 出现在 frontmatter 顶层(护栏强制)。
110
-
111
- ---
112
-
113
- ## 五、合规检查(tests/architecture/zero_refactor_guardrails.test.ts)
114
-
115
- | # | 规则 | 说明 |
116
- |---|------|------|
117
- | 1 | 所有 .md 必须有合法 `kind` | artifact/guidance/enforced/knowledge |
118
- | 2 | guidance 必须有 `triggers` 或 `owner_mechanism` | 否则死文件(待治理=0) |
119
- | 3 | enforced 必须有 `gate` + 非空 `checks` | checks>=1 |
120
- | 4 | 顶层禁止旧字段 | type/stage/domain/lifecycle_status/name 进 extra |
121
- | 5 | sync_policy 3 合法值 | engine_only/copy_to_project/internal |
122
- | 6 | status 仅 active/retired | |
123
- | 7 | gate 合法值 | design/build/verify/operate/slice/shared-gate |
124
- | 8 | check.id 在 gate 内唯一 | |
125
- | 9 | 每个 stage 有 enforced.md | design/build/verify/operate/shared |