soloforge 1.1.38 → 1.1.42

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 (778) hide show
  1. package/CHANGELOG.md +149 -149
  2. package/README.md +130 -49
  3. package/dist/adapters/shared/workflow_template.js +1 -1
  4. package/dist/bin/commands/analyze.d.ts +7 -0
  5. package/dist/bin/commands/analyze.d.ts.map +1 -0
  6. package/dist/bin/commands/analyze.js +52 -0
  7. package/dist/bin/commands/analyze.js.map +1 -0
  8. package/dist/bin/commands/audit.d.ts.map +1 -1
  9. package/dist/bin/commands/audit.js +104 -83
  10. package/dist/bin/commands/audit.js.map +1 -1
  11. package/dist/bin/commands/check_bash.d.ts.map +1 -1
  12. package/dist/bin/commands/check_bash.js +38 -18
  13. package/dist/bin/commands/check_bash.js.map +1 -1
  14. package/dist/bin/commands/check_write.d.ts +10 -1
  15. package/dist/bin/commands/check_write.d.ts.map +1 -1
  16. package/dist/bin/commands/check_write.js +118 -95
  17. package/dist/bin/commands/check_write.js.map +1 -1
  18. package/dist/bin/commands/init.d.ts +2 -5
  19. package/dist/bin/commands/init.d.ts.map +1 -1
  20. package/dist/bin/commands/init.js +116 -137
  21. package/dist/bin/commands/init.js.map +1 -1
  22. package/dist/bin/commands/modify.d.ts +8 -0
  23. package/dist/bin/commands/modify.d.ts.map +1 -0
  24. package/dist/bin/commands/modify.js +88 -0
  25. package/dist/bin/commands/modify.js.map +1 -0
  26. package/dist/bin/commands/reasoning.d.ts +14 -0
  27. package/dist/bin/commands/reasoning.d.ts.map +1 -0
  28. package/dist/bin/commands/reasoning.js +158 -0
  29. package/dist/bin/commands/reasoning.js.map +1 -0
  30. package/dist/bin/commands/review.d.ts +8 -0
  31. package/dist/bin/commands/review.d.ts.map +1 -0
  32. package/dist/bin/commands/review.js +212 -0
  33. package/dist/bin/commands/review.js.map +1 -0
  34. package/dist/bin/commands/status.d.ts +6 -5
  35. package/dist/bin/commands/status.d.ts.map +1 -1
  36. package/dist/bin/commands/status.js +63 -120
  37. package/dist/bin/commands/status.js.map +1 -1
  38. package/dist/bin/commands/sync.d.ts +1 -1
  39. package/dist/bin/commands/sync.js +7 -7
  40. package/dist/bin/commands/sync.js.map +1 -1
  41. package/dist/bin/commands/validate.d.ts +4 -1
  42. package/dist/bin/commands/validate.d.ts.map +1 -1
  43. package/dist/bin/commands/validate.js +65 -95
  44. package/dist/bin/commands/validate.js.map +1 -1
  45. package/dist/bin/config_commands.d.ts +21 -20
  46. package/dist/bin/config_commands.d.ts.map +1 -1
  47. package/dist/bin/config_commands.js +209 -236
  48. package/dist/bin/config_commands.js.map +1 -1
  49. package/dist/bin/soloforge.js +42 -22
  50. package/dist/bin/soloforge.js.map +1 -1
  51. package/dist/engine/audit/evolver.d.ts.map +1 -1
  52. package/dist/engine/audit/evolver.js +0 -2
  53. package/dist/engine/audit/evolver.js.map +1 -1
  54. package/dist/engine/audit/governance_report.d.ts +9 -8
  55. package/dist/engine/audit/governance_report.d.ts.map +1 -1
  56. package/dist/engine/audit/governance_report.js +17 -16
  57. package/dist/engine/audit/governance_report.js.map +1 -1
  58. package/dist/engine/change_coordinator.d.ts.map +1 -1
  59. package/dist/engine/change_coordinator.js +1 -4
  60. package/dist/engine/change_coordinator.js.map +1 -1
  61. package/dist/engine/config/conflicts.d.ts +39 -0
  62. package/dist/engine/config/conflicts.d.ts.map +1 -0
  63. package/dist/engine/config/conflicts.js +79 -0
  64. package/dist/engine/config/conflicts.js.map +1 -0
  65. package/dist/engine/config/detector/blueprint.d.ts +25 -0
  66. package/dist/engine/config/detector/blueprint.d.ts.map +1 -0
  67. package/dist/engine/config/detector/blueprint.js +47 -0
  68. package/dist/engine/config/detector/blueprint.js.map +1 -0
  69. package/dist/engine/config/detector/fingerprint.d.ts +67 -0
  70. package/dist/engine/config/detector/fingerprint.d.ts.map +1 -0
  71. package/dist/engine/config/detector/fingerprint.js +160 -0
  72. package/dist/engine/config/detector/fingerprint.js.map +1 -0
  73. package/dist/engine/config/detector/framework_map.d.ts +89 -0
  74. package/dist/engine/config/detector/framework_map.d.ts.map +1 -0
  75. package/dist/engine/config/detector/framework_map.js +406 -0
  76. package/dist/engine/config/detector/framework_map.js.map +1 -0
  77. package/dist/engine/config/detector/index.d.ts +12 -0
  78. package/dist/engine/config/detector/index.d.ts.map +1 -0
  79. package/dist/engine/config/detector/index.js +12 -0
  80. package/dist/engine/config/detector/index.js.map +1 -0
  81. package/dist/engine/config/detector/verify.d.ts +32 -0
  82. package/dist/engine/config/detector/verify.d.ts.map +1 -0
  83. package/dist/engine/config/detector/verify.js +107 -0
  84. package/dist/engine/config/detector/verify.js.map +1 -0
  85. package/dist/engine/config/intent.d.ts +26 -0
  86. package/dist/engine/config/intent.d.ts.map +1 -0
  87. package/dist/engine/config/intent.js +81 -0
  88. package/dist/engine/config/intent.js.map +1 -0
  89. package/dist/engine/config/intent_schema.d.ts +873 -0
  90. package/dist/engine/config/intent_schema.d.ts.map +1 -0
  91. package/dist/engine/config/intent_schema.js +98 -0
  92. package/dist/engine/config/intent_schema.js.map +1 -0
  93. package/dist/engine/config/regression_matrix.d.ts.map +1 -1
  94. package/dist/engine/config/regression_matrix.js +19 -14
  95. package/dist/engine/config/regression_matrix.js.map +1 -1
  96. package/dist/engine/config/resolver.d.ts +136 -0
  97. package/dist/engine/config/resolver.d.ts.map +1 -0
  98. package/dist/engine/config/resolver.js +251 -0
  99. package/dist/engine/config/resolver.js.map +1 -0
  100. package/dist/engine/context_engine/bootstrap.d.ts +12 -0
  101. package/dist/engine/context_engine/bootstrap.d.ts.map +1 -0
  102. package/dist/engine/context_engine/bootstrap.js +28 -0
  103. package/dist/engine/context_engine/bootstrap.js.map +1 -0
  104. package/dist/engine/context_engine/companion_injector.d.ts +62 -0
  105. package/dist/engine/context_engine/companion_injector.d.ts.map +1 -0
  106. package/dist/engine/context_engine/companion_injector.js +350 -0
  107. package/dist/engine/context_engine/companion_injector.js.map +1 -0
  108. package/dist/engine/context_engine/context_resolver.d.ts +46 -0
  109. package/dist/engine/context_engine/context_resolver.d.ts.map +1 -0
  110. package/dist/engine/context_engine/context_resolver.js +139 -0
  111. package/dist/engine/context_engine/context_resolver.js.map +1 -0
  112. package/dist/engine/context_engine/index.d.ts +25 -0
  113. package/dist/engine/context_engine/index.d.ts.map +1 -0
  114. package/dist/engine/context_engine/index.js +25 -0
  115. package/dist/engine/context_engine/index.js.map +1 -0
  116. package/dist/engine/context_engine/view_registry.d.ts +45 -0
  117. package/dist/engine/context_engine/view_registry.d.ts.map +1 -0
  118. package/dist/engine/context_engine/view_registry.js +36 -0
  119. package/dist/engine/context_engine/view_registry.js.map +1 -0
  120. package/dist/engine/context_engine/views/change_impact.d.ts +34 -0
  121. package/dist/engine/context_engine/views/change_impact.d.ts.map +1 -0
  122. package/dist/engine/context_engine/views/change_impact.js +288 -0
  123. package/dist/engine/context_engine/views/change_impact.js.map +1 -0
  124. package/dist/engine/context_engine/views/coverage_gap.d.ts +45 -0
  125. package/dist/engine/context_engine/views/coverage_gap.d.ts.map +1 -0
  126. package/dist/engine/context_engine/views/coverage_gap.js +238 -0
  127. package/dist/engine/context_engine/views/coverage_gap.js.map +1 -0
  128. package/dist/engine/context_engine/views/dependency_graph.d.ts +45 -0
  129. package/dist/engine/context_engine/views/dependency_graph.d.ts.map +1 -0
  130. package/dist/engine/context_engine/views/dependency_graph.js +358 -0
  131. package/dist/engine/context_engine/views/dependency_graph.js.map +1 -0
  132. package/dist/engine/context_engine/views/file_impact.d.ts +46 -0
  133. package/dist/engine/context_engine/views/file_impact.d.ts.map +1 -0
  134. package/dist/engine/context_engine/views/file_impact.js +181 -0
  135. package/dist/engine/context_engine/views/file_impact.js.map +1 -0
  136. package/dist/engine/context_engine/views/knowledge_ref.d.ts +37 -0
  137. package/dist/engine/context_engine/views/knowledge_ref.d.ts.map +1 -0
  138. package/dist/engine/context_engine/views/knowledge_ref.js +264 -0
  139. package/dist/engine/context_engine/views/knowledge_ref.js.map +1 -0
  140. package/dist/engine/context_engine/views/reference_trace.d.ts +49 -0
  141. package/dist/engine/context_engine/views/reference_trace.d.ts.map +1 -0
  142. package/dist/engine/context_engine/views/reference_trace.js +227 -0
  143. package/dist/engine/context_engine/views/reference_trace.js.map +1 -0
  144. package/dist/engine/contracts/artifact_contract_registry.d.ts +1 -43
  145. package/dist/engine/contracts/artifact_contract_registry.d.ts.map +1 -1
  146. package/dist/engine/contracts/artifact_contract_registry.js +24 -100
  147. package/dist/engine/contracts/artifact_contract_registry.js.map +1 -1
  148. package/dist/engine/contracts/artifact_process_rules.d.ts.map +1 -1
  149. package/dist/engine/contracts/artifact_process_rules.js +0 -12
  150. package/dist/engine/contracts/artifact_process_rules.js.map +1 -1
  151. package/dist/engine/contracts/artifact_schema_registry.d.ts +2 -0
  152. package/dist/engine/contracts/artifact_schema_registry.d.ts.map +1 -1
  153. package/dist/engine/contracts/artifact_schema_registry.js +31 -25
  154. package/dist/engine/contracts/artifact_schema_registry.js.map +1 -1
  155. package/dist/engine/contracts/capability_registry.d.ts.map +1 -1
  156. package/dist/engine/contracts/capability_registry.js +2 -28
  157. package/dist/engine/contracts/capability_registry.js.map +1 -1
  158. package/dist/engine/contracts/contract_guard.js +8 -0
  159. package/dist/engine/contracts/contract_guard.js.map +1 -1
  160. package/dist/engine/contracts/contract_registry/builtin_contracts_core.d.ts.map +1 -1
  161. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js +1 -19
  162. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js.map +1 -1
  163. package/dist/engine/contracts/design_lifecycle_contract.d.ts.map +1 -1
  164. package/dist/engine/contracts/design_lifecycle_contract.js +14 -8
  165. package/dist/engine/contracts/design_lifecycle_contract.js.map +1 -1
  166. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.d.ts.map +1 -1
  167. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js +0 -37
  168. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js.map +1 -1
  169. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.d.ts.map +1 -1
  170. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js +2 -78
  171. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js.map +1 -1
  172. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js +1 -1
  173. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js.map +1 -1
  174. package/dist/engine/contracts/error_path_verifier.js +2 -2
  175. package/dist/engine/contracts/error_path_verifier.js.map +1 -1
  176. package/dist/engine/contracts/first_principles.d.ts +47 -0
  177. package/dist/engine/contracts/first_principles.d.ts.map +1 -1
  178. package/dist/engine/contracts/first_principles.js +56 -0
  179. package/dist/engine/contracts/first_principles.js.map +1 -1
  180. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts +1 -1
  181. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +1 -1
  182. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js +2 -19
  183. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js.map +1 -1
  184. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.d.ts +2 -2
  185. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.d.ts.map +1 -1
  186. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js +4 -42
  187. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js.map +1 -1
  188. package/dist/engine/contracts/project_knowledge_contract.d.ts +1 -0
  189. package/dist/engine/contracts/project_knowledge_contract.d.ts.map +1 -1
  190. package/dist/engine/contracts/project_knowledge_contract.js +5 -4
  191. package/dist/engine/contracts/project_knowledge_contract.js.map +1 -1
  192. package/dist/engine/contracts/slice_fix_loop.d.ts +86 -0
  193. package/dist/engine/contracts/slice_fix_loop.d.ts.map +1 -0
  194. package/dist/engine/contracts/slice_fix_loop.js +98 -0
  195. package/dist/engine/contracts/slice_fix_loop.js.map +1 -0
  196. package/dist/engine/contracts/state_machine_contracts.js +2 -2
  197. package/dist/engine/contracts/state_machine_contracts.js.map +1 -1
  198. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts +29 -0
  199. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  200. package/dist/engine/contracts/tool_invocation_contract_registry.js +55 -2
  201. package/dist/engine/contracts/tool_invocation_contract_registry.js.map +1 -1
  202. package/dist/engine/contracts/user_promise.js +2 -2
  203. package/dist/engine/contracts/user_promise.js.map +1 -1
  204. package/dist/engine/core/errors.d.ts +1 -1
  205. package/dist/engine/core/errors.js +1 -1
  206. package/dist/engine/core/fail_closed.d.ts +39 -0
  207. package/dist/engine/core/fail_closed.d.ts.map +1 -0
  208. package/dist/engine/core/fail_closed.js +38 -0
  209. package/dist/engine/core/fail_closed.js.map +1 -0
  210. package/dist/engine/core/index.d.ts +3 -1
  211. package/dist/engine/core/index.d.ts.map +1 -1
  212. package/dist/engine/core/index.js +3 -1
  213. package/dist/engine/core/index.js.map +1 -1
  214. package/dist/engine/core/paths.d.ts +6 -4
  215. package/dist/engine/core/paths.d.ts.map +1 -1
  216. package/dist/engine/core/paths.js +8 -4
  217. package/dist/engine/core/paths.js.map +1 -1
  218. package/dist/engine/dependency_scanner.js +1 -1
  219. package/dist/engine/dependency_scanner.js.map +1 -1
  220. package/dist/engine/exploration.js +1 -1
  221. package/dist/engine/exploration.js.map +1 -1
  222. package/dist/engine/feasibility_checker.js +1 -1
  223. package/dist/engine/impact_analyzer.js +1 -1
  224. package/dist/engine/impact_analyzer.js.map +1 -1
  225. package/dist/engine/knowledge/knowledge_asset_audit.d.ts.map +1 -1
  226. package/dist/engine/knowledge/knowledge_asset_audit.js +1 -2
  227. package/dist/engine/knowledge/knowledge_asset_audit.js.map +1 -1
  228. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts +8 -2
  229. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts.map +1 -1
  230. package/dist/engine/knowledge/knowledge_asset_consumer.js +10 -7
  231. package/dist/engine/knowledge/knowledge_asset_consumer.js.map +1 -1
  232. package/dist/engine/knowledge/knowledge_asset_schema.d.ts +6 -2
  233. package/dist/engine/knowledge/knowledge_asset_schema.d.ts.map +1 -1
  234. package/dist/engine/knowledge/knowledge_asset_schema.js +3 -4
  235. package/dist/engine/knowledge/knowledge_asset_schema.js.map +1 -1
  236. package/dist/engine/knowledge/knowledge_consumption_snapshot.js +2 -2
  237. package/dist/engine/knowledge/knowledge_consumption_snapshot.js.map +1 -1
  238. package/dist/engine/knowledge/knowledge_health.d.ts.map +1 -1
  239. package/dist/engine/knowledge/knowledge_health.js +6 -4
  240. package/dist/engine/knowledge/knowledge_health.js.map +1 -1
  241. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts +2 -1
  242. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -1
  243. package/dist/engine/knowledge/knowledge_injection_boundary.js +35 -43
  244. package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -1
  245. package/dist/engine/knowledge/knowledge_writer.js +1 -1
  246. package/dist/engine/pipeline/artifact_aliases.d.ts +56 -3
  247. package/dist/engine/pipeline/artifact_aliases.d.ts.map +1 -1
  248. package/dist/engine/pipeline/artifact_aliases.js +377 -24
  249. package/dist/engine/pipeline/artifact_aliases.js.map +1 -1
  250. package/dist/engine/pipeline/artifact_resolver.d.ts +82 -0
  251. package/dist/engine/pipeline/artifact_resolver.d.ts.map +1 -0
  252. package/dist/engine/pipeline/artifact_resolver.js +458 -0
  253. package/dist/engine/pipeline/artifact_resolver.js.map +1 -0
  254. package/dist/engine/pipeline/intent_expander/knowledge.js +4 -2
  255. package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -1
  256. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts +4 -4
  257. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts.map +1 -1
  258. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js +1 -0
  259. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js.map +1 -1
  260. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts +2 -0
  261. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts.map +1 -1
  262. package/dist/engine/pipeline/intent_expander/scope_acceptance.js +5 -1
  263. package/dist/engine/pipeline/intent_expander/scope_acceptance.js.map +1 -1
  264. package/dist/engine/pipeline/intent_expander/types.d.ts +1 -1
  265. package/dist/engine/pipeline/intent_expander/types.d.ts.map +1 -1
  266. package/dist/engine/pipeline/orchestrate_single_artifact.d.ts +185 -0
  267. package/dist/engine/pipeline/orchestrate_single_artifact.d.ts.map +1 -0
  268. package/dist/engine/pipeline/orchestrate_single_artifact.js +772 -0
  269. package/dist/engine/pipeline/orchestrate_single_artifact.js.map +1 -0
  270. package/dist/engine/pipeline/scope_lease.d.ts.map +1 -1
  271. package/dist/engine/pipeline/scope_lease.js +1 -3
  272. package/dist/engine/pipeline/scope_lease.js.map +1 -1
  273. package/dist/engine/pipeline/scope_resolver.js +2 -2
  274. package/dist/engine/pipeline/scope_resolver.js.map +1 -1
  275. package/dist/engine/pipeline/state_machine/audit_logger.d.ts.map +1 -1
  276. package/dist/engine/pipeline/state_machine/audit_logger.js +7 -1
  277. package/dist/engine/pipeline/state_machine/audit_logger.js.map +1 -1
  278. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts.map +1 -1
  279. package/dist/engine/pipeline/state_machine/certainty_gate.js +202 -15
  280. package/dist/engine/pipeline/state_machine/certainty_gate.js.map +1 -1
  281. package/dist/engine/pipeline/state_machine/command_state_verifier.js +1 -1
  282. package/dist/engine/pipeline/state_machine/command_state_verifier.js.map +1 -1
  283. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts +14 -1
  284. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts.map +1 -1
  285. package/dist/engine/pipeline/state_machine/hook_classifier.js +35 -12
  286. package/dist/engine/pipeline/state_machine/hook_classifier.js.map +1 -1
  287. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts +7 -15
  288. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts.map +1 -1
  289. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js +202 -102
  290. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js.map +1 -1
  291. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts.map +1 -1
  292. package/dist/engine/pipeline/state_machine/sf_command_parser.js +24 -18
  293. package/dist/engine/pipeline/state_machine/sf_command_parser.js.map +1 -1
  294. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts.map +1 -1
  295. package/dist/engine/pipeline/state_machine/stage_command_registry.js +7 -0
  296. package/dist/engine/pipeline/state_machine/stage_command_registry.js.map +1 -1
  297. package/dist/engine/pipeline/state_machine/stage_executor.d.ts.map +1 -1
  298. package/dist/engine/pipeline/state_machine/stage_executor.js +5 -11
  299. package/dist/engine/pipeline/state_machine/stage_executor.js.map +1 -1
  300. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js +3 -3
  301. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js.map +1 -1
  302. package/dist/engine/pipeline/state_machine/static_route_table.d.ts +2 -0
  303. package/dist/engine/pipeline/state_machine/static_route_table.d.ts.map +1 -1
  304. package/dist/engine/pipeline/state_machine/static_route_table.js +2 -0
  305. package/dist/engine/pipeline/state_machine/static_route_table.js.map +1 -1
  306. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts +25 -0
  307. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts.map +1 -1
  308. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js +18 -0
  309. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js.map +1 -1
  310. package/dist/engine/pipeline/target_classifier.d.ts +48 -0
  311. package/dist/engine/pipeline/target_classifier.d.ts.map +1 -0
  312. package/dist/engine/pipeline/target_classifier.js +129 -0
  313. package/dist/engine/pipeline/target_classifier.js.map +1 -0
  314. package/dist/engine/pipeline/task_context/manager.js.map +1 -1
  315. package/dist/engine/pipeline/task_context/manager_setters.js +1 -1
  316. package/dist/engine/pipeline/task_context/manager_setters.js.map +1 -1
  317. package/dist/engine/pipeline/task_planner.d.ts.map +1 -1
  318. package/dist/engine/pipeline/task_planner.js +2 -2
  319. package/dist/engine/pipeline/task_planner.js.map +1 -1
  320. package/dist/engine/release/foundation_scenario_registry.js +3 -3
  321. package/dist/engine/release/foundation_scenario_registry.js.map +1 -1
  322. package/dist/engine/release/gate_checks/checkControlPlaneTrust.d.ts.map +1 -1
  323. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js +1 -0
  324. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js.map +1 -1
  325. package/dist/engine/release/gate_checks/checkKnowledgeAssetSchemaP0.js +1 -1
  326. package/dist/engine/release/gate_checks/checkKnowledgeAssetSchemaP0.js.map +1 -1
  327. package/dist/engine/release/gate_checks/checkWorkflowNavigation.d.ts.map +1 -1
  328. package/dist/engine/release/gate_checks/checkWorkflowNavigation.js +27 -60
  329. package/dist/engine/release/gate_checks/checkWorkflowNavigation.js.map +1 -1
  330. package/dist/engine/release/release_gate_scenario_registry.js +9 -9
  331. package/dist/engine/release/release_gate_scenario_registry.js.map +1 -1
  332. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js +17 -17
  333. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js.map +1 -1
  334. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js +3 -3
  335. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js.map +1 -1
  336. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js +18 -18
  337. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js.map +1 -1
  338. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js +10 -10
  339. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js.map +1 -1
  340. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js +3 -3
  341. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js.map +1 -1
  342. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js +13 -13
  343. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js.map +1 -1
  344. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.d.ts +1 -1
  345. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.d.ts.map +1 -1
  346. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.js +14 -3
  347. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.js.map +1 -1
  348. package/dist/engine/retention_policy.js +1 -1
  349. package/dist/engine/retention_policy.js.map +1 -1
  350. package/dist/engine/templates/asset_manifest.d.ts.map +1 -1
  351. package/dist/engine/templates/asset_manifest.js +1 -0
  352. package/dist/engine/templates/asset_manifest.js.map +1 -1
  353. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js +2 -2
  354. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js.map +1 -1
  355. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts.map +1 -1
  356. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js +2 -22
  357. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js.map +1 -1
  358. package/dist/engine/templates/consumption_trace_store.js +2 -2
  359. package/dist/engine/templates/consumption_trace_store.js.map +1 -1
  360. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js +1 -1
  361. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js.map +1 -1
  362. package/dist/engine/templates/explicit_asset_registry/gates.d.ts.map +1 -1
  363. package/dist/engine/templates/explicit_asset_registry/gates.js +50 -0
  364. package/dist/engine/templates/explicit_asset_registry/gates.js.map +1 -1
  365. package/dist/engine/templates/explicit_asset_registry/procedures_part1.d.ts.map +1 -1
  366. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js +16 -0
  367. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js.map +1 -1
  368. package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts.map +1 -1
  369. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +35 -2
  370. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -1
  371. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.d.ts.map +1 -1
  372. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js +16 -0
  373. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js.map +1 -1
  374. package/dist/engine/templates/explicit_asset_registry/rules_shared.d.ts.map +1 -1
  375. package/dist/engine/templates/explicit_asset_registry/rules_shared.js +310 -0
  376. package/dist/engine/templates/explicit_asset_registry/rules_shared.js.map +1 -1
  377. package/dist/engine/templates/workflow_rule_generator.d.ts +1 -1
  378. package/dist/engine/templates/workflow_rule_generator.js +2 -2
  379. package/dist/engine/workflow/next_action_planner.d.ts.map +1 -1
  380. package/dist/engine/workflow/next_action_planner.js +21 -27
  381. package/dist/engine/workflow/next_action_planner.js.map +1 -1
  382. package/dist/engine/workflow/project_stage_detector.d.ts.map +1 -1
  383. package/dist/engine/workflow/project_stage_detector.js +6 -4
  384. package/dist/engine/workflow/project_stage_detector.js.map +1 -1
  385. package/dist/git/git_deps.d.ts +1 -0
  386. package/dist/git/git_deps.d.ts.map +1 -1
  387. package/dist/git/operations.d.ts +1 -0
  388. package/dist/git/operations.d.ts.map +1 -1
  389. package/dist/git/operations.js +2 -0
  390. package/dist/git/operations.js.map +1 -1
  391. package/dist/index.d.ts +1 -1
  392. package/dist/index.js +10 -1
  393. package/dist/index.js.map +1 -1
  394. package/dist/knowledge/conflict_detector.d.ts.map +1 -1
  395. package/dist/knowledge/conflict_detector.js +13 -2
  396. package/dist/knowledge/conflict_detector.js.map +1 -1
  397. package/dist/knowledge/health_checker.d.ts.map +1 -1
  398. package/dist/knowledge/health_checker.js +5 -3
  399. package/dist/knowledge/health_checker.js.map +1 -1
  400. package/dist/knowledge/index_manager.d.ts +15 -0
  401. package/dist/knowledge/index_manager.d.ts.map +1 -1
  402. package/dist/knowledge/index_manager.js +106 -6
  403. package/dist/knowledge/index_manager.js.map +1 -1
  404. package/dist/knowledge/loader.d.ts +8 -4
  405. package/dist/knowledge/loader.d.ts.map +1 -1
  406. package/dist/knowledge/loader.js +189 -34
  407. package/dist/knowledge/loader.js.map +1 -1
  408. package/dist/knowledge/writer.js +2 -2
  409. package/dist/knowledge/writer.js.map +1 -1
  410. package/dist/server/tools/cep_assessment.d.ts +6 -0
  411. package/dist/server/tools/cep_assessment.d.ts.map +1 -1
  412. package/dist/server/tools/cep_assessment.js +23 -0
  413. package/dist/server/tools/cep_assessment.js.map +1 -1
  414. package/dist/server/tools/index.d.ts.map +1 -1
  415. package/dist/server/tools/index.js +11 -9
  416. package/dist/server/tools/index.js.map +1 -1
  417. package/dist/server/tools/lazy_loaders.d.ts +1 -1
  418. package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
  419. package/dist/server/tools/lazy_loaders.js +2 -1
  420. package/dist/server/tools/lazy_loaders.js.map +1 -1
  421. package/dist/server/tools/middleware.d.ts +2 -0
  422. package/dist/server/tools/middleware.d.ts.map +1 -1
  423. package/dist/server/tools/middleware.js +100 -7
  424. package/dist/server/tools/middleware.js.map +1 -1
  425. package/dist/server/tools/schemas.d.ts +4 -4
  426. package/dist/server/tools/tool_groups/admin.d.ts.map +1 -1
  427. package/dist/server/tools/tool_groups/admin.js +13 -16
  428. package/dist/server/tools/tool_groups/admin.js.map +1 -1
  429. package/dist/server/tools/tool_groups/knowledge.js +2 -2
  430. package/dist/server/tools/tool_groups/knowledge.js.map +1 -1
  431. package/dist/server/tools/tool_groups/product_operations.d.ts +11 -0
  432. package/dist/server/tools/tool_groups/product_operations.d.ts.map +1 -0
  433. package/dist/server/tools/tool_groups/product_operations.js +43 -0
  434. package/dist/server/tools/tool_groups/product_operations.js.map +1 -0
  435. package/dist/server/tools/tool_groups/state_machine.d.ts +34 -3
  436. package/dist/server/tools/tool_groups/state_machine.d.ts.map +1 -1
  437. package/dist/server/tools/tool_groups/state_machine.js +812 -56
  438. package/dist/server/tools/tool_groups/state_machine.js.map +1 -1
  439. package/dist/server/tools/tool_names.d.ts +2 -1
  440. package/dist/server/tools/tool_names.d.ts.map +1 -1
  441. package/dist/server/tools/tool_names.js +4 -1
  442. package/dist/server/tools/tool_names.js.map +1 -1
  443. package/dist/types/knowledge.d.ts +2 -4
  444. package/dist/types/knowledge.d.ts.map +1 -1
  445. package/dist/types/knowledge.js.map +1 -1
  446. package/dist/types/pipeline.d.ts +4 -3
  447. package/dist/types/pipeline.d.ts.map +1 -1
  448. package/dist/types/state_machine.d.ts +46 -4
  449. package/dist/types/state_machine.d.ts.map +1 -1
  450. package/dist/types/state_machine.js +1 -1
  451. package/dist/types/state_machine.js.map +1 -1
  452. package/package.json +14 -14
  453. package/templates/artifacts/existing-system//344/270/200/351/224/256/345/274/200/345/205/263/351/205/215/347/275/256/346/250/241/347/211/210.json +24 -2
  454. package/templates/artifacts/existing-system//345/216/206/345/217/262/346/225/260/346/215/256/346/270/205/346/264/227/350/204/232/346/234/254/346/250/241/347/211/210.md +12 -5
  455. package/templates/artifacts/existing-system//345/216/206/345/217/262/351/201/227/347/225/231/351/233/267/345/214/272/346/270/205/345/215/225/346/250/241/347/211/210.md +25 -21
  456. package/templates/artifacts/existing-system//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/346/250/241/347/211/210.md +26 -14
  457. package/templates/artifacts/existing-system//345/242/236/351/207/217/350/276/271/347/225/214/347/225/214/345/256/232/346/226/207/346/241/243/346/250/241/347/211/210.md +22 -14
  458. package/templates/artifacts/existing-system//346/224/271/351/200/240/345/275/261/345/223/215/350/214/203/345/233/264/350/257/204/344/274/260/346/250/241/347/211/210.md +19 -6
  459. package/templates/artifacts/existing-system//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276/346/250/241/347/211/210.md +16 -6
  460. package/templates/artifacts/existing-system//346/226/260/350/200/201/351/200/273/350/276/221/346/257/224/345/257/271/346/227/245/345/277/227/346/250/241/347/211/210.md +11 -6
  461. package/templates/artifacts/existing-system//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214/346/250/241/347/211/210.md +49 -13
  462. package/templates/artifacts/existing-system//351/232/224/347/246/273/351/200/202/351/205/215/345/231/250/346/226/271/346/241/210/346/250/241/347/211/210.md +14 -7
  463. package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +17 -5
  464. package/templates/artifacts/shared/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243/346/250/241/347/211/210.md +34 -73
  465. package/templates/artifacts/shared/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +2 -10
  466. package/templates/artifacts/shared/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +2 -8
  467. package/templates/artifacts/shared/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +2 -10
  468. package/templates/artifacts/shared//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212/346/250/241/347/211/210.md +47 -10
  469. package/templates/artifacts/shared//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/346/250/241/347/211/210.md +2 -8
  470. package/templates/artifacts/shared//345/210/207/347/211/207/350/256/241/345/210/222/346/250/241/347/211/210.md +126 -17
  471. package/templates/artifacts/shared//345/211/215/347/253/257/351/241/265/351/235/242/351/252/214/346/224/266/346/270/205/345/215/225.md +2 -14
  472. package/templates/artifacts/shared//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +118 -226
  473. package/templates/artifacts/shared//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +2 -13
  474. package/templates/artifacts/shared//345/220/216/347/253/257/345/256/236/347/216/260/351/252/214/346/224/266/346/270/205/345/215/225.md +11 -10
  475. package/templates/artifacts/shared//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +8 -33
  476. package/templates/artifacts/shared//345/256/241/346/237/245/346/221/230/350/246/201.md +10 -15
  477. package/templates/artifacts/shared//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +2 -10
  478. package/templates/artifacts/shared//346/212/200/346/234/257/351/200/211/345/236/213/351/252/214/346/224/266/346/270/205/345/215/225.md +2 -13
  479. package/templates/artifacts/shared//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210/346/250/241/347/211/210.md +54 -20
  480. package/templates/artifacts/shared//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +2 -11
  481. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210/346/250/241/347/211/210.md +43 -31
  482. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/351/252/214/346/224/266/346/270/205/345/215/225.md +2 -15
  483. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243/346/250/241/347/211/210.md +123 -44
  484. package/templates/artifacts/shared//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +113 -76
  485. package/templates/artifacts/shared//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +27 -18
  486. package/templates/artifacts/shared//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/346/250/241/347/211/210.md +7 -29
  487. package/templates/artifacts/shared//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +83 -30
  488. package/templates/artifacts/shared//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +15 -12
  489. package/templates/artifacts/shared//351/200/232/347/224/250/350/264/250/351/207/217/351/252/214/346/224/266/346/270/205/345/215/225.md +157 -36
  490. package/templates/artifacts/shared//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +2 -10
  491. package/templates/artifacts/shared//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +74 -15
  492. package/templates/artifacts/shared//351/234/200/346/261/202/345/216/237/345/236/213/350/256/276/350/256/241/345/256/236/347/216/260/350/277/275/350/270/252/347/237/251/351/230/265/346/250/241/347/211/210.md +45 -52
  493. package/templates/checklists//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -7
  494. package/templates/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +2 -12
  495. package/templates/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -7
  496. package/templates/checklists//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -7
  497. package/templates/checklists//347/237/245/350/257/206/346/263/250/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -7
  498. package/templates/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +1 -7
  499. package/templates/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -7
  500. package/templates/domain//345/244/232/347/247/237/346/210/267.md +1 -13
  501. package/templates/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +1 -12
  502. package/templates/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +1 -14
  503. package/templates/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +1 -17
  504. package/templates/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +1 -15
  505. package/templates/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +1 -16
  506. package/templates/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +1 -13
  507. package/templates/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +1 -15
  508. package/templates/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +1 -15
  509. package/templates/gates/existing-system/gate-/346/236/266/346/236/204/350/256/276/350/256/241.yaml +13 -14
  510. package/templates/gates/existing-system/gate-/347/216/260/346/234/211/347/263/273/347/273/237/345/210/206/346/236/220.yaml +48 -0
  511. package/templates/gates/existing-system/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +41 -8
  512. package/templates/gates/existing-system/gate-/350/257/225/350/277/220/350/241/214.yaml +30 -12
  513. package/templates/gates/existing-system/gate-/350/257/246/347/273/206/350/256/276/350/256/241.yaml +25 -15
  514. package/templates/gates/shared/gate-/344/272/244/344/273/230.yaml +26 -8
  515. package/templates/gates/shared/gate-/344/273/243/347/240/201/345/256/241/346/237/245.yaml +54 -8
  516. package/templates/gates/shared/gate-/344/273/273/345/212/241/350/247/204/345/210/222.yaml +131 -5
  517. package/templates/gates/shared/gate-/345/210/207/347/211/207/345/256/241/346/237/245.yaml +62 -0
  518. package/templates/gates/shared/gate-/345/210/207/347/211/207/346/211/247/350/241/214.yaml +51 -0
  519. package/templates/gates/shared/gate-/345/217/221/345/270/203/345/220/216/350/247/202/345/257/237.yaml +40 -8
  520. package/templates/gates/shared/gate-/345/256/211/345/205/250/345/256/241/350/256/241.yaml +77 -0
  521. package/templates/gates/shared/gate-/346/236/266/346/236/204/350/256/276/350/256/241.yaml +136 -9
  522. package/templates/gates/shared/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +30 -4
  523. package/templates/gates/shared/gate-/347/274/226/347/240/201/345/207/206/345/244/207.yaml +40 -4
  524. package/templates/gates/shared/gate-/347/274/226/347/240/201/345/256/236/347/216/260.yaml +54 -4
  525. package/templates/gates/shared/gate-/347/274/226/347/240/201/351/252/214/350/257/201.yaml +33 -4
  526. package/templates/gates/shared/gate-/350/201/224/350/260/203/351/252/214/350/257/201.yaml +47 -8
  527. package/templates/gates/shared/gate-/350/257/246/347/273/206/350/256/276/350/256/241.yaml +118 -9
  528. package/templates/gates/shared/gate-/351/234/200/346/261/202/345/210/206/346/236/220.yaml +154 -8
  529. package/templates/internal/patterns/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +1 -10
  530. package/templates/internal/patterns/Hook/345/261/202/344/272/247/347/211/251/347/273/223/346/236/204/346/240/241/351/252/214.md +2 -6
  531. package/templates/internal/patterns/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +1 -11
  532. package/templates/internal/patterns/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +1 -10
  533. package/templates/internal/patterns//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +1 -5
  534. package/templates/internal/patterns//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 +1 -10
  535. package/templates/internal/patterns//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +1 -11
  536. package/templates/internal/patterns//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 +1 -10
  537. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +1 -11
  538. package/templates/internal/patterns//345/206/262/347/252/201/351/227/250/347/246/201.md +1 -10
  539. package/templates/internal/patterns//345/206/263/347/255/226/347/275/221/345/205/263.md +1 -12
  540. package/templates/internal/patterns//345/210/206/345/234/272/346/231/257/350/277/207/347/250/213/350/247/204/345/210/231.md +1 -5
  541. package/templates/internal/patterns//345/217/230/345/274/202/345/256/241/350/256/241.md +1 -11
  542. package/templates/internal/patterns//345/233/236/345/275/222/347/237/251/351/230/265.md +1 -10
  543. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +1 -10
  544. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +1 -10
  545. package/templates/internal/patterns//345/271/266/345/217/221/351/224/201.md +1 -12
  546. package/templates/internal/patterns//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +1 -12
  547. package/templates/internal/patterns//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +1 -10
  548. package/templates/internal/patterns//346/250/241/347/211/210Frontmatter/350/247/243/346/236/220.md +1 -5
  549. package/templates/internal/patterns//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +1 -11
  550. package/templates/internal/patterns//346/265/201/345/274/217/345/277/203/350/267/263.md +2 -12
  551. package/templates/internal/patterns//347/237/245/350/257/206/344/270/273/346/235/203.md +1 -11
  552. package/templates/internal/patterns//350/257/255/344/271/211/350/257/201/346/215/256.md +1 -10
  553. package/templates/internal/patterns//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +1 -11
  554. package/templates/internal/patterns//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +4 -12
  555. package/templates/internal/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +0 -12
  556. package/templates/internal/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -7
  557. package/templates/internal/rules//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/350/247/204/345/210/231.md +3 -28
  558. package/templates/internal/rules//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/350/247/204/345/210/231.md +0 -9
  559. package/templates/internal/rules//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -12
  560. package/templates/internal/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +1 -7
  561. package/templates/internal/rules//345/221/275/344/273/244/350/267/257/347/224/261/350/247/204/345/210/231.md +0 -6
  562. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -7
  563. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246/350/247/204/345/210/231.md +9 -19
  564. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/346/250/241/347/211/210/345/214/205/350/247/204/345/210/231.md +0 -7
  565. package/templates/internal/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +1 -7
  566. package/templates/internal/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +2 -8
  567. package/templates/internal/rules//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260/350/247/204/345/210/231.md +1 -7
  568. package/templates/internal/rules//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +0 -7
  569. package/templates/internal/rules//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203/350/247/204/345/210/231.md +0 -10
  570. package/templates/internal/rules//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206/350/247/204/345/210/231.md +4 -18
  571. package/templates/internal/rules//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -8
  572. package/templates/internal/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -11
  573. package/templates/internal/rules//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -11
  574. package/templates/internal/rules//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +4 -6
  575. package/templates/internal/rules//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226/350/247/204/345/210/231.md +0 -10
  576. package/templates/internal/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +1 -8
  577. package/templates/internal/rules//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 +2 -8
  578. package/templates/internal/rules//346/250/241/347/211/210Frontmatter/350/247/204/350/214/203.md +85 -64
  579. package/templates/internal/rules//346/250/241/347/211/210/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247/350/247/204/345/210/231.md +0 -11
  580. package/templates/internal/rules//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275/350/247/204/345/210/231.md +1 -7
  581. package/templates/internal/rules//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247/350/247/204/345/210/231.md +0 -13
  582. package/templates/internal/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -17
  583. package/templates/internal/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -11
  584. package/templates/internal/rules//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214/350/247/204/345/210/231.md +1 -7
  585. package/templates/internal/rules//347/237/245/350/257/206/350/265/204/344/272/247/346/262/273/347/220/206/350/247/204/345/210/231.md +1 -9
  586. package/templates/internal/rules//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +0 -10
  587. package/templates/internal/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +0 -10
  588. package/templates/internal/rules//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242/350/247/204/345/210/231.md +0 -10
  589. package/templates/internal/rules//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250/350/247/204/345/210/231.md +1 -11
  590. package/templates/internal/rules//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205/350/247/204/345/210/231.md +6 -7
  591. package/templates/internal/rules//350/257/201/346/215/256/351/251/261/345/212/250/344/270/216/345/217/215/345/271/273/350/247/211/350/247/204/345/210/231.md +0 -11
  592. package/templates/internal/rules//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250/350/247/204/345/210/231.md +0 -7
  593. package/templates/internal/rules//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -7
  594. package/templates/internal/rules//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +0 -15
  595. package/templates/internal/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +38 -34
  596. package/templates/internal/rules//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214/350/247/204/345/210/231.md +5 -14
  597. package/templates/internal/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +1 -7
  598. package/templates/internal/rules//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226/350/247/204/345/210/231.md +31 -34
  599. package/templates/internal/rules//351/252/214/346/224/266/346/250/241/347/211/210/350/276/223/345/207/272/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -13
  600. package/templates/internal/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -7
  601. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +1 -15
  602. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +1 -13
  603. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +1 -17
  604. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +1 -16
  605. package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +1 -15
  606. package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +1 -16
  607. package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +1 -16
  608. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +1 -15
  609. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +1 -15
  610. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +1 -16
  611. package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +1 -8
  612. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +1 -15
  613. package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +1 -14
  614. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +1 -18
  615. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +1 -13
  616. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +1 -17
  617. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +1 -16
  618. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +1 -16
  619. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +1 -14
  620. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +1 -19
  621. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +1 -17
  622. package/templates/patterns//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/350/247/204/350/214/203.md +1 -8
  623. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +1 -14
  624. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +1 -16
  625. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +1 -16
  626. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +1 -16
  627. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +1 -13
  628. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +1 -17
  629. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +1 -15
  630. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +1 -14
  631. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +1 -19
  632. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +1 -16
  633. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +1 -14
  634. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +1 -17
  635. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +2 -19
  636. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +1 -15
  637. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +1 -15
  638. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +1 -16
  639. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +1 -19
  640. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +1 -13
  641. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +1 -14
  642. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +1 -17
  643. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +1 -14
  644. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +1 -16
  645. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +1 -16
  646. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +1 -14
  647. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +1 -13
  648. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +1 -14
  649. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +1 -16
  650. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +1 -16
  651. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +1 -18
  652. package/templates/patterns//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241/350/247/204/350/214/203.md +1 -15
  653. package/templates/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +41 -20
  654. package/templates/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +7 -13
  655. package/templates/procedures//344/270/215/347/241/256/345/256/232/346/227/266/345/244/264/350/204/221/351/243/216/346/232/264/346/265/201/347/250/213.md +92 -0
  656. package/templates/procedures//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201/346/265/201/347/250/213.md +8 -9
  657. package/templates/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +1 -7
  658. package/templates/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +10 -9
  659. package/templates/procedures//344/273/273/345/212/241/350/247/204/345/210/222/345/267/245/344/275/234/346/265/201.md +83 -0
  660. package/templates/procedures//344/274/232/350/257/235/346/201/242/345/244/215/346/265/201/347/250/213.md +2 -10
  661. package/templates/procedures//345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201/345/257/274/350/210/252.md +8 -16
  662. package/templates/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +11 -16
  663. package/templates/procedures//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260/345/267/245/344/275/234/346/265/201.md +1 -8
  664. package/templates/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +2 -7
  665. package/templates/procedures//345/221/275/344/273/244/350/267/257/347/224/261/346/265/201/347/250/213.md +0 -6
  666. package/templates/procedures//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +8 -14
  667. package/templates/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +2 -7
  668. package/templates/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +7 -13
  669. package/templates/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +3 -8
  670. package/templates/procedures//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +15 -15
  671. package/templates/procedures//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md +1 -7
  672. package/templates/procedures//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266/345/267/245/344/275/234/346/265/201.md +1 -7
  673. package/templates/procedures//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/345/267/245/344/275/234/346/265/201.md +8 -7
  674. package/templates/procedures//346/236/266/346/236/204/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +23 -11
  675. package/templates/procedures//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +8 -12
  676. package/templates/procedures//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201/345/267/245/344/275/234/346/265/201.md +18 -10
  677. package/templates/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +9 -15
  678. package/templates/procedures//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220/345/267/245/344/275/234/346/265/201.md +29 -9
  679. package/templates/procedures//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +6 -12
  680. package/templates/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +8 -14
  681. package/templates/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +7 -7
  682. package/templates/procedures//347/274/226/347/240/201/351/230/266/346/256/265/346/211/247/350/241/214/345/267/245/344/275/234/346/265/201.md +101 -0
  683. package/templates/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +1 -7
  684. package/templates/procedures//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/345/267/245/344/275/234/346/265/201.md +32 -13
  685. package/templates/procedures//350/256/276/350/256/241/345/256/241/350/256/241/346/265/201/347/250/213.md +17 -21
  686. package/templates/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +91 -24
  687. package/templates/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +31 -9
  688. package/templates/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +7 -13
  689. package/templates/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +35 -9
  690. package/templates/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +7 -13
  691. package/templates/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +9 -9
  692. package/templates/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +23 -16
  693. package/templates/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +8 -9
  694. package/templates/rules/existing-system//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245/350/247/204/345/210/231.md +66 -23
  695. package/templates/rules/existing-system//350/200/201/347/263/273/347/273/237/345/210/207/347/211/207/350/247/204/345/210/222/350/247/204/345/210/231.md +35 -0
  696. package/templates/rules/existing-system//350/200/246/345/220/210/346/243/200/346/265/213/350/247/204/345/210/231.md +57 -20
  697. package/templates/rules/existing-system//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255/350/247/204/345/210/231.md +49 -25
  698. package/templates/rules/existing-system//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201/350/247/204/345/210/231.md +69 -25
  699. package/templates/rules/existing-system//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217/346/270/205/345/215/225.md +109 -23
  700. package/templates/rules/new-system//350/201/224/350/260/203/350/256/276/350/256/241/347/274/272/351/231/267/345/210/244/345/256/232/350/247/204/345/210/231.md +39 -19
  701. package/templates/rules/shared/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +47 -20
  702. package/templates/rules/shared//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214/350/247/204/345/210/231.md +84 -11
  703. package/templates/rules/shared//344/270/212/346/270/270/344/272/244/345/217/211/351/252/214/350/257/201/350/247/204/345/210/231.md +56 -0
  704. package/templates/rules/shared//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/350/247/204/345/210/231.md +67 -0
  705. package/templates/rules/shared//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +39 -16
  706. package/templates/rules/shared//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 +61 -55
  707. package/templates/rules/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/350/247/204/345/210/231.md +122 -0
  708. package/templates/rules/shared//345/206/263/347/255/226/345/256/214/346/225/264/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +18 -11
  709. package/templates/rules/shared//345/210/207/347/211/207/346/211/247/350/241/214/347/272/252/345/276/213/350/247/204/345/210/231.md +96 -0
  710. package/templates/rules/shared//345/210/207/347/211/207/350/247/204/345/210/222/350/247/204/345/210/231.md +64 -0
  711. package/templates/rules/shared//345/216/237/345/236/213/346/272/220/347/240/201/346/217/220/345/217/226/350/247/204/345/210/231.md +67 -0
  712. package/templates/rules/shared//345/216/237/345/236/213/350/257/264/346/230/216/345/256/241/346/237/245/350/247/204/345/210/231.md +73 -0
  713. package/templates/rules/shared//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245/350/247/204/345/210/231.md +22 -13
  714. package/templates/rules/shared//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245/350/247/204/345/210/231.md +43 -18
  715. package/templates/rules/shared//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +53 -17
  716. package/templates/rules/shared//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +39 -10
  717. package/templates/rules/shared//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +32 -10
  718. package/templates/rules/shared//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245/350/247/204/345/210/231.md +40 -11
  719. package/templates/rules/shared//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +31 -11
  720. package/templates/rules/shared//346/236/266/346/236/204/350/256/276/350/256/241/345/256/241/346/237/245/350/247/204/345/210/231.md +102 -0
  721. package/templates/rules/shared//346/236/266/346/236/204/350/256/276/350/256/241/350/247/204/345/210/231.md +64 -0
  722. package/templates/rules/shared//347/213/254/347/253/213/345/256/241/346/237/245/350/247/204/345/210/231.md +33 -0
  723. package/templates/rules/shared//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +171 -0
  724. package/templates/rules/shared//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245/350/247/204/345/210/231.md +9 -13
  725. package/templates/rules/shared//350/201/224/350/260/203/351/252/214/350/257/201/346/270/205/345/215/225.md +62 -16
  726. package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +2 -3
  727. package/templates/rules/shared//350/257/246/347/273/206/350/256/276/350/256/241/345/256/241/346/237/245/350/247/204/345/210/231.md +82 -0
  728. package/templates/rules/shared//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +17 -12
  729. package/templates/rules/shared//350/277/275/350/270/252/347/237/251/351/230/265ID/350/247/204/345/210/231.md +48 -0
  730. package/templates/rules/shared//350/277/275/350/270/252/347/237/251/351/230/265/345/256/241/346/237/245/350/247/204/345/210/231.md +51 -0
  731. package/templates/rules/shared//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +30 -13
  732. package/templates/rules/shared//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245/350/247/204/345/210/231.md +15 -15
  733. package/templates//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +11 -8
  734. package/dist/engine/config/config_auto_repair.d.ts +0 -30
  735. package/dist/engine/config/config_auto_repair.d.ts.map +0 -1
  736. package/dist/engine/config/config_auto_repair.js +0 -261
  737. package/dist/engine/config/config_auto_repair.js.map +0 -1
  738. package/dist/engine/config/config_precedence_contract/constants.d.ts +0 -16
  739. package/dist/engine/config/config_precedence_contract/constants.d.ts.map +0 -1
  740. package/dist/engine/config/config_precedence_contract/constants.js +0 -166
  741. package/dist/engine/config/config_precedence_contract/constants.js.map +0 -1
  742. package/dist/engine/config/config_precedence_contract/evidence.d.ts +0 -38
  743. package/dist/engine/config/config_precedence_contract/evidence.d.ts.map +0 -1
  744. package/dist/engine/config/config_precedence_contract/evidence.js +0 -59
  745. package/dist/engine/config/config_precedence_contract/evidence.js.map +0 -1
  746. package/dist/engine/config/config_precedence_contract/field_class.d.ts +0 -11
  747. package/dist/engine/config/config_precedence_contract/field_class.d.ts.map +0 -1
  748. package/dist/engine/config/config_precedence_contract/field_class.js +0 -10
  749. package/dist/engine/config/config_precedence_contract/field_class.js.map +0 -1
  750. package/dist/engine/config/config_precedence_contract/governance.d.ts +0 -31
  751. package/dist/engine/config/config_precedence_contract/governance.d.ts.map +0 -1
  752. package/dist/engine/config/config_precedence_contract/governance.js +0 -232
  753. package/dist/engine/config/config_precedence_contract/governance.js.map +0 -1
  754. package/dist/engine/config/config_precedence_contract/index.d.ts +0 -21
  755. package/dist/engine/config/config_precedence_contract/index.d.ts.map +0 -1
  756. package/dist/engine/config/config_precedence_contract/index.js +0 -28
  757. package/dist/engine/config/config_precedence_contract/index.js.map +0 -1
  758. package/dist/engine/config/config_precedence_contract/project_config.d.ts +0 -20
  759. package/dist/engine/config/config_precedence_contract/project_config.d.ts.map +0 -1
  760. package/dist/engine/config/config_precedence_contract/project_config.js +0 -210
  761. package/dist/engine/config/config_precedence_contract/project_config.js.map +0 -1
  762. package/dist/engine/config/config_precedence_contract/resolution.d.ts +0 -93
  763. package/dist/engine/config/config_precedence_contract/resolution.d.ts.map +0 -1
  764. package/dist/engine/config/config_precedence_contract/resolution.js +0 -317
  765. package/dist/engine/config/config_precedence_contract/resolution.js.map +0 -1
  766. package/dist/engine/config/config_precedence_contract/types.d.ts +0 -92
  767. package/dist/engine/config/config_precedence_contract/types.d.ts.map +0 -1
  768. package/dist/engine/config/config_precedence_contract/types.js +0 -20
  769. package/dist/engine/config/config_precedence_contract/types.js.map +0 -1
  770. package/dist/engine/config/config_precedence_contract.d.ts +0 -22
  771. package/dist/engine/config/config_precedence_contract.d.ts.map +0 -1
  772. package/dist/engine/config/config_precedence_contract.js +0 -34
  773. package/dist/engine/config/config_precedence_contract.js.map +0 -1
  774. package/dist/engine/config/zero_config_init.d.ts +0 -177
  775. package/dist/engine/config/zero_config_init.d.ts.map +0 -1
  776. package/dist/engine/config/zero_config_init.js +0 -857
  777. package/dist/engine/config/zero_config_init.js.map +0 -1
  778. package/templates/internal/patterns//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -62
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: prototype-source-extraction
3
+ type: governance_rule
4
+ stages: ["需求分析"]
5
+ lifecycle_status: active
6
+ owner_mechanism_id: mc-command-router
7
+ scope:
8
+ - backend
9
+ - frontend
10
+ products:
11
+ - '*'
12
+ priority: P0
13
+ triggers: ["原型提取","源码分析","source extraction","prototype source"]
14
+ ---
15
+
16
+ # 原型源码提取规则
17
+
18
+ ## 必须读取的源码材料
19
+
20
+ 需求分析阶段,必须从以下路径模式读取源码材料:
21
+
22
+ 1. `src/**/*Controller.ts` — 控制器层,提取路由定义和请求处理逻辑
23
+ 2. `src/**/*Service.ts` — 服务层,提取业务规则和流程编排
24
+ 3. `src/**/*Repository.ts` / `src/**/*Dao.ts` — 数据访问层,提取数据模型和查询逻辑
25
+ 4. `src/**/*Model.ts` / `src/**/*Entity.ts` — 实体定义,提取字段和约束
26
+ 5. `src/**/*Config.ts` / `config/**/*` — 配置文件,提取环境依赖和参数
27
+ 6. `src/**/*Middleware.ts` — 中间件,提取横切关注点(认证、日志等)
28
+ 7. `src/pages/**/*` / `src/views/**/*` / `app/**/page.tsx` — 页面组件,提取路由和页面结构
29
+ 8. `src/components/**/*` — UI 组件,提取组件树和 props
30
+ 9. `src/stores/**/*` / `src/state/**/*` — 状态管理,提取数据流和状态转换
31
+ 10. `src/styles/**/*` / `src/tokens.*` / `tailwind.config.*` — 设计令牌,提取色彩/间距/字体
32
+ 11. `src/api/**/*` / `src/services/**/*` — API 客户端,提取接口调用和数据绑定
33
+ 12. `src/i18n/**/*` / `src/locales/**/*` — 国际化文件,提取文案和术语
34
+
35
+ ### 可选设计资源路径
36
+
37
+ > SoloForge 核心场景是从源码提取。以下路径为可选,但一旦存在必须标注引用。
38
+
39
+ 13. `design/**/*` / `figma-export/**/*` / `prototype-export/**/*` — 设计稿导出文件
40
+ 14. `*.figma` / `*.sketch` — 原始设计文件路径(仅标注,不直接读取)
41
+ 15. `docs/design/**/*` / `docs/prototype/**/*` — 设计文档
42
+
43
+ ### 接口与数据规格路径
44
+
45
+ 16. `openapi.*` / `swagger.*` / `api-docs/**/*` — API 规格文件
46
+ 17. `prisma/schema.prisma` / `drizzle/schema.ts` / `knexfile.*` — ORM schema
47
+ 18. `migrations/**/*` / `db/migrate/**/*` — 数据库迁移文件
48
+
49
+ ## 禁止来源
50
+
51
+ 以下来源不得作为需求分析的源码材料依据:
52
+
53
+ 1. 禁止仅凭口头描述编写需求,必须有源码证据支撑
54
+ 2. 禁止从 `node_modules/` 或第三方库源码推断需求
55
+ 3. 禁止使用 `dist/` 或编译产物代替源码
56
+ 4. 禁止从测试文件反推需求规格(测试用于验证,不用于定义)
57
+
58
+ ## 证据标记规范
59
+
60
+ 每个提取的需求点必须标注来源证据:
61
+
62
+ - `[SRC:文件路径:行号]` — 直接从源码提取
63
+ - `[LOG:日志片段]` — 从运行日志推导(需标注日志来源)
64
+ - `[CFG:配置项]` — 从配置文件提取
65
+ - `[REF:引用链路]` — 从调用链路推导(需标注链路起点和终点)
66
+ - `[DES:设计资源路径]` — 设计稿提取(需人工确认)
67
+ - `[INF:推理结论]` — AI 推理(低置信,必须标注推理依据,须人工确认才可进入基线)
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: prototype-specification-review
3
+ type: review_rule
4
+ scope:
5
+ - frontend
6
+ products:
7
+ - '*'
8
+ id: ka-review-rule-原型说明审查规则
9
+ lifecycle_status: active
10
+ authority: supporting
11
+ priority: P1
12
+ stages: ["需求分析"]
13
+ owner_mechanism_id: mc-generic-artifact
14
+ triggers: ["原型审查","原型说明审查","prototype review"]
15
+ ---
16
+
17
+ # 原型说明审查规则
18
+
19
+ ## PROT-01: 完整性
20
+
21
+ pattern: 原型说明模版 10 个章节无空洞
22
+ severity: error
23
+ scope: [frontend]
24
+ description: 原型说明必须完整覆盖 10 个章节(含第 9 章边界异常和第 10 章无障碍),不得有空章节、TODO 占位或 `-` 单独占位。
25
+
26
+ ## PROT-02: 证据标记
27
+
28
+ pattern: 所有章节内容标注来源标记
29
+ severity: warning
30
+ scope: [frontend]
31
+ description: 所有内容必须使用统一证据标记体系 [SRC]/[LOG]/[CFG]/[REF]/[DES]/[INF],不得有无标记的断言。
32
+
33
+ ## PROT-03: 交互闭环
34
+
35
+ pattern: 状态机无死端,所有异常分支有处理
36
+ severity: error
37
+ scope: [frontend]
38
+ description: 第 5 章交互流转的状态机图必须所有路径有终止状态,第 9 章异常分支每个子节至少 1 条场景。
39
+
40
+ ## PROT-04: 术语一致
41
+
42
+ pattern: 使用与项目术语表一致的命名
43
+ severity: warning
44
+ scope: [frontend]
45
+ description: 原型说明中的术语必须与需求分析第 3 章术语表一致,不得使用未定义的同义词。
46
+
47
+ ## PROT-05: 令牌引用
48
+
49
+ pattern: 色彩/间距/字体引用设计令牌而非硬编码色值
50
+ severity: warning
51
+ scope: [frontend]
52
+ description: 第 2 章设计令牌中定义的令牌名必须在第 6 章视觉状态中引用,禁止出现硬编码色值(如 #FF0000)。
53
+
54
+ ## PROT-06: 无障碍完备
55
+
56
+ pattern: 第 10 章 5 个子节无空洞
57
+ severity: warning
58
+ scope: [frontend]
59
+ description: 第 10 章无障碍的 5 个子节(键盘导航/ARIA/焦点管理/色彩对比度/屏幕阅读器)必须全部填写,不得有空子节。
60
+
61
+ ## PROT-07: 响应式覆盖
62
+
63
+ pattern: 至少覆盖 Desktop / Mobile 两个断点
64
+ severity: warning
65
+ scope: [frontend]
66
+ description: 第 7 章响应式断点必须至少包含 Desktop 和 Mobile 两个断点定义。
67
+
68
+ ## PROT-08: 异常覆盖
69
+
70
+ pattern: 第 9 章 4 个子节每节至少 1 条场景
71
+ severity: error
72
+ scope: [frontend]
73
+ description: 第 9 章边界与异常分支的 4 个子节(数据边界/网络权限异常/并发竞态/加载态)每节至少 1 条场景记录。
@@ -1,28 +1,20 @@
1
1
  ---
2
2
  name: post-release-review
3
3
  type: review_rule
4
- when: '发布后, 上线观察, post-release review'
5
4
  scope:
6
5
  - backend
7
6
  - frontend
8
7
  products:
9
8
  - '*'
10
9
  id: ka-review-rule-发布后审查规则
11
- asset_kind: review_rule
12
10
  lifecycle_status: active
13
11
  owner_mechanism_id: mc-delivery-gate
14
12
  authority: supporting
15
- primary_triggers:
16
- - 发布后审查规则
17
- secondary_triggers:
18
- - 发布后审查
19
- - 上线观察
20
- negative_triggers: []
21
13
  priority: P1
22
- specificity: 5
23
- version: 1.1.0
24
- last_reviewed: '2026-06-01'
14
+ version: 1.2.0
15
+ last_reviewed: '2026-06-04'
25
16
  stages: ["代码审查"]
17
+ triggers: ["发布后","上线观察","post-release review"]
26
18
  ---
27
19
 
28
20
  # 发布后审查规则
@@ -30,27 +22,44 @@ stages: ["代码审查"]
30
22
  ## REL-01: 监控指标在阈值内
31
23
 
32
24
  pattern: 发布后关键监控指标必须在正常范围内
33
- severity: warning
25
+ severity: error
26
+ check_type: deterministic
34
27
  scope: [backend, frontend]
35
- description: 错误率、响应时间、吞吐量等关键指标在发布后 30 分钟内必须在历史基线 ±20% 范围内
28
+ description: 错误率、响应时间、吞吐量等关键指标在发布后 30 分钟内必须在历史基线 ±20% 范围内。监控指标必须通过,不得为建议项。
29
+ evidence_required:
30
+ - "监控指标报告路径"
31
+ - "错误率/响应时间/吞吐量数值"
32
+ - "与基线对比结果(须在 ±20% 范围内)"
36
33
 
37
34
  ## REL-02: 无新增告警
38
35
 
39
36
  pattern: 发布后不得产生新的异常告警
40
37
  severity: warning
38
+ check_type: deterministic
41
39
  scope: [backend, frontend]
42
40
  description: 发布后检查告警系统,不得有因本次发布新增的错误日志或异常告警
41
+ evidence_required:
42
+ - "告警系统检查结果"
43
+ - "新增告警列表(须为空)"
43
44
 
44
45
  ## REL-03: 回滚预案已验证
45
46
 
46
47
  pattern: 回滚操作必须在发布前验证过
47
48
  severity: warning
49
+ check_type: deterministic
48
50
  scope: [backend, frontend]
49
51
  description: 回滚预案必须经过实际演练或自动化验证,确认回滚操作可在 5 分钟内完成
52
+ evidence_required:
53
+ - "回滚预案文档路径"
54
+ - "演练/验证记录"
50
55
 
51
56
  ## REL-04: 数据一致性确认
52
57
 
53
58
  pattern: 发布后必须验证数据一致性
54
59
  severity: warning
60
+ check_type: deterministic
55
61
  scope: backend
56
62
  description: 涉及数据库变更的发布,发布后必须验证新老数据的一致性(数据校验脚本通过)
63
+ evidence_required:
64
+ - "数据一致性校验脚本路径"
65
+ - "校验结果(须通过)"
@@ -1,38 +1,63 @@
1
1
  ---
2
2
  name: backend-implementation-review
3
3
  type: review_rule
4
- when: '后端审查, Controller, DTO, 事务, 幂等, 权限'
5
4
  scope:
6
5
  - backend
7
6
  products:
8
7
  - '*'
9
8
  id: ka-review-rule-后端实现工程审查规则
10
- asset_kind: review_rule
11
9
  lifecycle_status: active
12
10
  authority: canonical
13
11
  owner_mechanism_id: mc-backend-implementation-contract
14
- primary_triggers:
15
- - 后端实现工程审查规则
16
- secondary_triggers:
17
- - 接口审查
18
- negative_triggers: []
19
12
  priority: P1
20
- specificity: 5
21
13
  consumes:
22
14
  - mc-ood-solid-contract
23
15
  required_evidence:
24
16
  - code_review_findings
25
- version: 1.1.0
26
- last_reviewed: '2026-06-01'
17
+ version: 1.2.0
18
+ last_reviewed: '2026-06-04'
27
19
  stages: ["编码与单元测试", "联调验证"]
20
+ triggers: ["后端审查","Controller","DTO","事务","幂等","权限"]
28
21
  ---
29
22
 
30
- ## 硬失败检查
23
+ # 后端实现工程审查规则
31
24
 
32
- | 分类 | 失败表现 | 修复要求 |
33
- |---|---|---|
34
- | Controller 边界 | 入参/出参使用数据库实体 | 改为 DTO/VO 并显式映射 |
35
- | 参数校验 | POST/PUT/PATCH 未校验 | 补校验注解或验证器与失败测试 |
36
- | 事务 | 事务中调用 HTTP/MQ/外部 SDK | 拆分边界或采用 outbox/补偿 |
37
- | 幂等 | 支付、回调或写入无幂等证据 | 补请求键/唯一约束/重复提交测试 |
38
- | 安全审计 | 敏感接口无权限、租户或审计 | 补安全校验和审计证据 |
25
+ ## BIE-01: Controller 边界
26
+ - id: BIE-01
27
+ - name: Controller 边界
28
+ - severity: error
29
+ - check_type: deterministic
30
+ - pattern: Controller 入参/出参使用数据库实体 改为 DTO/VO 并显式映射
31
+ - description: Controller 层不得直接暴露数据库实体。入参使用 RequestDTO,出参使用 ResponseVO/ResponseDTO,通过 Mapper 显式转换。
32
+
33
+ ## BIE-02: 参数校验
34
+ - id: BIE-02
35
+ - name: 参数校验
36
+ - severity: error
37
+ - check_type: deterministic
38
+ - pattern: POST/PUT/PATCH 端点必须有参数校验注解或验证器,且校验失败有测试覆盖
39
+ - description: 所有 POST/PUT/PATCH 端点必须使用 @Valid/@Validated 或自定义 Validator。校验失败的路径必须有测试用例覆盖。
40
+
41
+ ## BIE-03: 事务
42
+ - id: BIE-03
43
+ - name: 事务
44
+ - severity: error
45
+ - check_type: deterministic
46
+ - pattern: 事务中不得调用 HTTP/MQ/外部 SDK;违反须拆分边界或采用 outbox/补偿模式
47
+ - description: 事务范围内禁止包含 HTTP 调用、消息队列发送、外部 SDK 调用。需要跨系统一致性时使用 outbox 模式或补偿事务。
48
+
49
+ ## BIE-04: 幂等
50
+ - id: BIE-04
51
+ - name: 幂等
52
+ - severity: error
53
+ - check_type: deterministic
54
+ - pattern: 支付、回调或写入操作必须有幂等证据(请求键/唯一约束/重复提交测试)
55
+ - description: 涉及支付、回调、写入的接口必须有幂等保护。通过请求键(idempotency key)、数据库唯一约束或分布式锁实现,并提供重复提交测试用例。
56
+
57
+ ## BIE-05: 安全审计
58
+ - id: BIE-05
59
+ - name: 安全审计
60
+ - severity: error
61
+ - check_type: deterministic
62
+ - pattern: 敏感接口必须有权限校验、租户隔离和审计日志
63
+ - description: 涉及敏感数据的接口必须实现权限校验(RBAC/ABAC)、多租户数据隔离、操作审计日志。缺少任一项视为 hard_fail。
@@ -1,96 +1,132 @@
1
1
  ---
2
2
  name: security-rules
3
3
  type: review_rule
4
- when: '代码审查, review, 安全部署, 安全检查, 安全审计'
5
4
  scope:
6
5
  - backend
7
6
  - frontend
8
7
  products:
9
8
  - '*'
10
9
  id: ka-review-rule-安全审查规则
11
- asset_kind: review_rule
12
10
  lifecycle_status: active
13
11
  owner_mechanism_id: mc-generic-review
14
12
  authority: supporting
15
- primary_triggers:
16
- - 安全审查规则
17
- secondary_triggers: []
18
- negative_triggers: []
19
13
  priority: P1
20
- specificity: 5
21
- version: 1.1.0
22
- last_reviewed: '2026-06-01'
14
+ version: 1.2.0
15
+ last_reviewed: '2026-06-04'
23
16
  stages: ["代码审查"]
17
+ triggers: ["代码审查","review","安全部署","安全检查","安全审计"]
24
18
  ---
25
19
 
26
20
  ## SEC-01: SQL 字符串拼接导致注入风险
27
21
  pattern: /(SELECT|INSERT|UPDATE|DELETE)\b.*[\+${]/
28
- severity: critical
22
+ severity: error
23
+ check_type: deterministic
29
24
  scope: backend
30
25
  description: 禁止使用字符串拼接构造 SQL,必须使用参数化查询(PreparedStatement / MyBatis #{})
26
+ evidence_required:
27
+ - "扫描结果:含 SQL 拼接的文件路径+行号"
28
+ - "修复确认:参数化查询替换证据"
31
29
 
32
30
  ## SEC-02: innerHTML 赋值存在 XSS 风险
33
31
  pattern: /\.innerHTML\s*=/
34
- severity: critical
32
+ severity: error
33
+ check_type: deterministic
35
34
  scope: frontend
36
35
  description: 禁止使用 innerHTML 直接插入用户内容,必须使用 textContent 或 DOMPurify 净化
36
+ evidence_required:
37
+ - "扫描结果:含 innerHTML 赋值的文件路径+行号"
38
+ - "修复确认:使用安全替代方案证据"
37
39
 
38
40
  ## SEC-03: eval 或 Function 构造器执行动态代码
39
41
  pattern: /\beval\s*\(|new\s+Function\s*\(/
40
- severity: critical
42
+ severity: error
43
+ check_type: deterministic
41
44
  scope: [backend, frontend]
42
45
  description: 禁止使用 eval() 和 new Function(),存在任意代码执行风险
46
+ evidence_required:
47
+ - "扫描结果:含 eval/Function 的文件路径+行号"
43
48
 
44
49
  ## SEC-04: 硬编码的密码/密钥/token
45
50
  pattern: /password\s*=\s*["'][^"']+["']|secret[_-]?key\s*=\s*["'][^"']+["']|api[_-]?key\s*=\s*["'][^"']+["']/i
46
- severity: critical
51
+ severity: error
52
+ check_type: deterministic
47
53
  scope: [backend, frontend]
48
54
  description: 敏感凭证禁止硬编码在源码中,必须使用环境变量或密钥管理服务
55
+ evidence_required:
56
+ - "扫描结果:含硬编码凭证的文件路径+行号"
57
+ - "修复确认:迁移到环境变量/密钥管理服务证据"
49
58
 
50
59
  ## SEC-05: 日志中打印敏感信息
51
60
  pattern: /log\.\w+\(.*(?:password|token|secret|身份证|idcard)/i
52
- severity: critical
61
+ severity: error
62
+ check_type: deterministic
53
63
  scope: backend
54
64
  description: 禁止在日志中输出密码、token、身份证号等敏感字段,必须脱敏处理
65
+ evidence_required:
66
+ - "扫描结果:含敏感信息日志的文件路径+行号"
67
+ - "修复确认:脱敏处理证据"
55
68
 
56
69
  ## SEC-06: 未验证的外部重定向
57
70
  pattern: /redirect\s*\(\s*(?:req|request|ctx)\.\w+/
58
71
  severity: warning
72
+ check_type: deterministic
59
73
  scope: backend
60
74
  description: 重定向目标必须校验白名单域名,防止开放重定向攻击
75
+ evidence_required:
76
+ - "扫描结果:含未验证重定向的文件路径+行号"
61
77
 
62
78
  ## SEC-07: 路径遍历风险
63
79
  pattern: /\.\.\/|\.\.\\/
64
80
  severity: warning
81
+ check_type: deterministic
65
82
  scope: [backend, frontend]
66
83
  description: 文件路径操作必须校验和规范化,防止通过 ../ 遍历到非授权目录
84
+ evidence_required:
85
+ - "扫描结果:含路径遍历风险的文件路径+行号"
67
86
 
68
87
  ## SEC-08: 不安全的反序列化
69
88
  pattern: /ObjectInputStream|unserialize|pickle\.load/
70
- severity: critical
89
+ severity: error
90
+ check_type: deterministic
71
91
  scope: backend
72
92
  description: 禁止直接反序列化不可信数据,必须使用白名单校验或 JSON 替代方案
93
+ evidence_required:
94
+ - "扫描结果:含不安全反序列化的文件路径+行号"
73
95
 
74
96
  ## SEC-09: SSRF 服务端请求伪造
75
97
  pattern: /(?:HttpClient|RestTemplate|WebClient|OkHttp|URLConnection)\s*\(\s*(?:req|request|ctx|param)\./
76
- severity: critical
98
+ severity: error
99
+ check_type: deterministic
77
100
  scope: backend
78
101
  description: 外部 URL 请求禁止直接使用用户输入,必须校验 IP/域名白名单,防止 SSRF 攻击
102
+ evidence_required:
103
+ - "扫描结果:含 SSRF 风险的文件路径+行号"
104
+ - "修复确认:白名单校验证据"
79
105
 
80
106
  ## SEC-10: CORS 配置过于宽松
81
107
  pattern: /allowedOrigins\s*\(\s*"\*"\s*\)|Access-Control-Allow-Origin.*\*/
82
108
  severity: warning
109
+ check_type: deterministic
83
110
  scope: backend
84
111
  description: CORS 配置禁止使用通配符 *,必须指定具体域名白名单
112
+ evidence_required:
113
+ - "扫描结果:含宽松 CORS 配置的文件路径+行号"
85
114
 
86
115
  ## SEC-11: 未启用 HTTPS 的 Cookie
87
116
  pattern: /cookie.*(?:secure\s*:\s*false|httpOnly\s*:\s*false)/i
88
117
  severity: warning
118
+ check_type: deterministic
89
119
  scope: [backend, frontend]
90
120
  description: 敏感 Cookie 必须设置 Secure 和 HttpOnly 标志
121
+ evidence_required:
122
+ - "扫描结果:含不安全 Cookie 配置的文件路径+行号"
91
123
 
92
124
  ## SEC-12: JWT 未校验签名算法
93
125
  pattern: /JWT|jwt.*verify|jwt.*decode/
94
- severity: critical
126
+ severity: error
127
+ check_type: deterministic
95
128
  scope: backend
96
129
  description: JWT 必须显式指定签名算法(如 HS256/RS256),禁止接受 none 算法
130
+ evidence_required:
131
+ - "扫描结果:含 JWT 操作的文件路径+行号"
132
+ - "修复确认:显式指定签名算法证据"
@@ -1,83 +1,112 @@
1
1
  ---
2
2
  name: concurrency-rules
3
3
  type: review_rule
4
- when: '代码审查, review, 并发检查, 线程安全检查, 锁检查'
5
4
  scope:
6
5
  - backend
7
6
  products:
8
7
  - '*'
9
8
  id: ka-review-rule-并发审查规则
10
- asset_kind: review_rule
11
9
  lifecycle_status: active
12
10
  owner_mechanism_id: mc-generic-review
13
11
  authority: supporting
14
- primary_triggers:
15
- - 并发审查规则
16
- secondary_triggers: []
17
- negative_triggers: []
18
12
  priority: P1
19
- specificity: 5
20
- version: 1.1.0
21
- last_reviewed: '2026-06-01'
13
+ version: 1.2.0
14
+ last_reviewed: '2026-06-04'
22
15
  stages: ["代码审查"]
16
+ triggers: ["代码审查","review","并发检查","线程安全检查","锁检查"]
23
17
  ---
24
18
 
25
19
  ## CON-01: 共享可变状态无并发保护
26
20
  pattern: "synchronized|ReentrantLock|AtomicInteger|volatile"
27
- severity: critical
21
+ severity: error
22
+ check_type: deterministic
28
23
  scope: backend
29
24
  description: 涉及金额、库存、计数器的操作必须显式声明并发控制策略。若未使用任何并发控制原语,标记为需人工确认
25
+ evidence_required:
26
+ - "扫描结果:含共享可变状态的文件路径+行号"
27
+ - "并发控制策略声明"
30
28
 
31
29
  ## CON-02: 分布式环境使用 JVM 级锁
32
30
  pattern: "synchronized\\s*\\(|ReentrantLock"
33
31
  severity: warning
32
+ check_type: deterministic
34
33
  scope: backend
35
34
  description: 多实例部署场景下 synchronized/ReentrantLock 无法跨 JVM,必须使用分布式锁(Redis/Redisson)
35
+ evidence_required:
36
+ - "扫描结果:含 JVM 级锁的文件路径+行号"
37
+ - "部署架构确认(单实例/多实例)"
36
38
 
37
39
  ## CON-03: 先查后改未用原子操作
38
40
  pattern: "SELECT.*stock|SELECT.*count|SELECT.*amount.*WHERE"
39
41
  severity: warning
42
+ check_type: deterministic
40
43
  scope: backend
41
44
  description: 库存/余额/计数器等场景禁止先 SELECT 再 UPDATE,必须使用原子操作(UPDATE SET x = x - 1 WHERE x >= 1)
45
+ evidence_required:
46
+ - "扫描结果:含先查后改模式的文件路径+行号"
42
47
 
43
48
  ## CON-04: @Transactional 同类内部调用
44
49
  pattern: "this\\.|@Transactional"
45
50
  severity: warning
51
+ check_type: deterministic
46
52
  scope: backend
47
53
  description: @Transactional 方法被同类内部 this.xxx() 调用时 AOP 代理失效,事务不生效
54
+ evidence_required:
55
+ - "扫描结果:含 this 调用事务方法的文件路径+行号"
48
56
 
49
57
  ## CON-05: 事务内执行外部调用
50
58
  pattern: "RestTemplate|FeignClient|HttpClient|WebClient"
51
59
  severity: info
60
+ check_type: deterministic
52
61
  scope: backend
53
62
  description: 事务方法中执行外部 HTTP 调用会延长事务持有时间,建议移到事务外或使用 REQUIRES_NEW 隔离
63
+ evidence_required:
64
+ - "扫描结果:事务内外部调用的文件路径+行号"
54
65
 
55
66
  ## CON-06: SimpleDateFormat 非线程安全
56
67
  pattern: "SimpleDateFormat"
57
68
  severity: warning
69
+ check_type: deterministic
58
70
  scope: backend
59
71
  description: SimpleDateFormat 非线程安全,多线程共享会导致日期解析错误,使用 DateTimeFormatter 或 ThreadLocal
72
+ evidence_required:
73
+ - "扫描结果:含 SimpleDateFormat 的文件路径+行号"
60
74
 
61
75
  ## CON-07: ThreadLocal 未清理导致内存泄漏
62
76
  pattern: /ThreadLocal\s*<|new\s+ThreadLocal/
63
77
  severity: warning
78
+ check_type: deterministic
64
79
  scope: backend
65
80
  description: ThreadLocal 必须在请求结束时 remove(),否则线程池复用会导致内存泄漏和数据串线
81
+ evidence_required:
82
+ - "扫描结果:含 ThreadLocal 的文件路径+行号"
83
+ - "remove() 调用确认"
66
84
 
67
85
  ## CON-08: 非线程安全的集合用作类成员变量
68
86
  pattern: /private\s+(?:static\s+)?(?:final\s+)?(?:HashMap|ArrayList|LinkedList|HashSet)\s*</
69
87
  severity: warning
88
+ check_type: deterministic
70
89
  scope: backend
71
90
  description: 类级别的共享集合必须使用 ConcurrentHashMap/CopyOnWriteArrayList 等线程安全实现
91
+ evidence_required:
92
+ - "扫描结果:含非线程安全集合的文件路径+行号"
72
93
 
73
94
  ## CON-09: CompletableFuture 未处理异常
74
95
  pattern: /CompletableFuture.*(?:thenApply|thenAccept|thenCompose)\s*\(/
75
96
  severity: warning
97
+ check_type: deterministic
76
98
  scope: backend
77
99
  description: CompletableFuture 链必须以 exceptionally() 或 handle() 结尾,防止异常被静默吞掉
100
+ evidence_required:
101
+ - "扫描结果:含 CompletableFuture 的文件路径+行号"
102
+ - "异常处理链确认"
78
103
 
79
104
  ## CON-10: 线程池未正确配置拒绝策略
80
105
  pattern: /new\s+ThreadPoolExecutor\s*\(/
81
106
  severity: warning
107
+ check_type: deterministic
82
108
  scope: backend
83
109
  description: 线程池必须显式配置拒绝策略(CallerRunsPolicy/自定义),禁止使用默认 AbortPolicy
110
+ evidence_required:
111
+ - "扫描结果:含线程池创建的文件路径+行号"
112
+ - "拒绝策略配置确认"