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,54 +0,0 @@
1
- ---
2
- id: ka-pattern-resume_workspace
3
- kind: knowledge
4
- title: 工作区唤醒
5
- sync_policy: internal
6
- status: active
7
- extra:
8
- name: resume_workspace
9
- scope:
10
- - '*'
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-engine-runtime
20
- ---
21
-
22
- ## 决策规则
23
-
24
- - scanAndResume() 扫描 state 目录恢复中断任务
25
- - 恢复是 advisory 级别,新会话可忽略恢复直接新建任务
26
- - corrupt state 文件降级处理,产生 advisory 报告不阻断
27
- - 恢复后任务可无缝继续执行
28
-
29
- ## 验收项
30
-
31
- - [AC-01] 中断任务可被恢复
32
- - [AC-02] corrupt state 不阻断新任务
33
- - [AC-03] 无活跃任务时不强制恢复
34
- - [AC-04] 多任务时标记 needs_human_confirm
35
-
36
- ## 何时使用
37
-
38
- advisory: 恢复是最佳实践但非强制,新会话可忽略恢复直接新建任务
39
-
40
- ## 是否 hard block
41
-
42
- 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
43
-
44
- ## 证据要求
45
-
46
- - 中断恢复测试通过
47
- - corrupt state 处理测试通过
48
- -
49
-
50
- ## 人工确认/降级边界
51
-
52
- - 此能力可被开发者决策覆盖
53
- - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
54
- - 降级/禁用需经 治理运行时 + 人工确认
@@ -1,42 +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
- extra:
10
- name: workflow-contract
11
- scope:
12
- - '*'
13
- products:
14
- - '*'
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- type: constraint
19
- verification_layer: L2
20
- stage: _global
21
- owner_mechanism: mc-workflow-contract
22
- ---
23
-
24
- # 工作流契约规则
25
-
26
- ## 核心原则
27
-
28
- 每个工作流必须声明所需机制、知识注入要求和权限边界。工作流契约确保编排路径可验证。
29
-
30
- ## 规则
31
-
32
- 1. **机制声明**: 每个工作流必须声明 required_mechanisms
33
- 3. **权限一致性**: read-only 工作流不可产生 mutation
34
- 4. **入口回归**: 每个路由必须有对应的工作流
35
- 5. **范围回归**: 工作流 scope 必须覆盖所有产出文件
36
-
37
- ## 验收标准
38
-
39
- - [ ] 每个工作流有 required_mechanisms 列表
40
- - [ ] 知识注入机制被所有工作流引用
41
- - [ ] read-only 工作流无 mutation 产出
42
- - [ ] validateWorkflowContracts() 返回 0 hard_fail
@@ -1,50 +0,0 @@
1
- ---
2
- id: ka-domain_knowledge-workflow-engine
3
- kind: knowledge
4
- title: 工作流引擎
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: workflow-engine
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
- - 每个审批节点必须定义:审批人/角色、超时时间、超时自动动作(自动通过/自动驳回/升级)
24
- - 审批状态流转必须完整:待提交→审批中→通过/驳回/撤回/终止,禁止出现不可解释的中间状态
25
- - 并行审批(会签)必须定义:全部通过/一票通过/一票否决/比例通过策略
26
- - 驳回必须明确回到哪个节点:发起人/上一节点/指定节点
27
- - 审批记录必须完整保留:谁在什么时间审批了什么结果、意见是什么
28
- - 审批权限必须校验:只有指定的审批人可以审批,禁止越权操作
29
- - 工作流定义必须支持版本管理,修改后不影响已发起的流程实例
30
- - 流程节点必须支持超时处理(自动流转/催办/升级),防止流程卡住
31
- - 流程回退必须回到指定节点而非直接退回起始节点
32
-
33
- ## 约束条件
34
- - 审批流定义与业务逻辑解耦,禁止在业务代码中硬编码审批步骤
35
- - 审批超时提醒必须有通知机制(站内信/邮件/钉钉)
36
- - 审批历史数据禁止物理删除,只能归档
37
- - 审批中的业务数据禁止修改(如需修改须先撤回再提交)
38
- - 流程变量大小必须限制(如单个变量 ≤ 4KB),防止流程引擎性能问题
39
- - 流程发起人必须有权限校验,不是所有用户都能发起所有流程
40
-
41
- ## 例外情况
42
- - 紧急审批可设置简化流程(减少审批节点),但必须有事后补审机制
43
- - 系统管理员可查看所有审批记录,但不可代为审批
44
- - 紧急流程可以跳过非必要审批节点(需配置紧急通道权限)
45
-
46
- ## 关联模式
47
- - [[state-transition]] 状态机流转
48
- - [[auth-permission]] 审批权限控制
49
- - state-flow
50
- - auth-permission
@@ -1,34 +0,0 @@
1
- ---
2
- id: ka-hard-rule-工作流模版包规则
3
- kind: guidance
4
- title: 工作流模版包
5
- owner_mechanism: mc-workflow-template-pack
6
- sync_policy: internal
7
- status: active
8
- extra:
9
- name: workflow-template-pack
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
- 1. **模版消费 pipeline 必须完整** — missing → file_created → indexed → registered → injected → consumed → verified
27
- 2. **不可停在中间状态** — 模版消费不可卡在 registered 而不 injected
28
- 3. **消费证据必须记录** — 每次状态推进都需要证据
29
-
30
- ## 检查项
31
-
32
- - [ ] 模版消费 pipeline 完整
33
- - [ ] 无中间状态停滞
34
- - [ ] 消费证据已记录
@@ -1,48 +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
- extra:
10
- name: tool-invocation
11
- scope:
12
- - '*'
13
- products:
14
- - '*'
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- type: constraint
19
- verification_layer: L2
20
- stage: _global
21
- owner_mechanism: mc-tool-invocation-contract
22
- ---
23
-
24
- # 工具调用规则
25
-
26
- ## 核心原则
27
-
28
- MCP 工具调用必须遵守契约约束: 工具链顺序、权限等级、禁止转换。
29
-
30
- ## 工具分类
31
-
32
- 1. **strict_controlled**: 严格管控工具,需要前置审批
33
- 2. **read_only_bypass**: 只读工具,可自由调用
34
- 3. **normal_controlled**: 常规管控工具,需遵守转换规则
35
-
36
- ## 规则
37
-
38
- 1. 每个工具必须声明 default_next_tools 和 forbidden_next_tools
39
- 2. forbidden_next_tools 中的转换必须被阻断
40
- 3. strict_controlled 工具不可跳过审批流程
41
- 4. 工具调用链必须可追踪 (tool_trace)
42
-
43
- ## 验收标准
44
-
45
- - [ ] 所有 MCP 工具在 Tool Invocation Contract Registry 中已注册
46
- - [ ] forbidden_next_tools 转换被正确阻断
47
- - [ ] validateToolInvocation() 返回 0 hard_fail
48
- - [ ] tool_trace 包含完整调用链
@@ -1,57 +0,0 @@
1
- ---
2
- id: ka-pattern-concurrency_lock
3
- kind: knowledge
4
- title: 并发锁
5
- sync_policy: internal
6
- status: active
7
- extra:
8
- name: concurrency_lock
9
- scope:
10
- - '*'
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-engine-runtime
20
- ---
21
-
22
- ## 决策规则
23
-
24
- - 人类主权高于 AI 推演,AI 不得静默覆盖人类的代码修改
25
- - 作用域租约(scope lease)为 advisory check,不强制阻断操作
26
- - 租约查询 isLocked() 供开发者参考,可选择忽略
27
- - ConflictGate preWriteGate 执行 CAS 校验,冲突为 advisory 报告
28
- - 标记确认 markConfirmed() 后冲突状态更新,允许写入继续
29
- - 任务完成或取消时建议释放租约(advisory,不强制)
30
- - P0 已移除持久锁 acquire/release,仅保留 isLocked() 查询
31
-
32
- ## 验收项
33
-
34
- - [AC-01] 租约 acquire/release 测试通过
35
- - [AC-02] CAS 冲突检测测试通过
36
- - [AC-03] 锁机制不强制阻断操作
37
- - [AC-04] 冲突报告包含完整信息供开发者决策
38
-
39
- ## 何时使用
40
-
41
- advisory: 租约是写入前建议检查,不强制阻断
42
-
43
- ## 是否 hard block
44
-
45
- 否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
46
-
47
- ## 证据要求
48
-
49
- - acquire/release 测试通过
50
- - 过期清理测试通过
51
- -
52
-
53
- ## 人工确认/降级边界
54
-
55
- - 此能力可被开发者决策覆盖
56
- - 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
57
- - 降级/禁用需经 治理运行时 + 人工确认
@@ -1,47 +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
- extra:
10
- name: execution-guard-assessment
11
- scope:
12
- - '*'
13
- products:
14
- - '*'
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- type: constraint
19
- verification_layer: L2
20
- stage: _global
21
- owner_mechanism: mc-guard-evaluation
22
- ---
23
-
24
- # 执行守卫评估规则
25
-
26
- ## 核心原则
27
-
28
- 执行守卫评估是 SoloForge 验证阶段的关键机制。它在 sf_gate 时评估各契约守卫的执行状态,确保验证计划覆盖所有必要的检查。
29
-
30
- ## 规则
31
-
32
- 1. **守卫覆盖**: 验证计划必须覆盖所有相关契约的守卫(隐私、命令、scope、artifact)
33
- 2. **评估集成**: 守卫评估集成在各契约的验证逻辑内,不独立执行
34
- 3. **结果传导**: 守卫评估失败必须传导到 VerificationResult,影响最终状态判定
35
- 4. **降级安全**: 守卫评估不可用时,验证应降级为 advisory 而非跳过
36
-
37
- ## 失败模式
38
-
39
- - 验证计划缺少隐私守卫 → 应在 generateVerifyCommands 中补充
40
- - 守卫评估结果被忽略 → 应传导到 sf_work action=verify 状态判定
41
- - 守卫降级未通知用户 → 应通过 user_feedback 通知
42
-
43
- ## 验收标准
44
-
45
- - [ ] generateVerifyCommands 包含隐私和命令守卫评估
46
- - [ ] 守卫评估失败时 core_principles.overall_passed 为 false
47
- - [ ] sf_work action=verify 正确处理守卫评估失败的状态转移
@@ -1,34 +0,0 @@
1
- ---
2
- id: ka-hard-rule-扩展生命周期规则
3
- kind: guidance
4
- title: 扩展生命周期
5
- owner_mechanism: mc-extension-contract
6
- sync_policy: internal
7
- status: active
8
- extra:
9
- name: extended-lifecycle
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
- 1. **第三方扩展不可自称 enforced** — 只有内置机制可以是 enforced 状态
27
- 2. **高风险权限必须审批** — 文件写入、命令执行等权限需显式授权
28
- 3. **生命周期转移必须合法** — registered → active → disabled → removed,不可跳跃
29
-
30
- ## 检查项
31
-
32
- - [ ] 扩展 manifest 格式正确
33
- - [ ] 权限声明完整
34
- - [ ] 生命周期转移合法
@@ -1,50 +0,0 @@
1
- ---
2
- id: ka-hard-rule-技术决策主权规则
3
- kind: guidance
4
- title: 技术决策主权
5
- owner_mechanism: mc-decision-sovereignty
6
- sync_policy: copy_to_project
7
- status: active
8
- extra:
9
- name: technology-decision-sovereignty
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
- ## hard_rules
32
-
33
- - 不确定项必须给出推荐(recommendation)、理由(reasoning)、备选(alternatives)、风险(risks),并进入用户确认或计划闭环。
34
- - 决策状态流:proposed → recommended → confirmed / rejected / deferred。只有 `confirmed` 状态允许执行。
35
- - 高影响决策(架构变更、数据模型修改、外部依赖引入)必须经过 human gate 确认,不得自动执行。
36
- - 推荐状态(recommended)不得直接执行,必须转为 confirmed(含人类签署证据)后方可实施。
37
- - 用户项目中技术选型、目录确认、架构不确定项、风险动作都必须可消费该机制规则。
38
-
39
- ## not_done_if_missing
40
-
41
- - 高风险无 human gate 自动执行 → hard fail。
42
- - heuristic 单独支撑高影响决策 → hard fail。
43
- - 不确定项只报告不给推荐和理由 → hard fail。
44
- - 推荐状态绕过确认直接执行 → hard fail。
45
-
46
- ## verification_evidence
47
-
48
- - `TechnologyDecisionContract` 包含 decision_scope、recommendation、reasoning、alternatives、risks 字段。
49
- - `validateTechnologyDecision()` 检查 human gate 对高影响决策的必需性。
50
- - `diagnostic_codes`: no-human-gate, executing-recommended, missing-recommendation。
@@ -1,50 +0,0 @@
1
- ---
2
- id: ka-domain_knowledge-report-statistics
3
- kind: knowledge
4
- title: 报表统计
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: report-statistics
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
- verification_layer: L2
19
- stage: _global
20
- owner_mechanism: mc-domain-knowledge
21
- ---
22
-
23
- ## 业务规则
24
- - 统计数据必须注明统计口径(时间范围、数据来源、计算规则、排除条件)
25
- - 统计维度变更必须记录历史,保证趋势数据的可比性
26
- - 实时看板数据必须定义刷新频率和数据延迟容忍度
27
- - 导出报表必须包含:生成时间、数据截止时间、统计口径说明
28
- - 敏感数据统计(金额、人数)必须有权限控制,禁止无权限查看汇总数据
29
- - 报表查询必须支持时间范围筛选,默认查询最近 30 天
30
- - 大数据量报表必须使用异步生成 + 下载方式,禁止同步等待
31
- - 报表数据必须与业务数据来源一致,禁止报表查询绕过业务逻辑直接读库
32
-
33
- ## 约束条件
34
- - 统计查询禁止直接查询业务主表,必须使用汇总表或物化视图
35
- - 大时间范围统计必须支持分页或分段加载,禁止一次返回全量
36
- - 图表颜色方案必须统一,禁止同一报表使用不一致的配色
37
- - 统计接口响应时间目标 < 3 秒,超过时必须使用预计算/缓存
38
- - 报表生成时间超过 30 秒必须改为异步模式
39
- - 报表缓存必须设置过期时间,避免展示过期数据
40
-
41
- ## 例外情况
42
- - 管理层汇总看板可使用 T+1 数据(次日更新)
43
- - 临时统计需求可走 SQL 直查,但须标注"非正式统计"
44
- - 实时看板类报表允许少量延迟(秒级),不要求强一致性
45
-
46
- ## 关联模式
47
- - [[caching]] 统计数据缓存
48
- - [[n-plus-one-query]] 统计查询优化
49
- - caching
50
- - async-export
@@ -1,51 +0,0 @@
1
- ---
2
- id: ka-domain_knowledge-payment-rules
3
- kind: knowledge
4
- title: 支付
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: payment-rules
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
- - 支付操作必须幂等:同一笔订单不可重复扣款,支付回调必须做幂等校验(支付流水号唯一约束)
24
- - 支付状态必须明确:待支付→支付中→支付成功→支付失败→已关闭,不可跳跃
25
- - 金额计算禁止使用浮点数,必须使用 BigDecimal 或整数分(1 元 = 100 分)
26
- - 退款金额不得超过实付金额,部分退款累计不得超过实付金额
27
- - 支付超时未支付订单必须自动关闭(建议 30 分钟),释放库存等占用资源
28
- - 对账机制:每日定时与第三方支付平台对账,差异记录必须有告警和人工处理流程
29
- - 支付金额必须校验精度(使用 BigDecimal,禁止 float/double),防止精度丢失
30
- - 支付状态必须通过主动查询支付网关确认,不能只依赖回调通知
31
- - 退款必须支持部分退款和全额退款,退款总额不能超过支付总额
32
-
33
- ## 约束条件
34
- - 支付密钥必须加密存储,禁止明文配置
35
- - 支付回调接口必须验证签名,禁止无签名校验直接处理
36
- - 支付流水表独立于业务表,禁止与订单表耦合
37
- - 支付敏感操作必须有审计日志(操作人、时间、金额、状态变更)
38
- - 支付操作必须记录完整流水(请求、响应、回调),便于对账和纠纷处理
39
- - 支付超时时间必须与支付网关一致(如 30 分钟),超时自动关闭订单
40
- - 同一笔支付必须防止重复扣款(幂等性),使用支付流水号去重
41
-
42
- ## 例外情况
43
- - 测试环境使用沙箱支付,禁止真实交易
44
- - 充值卡/优惠券抵扣不走第三方支付,但走相同的金额计算和审计规则
45
- - 银行卡支付按 T+1 到账处理,必须通过异步回调或对账任务确认最终状态
46
-
47
- ## 关联模式
48
- - [[concurrency-control]] 并发扣款控制
49
- - [[transaction-pattern]] 支付事务保障
50
- - crud-operation
51
- - concurrency
@@ -1,77 +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
- - token
12
- - 脱敏
13
- - 凭证
14
- - 数据安全
15
- extra:
16
- name: sensitive-information-handling
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-privacy-boundary
28
- ---
29
-
30
- # 敏感信息处理规则
31
-
32
- ## 核心原则
33
-
34
- 敏感信息 (密钥、token、PII) 不可泄露到外部材料、prompt 或日志中。
35
-
36
- ## 规则
37
-
38
- 1. .env 文件中的值不可作为知识注入 prompt
39
- 2. token/secret 必须在写入前被 detectSecrets 扫描
40
- 3. severity=blocked 的发现必须阻断写入
41
- 4. 外部材料摄取必须经过脱敏处理
42
- 5. DataAccessGrant 必须明确声明数据访问权限
43
-
44
- ## 验收标准
45
-
46
- - [ ] detectSecrets 扫描所有写入内容
47
- - [ ] severity=blocked 的发现阻断写入流程
48
- - [ ] RedactionRecord 记录所有脱敏操作
49
- - [ ] DataAccessGrant 覆盖所有数据访问
50
-
51
- ## 日志脱敏规则
52
-
53
- 以下字段必须脱敏或禁止输出到任何日志通道:
54
-
55
- ### P0 阻断(发现即 hard_fail)
56
- - password / passwd / pwd:禁止明文输出
57
- - token / api_key / access_key / secret_key / private_key:禁止明文输出
58
- - cookie / session_id / set_cookie:禁止输出完整值
59
- - 身份证号:禁止输出 15/18 位全量
60
- - 手机号:禁止输出 11 位全量
61
- - 银行卡号:禁止输出全量
62
- - 健康隐私信息(病历、诊断、处方)
63
-
64
- ### 脱敏要求
65
- - 手机号:仅显示前 3 后 4(如 `138****5678`)
66
- - 身份证:仅显示前 3 后 4(如 `310***********1234`)
67
- - 银行卡:仅显示后 4 位(如 `****5678`)
68
- - token/密钥:仅显示前 4 位或哈希值
69
-
70
- ### 检查范围
71
- - 用户项目代码中的日志输出语句
72
- - 不检查测试文件中的 fixture 或 mock
73
- - 不检查 SoloForge 自身日志(已有独立治理)
74
-
75
- ### 误判防范
76
- - 变量名含 password 但实际是布尔标志(如 requires_password)不误判
77
- - 仅检查实际输出到日志的值,不检查声明和赋值
@@ -1,53 +0,0 @@
1
- ---
2
- id: ka-pattern-secret_scan
3
- kind: knowledge
4
- title: 敏感信息扫描
5
- sync_policy: internal
6
- status: active
7
- extra:
8
- name: secret_scan
9
- scope:
10
- - '*'
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-engine-runtime
20
- ---
21
-
22
- ## 决策规则
23
-
24
- - detectSecrets() 使用正则匹配 + gitleaks 回退链检测密钥
25
- - severity=blocked 的密钥(AWS key、API key 等)阻断写入
26
- - 扫描覆盖写入内容的每一行
27
- - gitleaks 不可用时回退到内置正则规则
28
-
29
- ## 验收项
30
-
31
- - [AC-01] 已知密钥格式被检测
32
- - [AC-02] blocked 级别密钥阻断写入
33
- - [AC-03] gitleaks 回退正常工作
34
- - [AC-04] 误报率 < 1%
35
-
36
- ## 何时使用
37
-
38
- 密钥泄露是最高风险,必须 hard fail
39
-
40
- ## 是否 hard block
41
-
42
- 是。此能力为 enforced 状态,违规即 hard fail 阻断流程。
43
-
44
- ## 证据要求
45
-
46
- - golden set 密钥检测通过
47
- - 误报率测试通过
48
- - 无已知密钥泄露事件
49
-
50
- ## 人工确认/降级边界
51
-
52
- - enforced 能力不可跳过,违反即阻断
53
- - 降级需经 治理运行时 + 人工确认,提供 escape report 证据