soloforge 1.1.37 → 1.1.38

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 (828) hide show
  1. package/README.md +6 -6
  2. package/dist/adapters/claude_code/claude_md.js +2 -2
  3. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  4. package/dist/adapters/codex/codex_rules.js +1 -1
  5. package/dist/adapters/codex/codex_rules.js.map +1 -1
  6. package/dist/adapters/shared/workflow_template.js +1 -1
  7. package/dist/adapters/trae/trae_rules.js +1 -1
  8. package/dist/adapters/trae/trae_rules.js.map +1 -1
  9. package/dist/bin/commands/audit.js +1 -1
  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 +19 -1
  13. package/dist/bin/commands/check_bash.js.map +1 -1
  14. package/dist/bin/commands/check_write.d.ts.map +1 -1
  15. package/dist/bin/commands/check_write.js +115 -2
  16. package/dist/bin/commands/check_write.js.map +1 -1
  17. package/dist/bin/commands/sync.js +3 -3
  18. package/dist/bin/commands/sync.js.map +1 -1
  19. package/dist/bin/commands/validate.d.ts.map +1 -1
  20. package/dist/bin/commands/validate.js +24 -5
  21. package/dist/bin/commands/validate.js.map +1 -1
  22. package/dist/engine/adapter_prompt_contract.d.ts +1 -1
  23. package/dist/engine/adapter_prompt_contract.d.ts.map +1 -1
  24. package/dist/engine/adapter_prompt_contract.js +1 -1
  25. package/dist/engine/adapter_prompt_contract.js.map +1 -1
  26. package/dist/engine/audit/audit_sampler.d.ts +1 -1
  27. package/dist/engine/audit/confidence_scorer.d.ts +16 -0
  28. package/dist/engine/audit/confidence_scorer.d.ts.map +1 -1
  29. package/dist/engine/audit/confidence_scorer.js +19 -0
  30. package/dist/engine/audit/confidence_scorer.js.map +1 -1
  31. package/dist/engine/audit/core_engineering_principles.d.ts +4 -4
  32. package/dist/engine/audit/core_engineering_principles.d.ts.map +1 -1
  33. package/dist/engine/audit/core_engineering_principles.js +18 -21
  34. package/dist/engine/audit/core_engineering_principles.js.map +1 -1
  35. package/dist/engine/audit/core_experience_principle.js +3 -3
  36. package/dist/engine/audit/core_experience_principle.js.map +1 -1
  37. package/dist/engine/audit/debt_reporter.d.ts +1 -1
  38. package/dist/engine/audit/debugger.d.ts +1 -1
  39. package/dist/engine/audit/delivery_readiness.d.ts +2 -2
  40. package/dist/engine/audit/delivery_readiness.js +2 -2
  41. package/dist/engine/audit/diagnostic_registry.js +4 -4
  42. package/dist/engine/audit/diagnostic_registry.js.map +1 -1
  43. package/dist/engine/audit/observability.d.ts +1 -1
  44. package/dist/engine/audit/observability.js +1 -1
  45. package/dist/engine/audit/risk_sampler.d.ts +1 -1
  46. package/dist/engine/audit/risk_sampler.js +1 -1
  47. package/dist/engine/audit/semantic_evidence.d.ts +1 -1
  48. package/dist/engine/audit/semantic_evidence.js +1 -1
  49. package/dist/engine/audit/test_generator.js +1 -1
  50. package/dist/engine/audit/test_quality.d.ts +1 -1
  51. package/dist/engine/audit/test_quality.js +1 -1
  52. package/dist/engine/config/regression_matrix.d.ts.map +1 -1
  53. package/dist/engine/config/regression_matrix.js +9 -35
  54. package/dist/engine/config/regression_matrix.js.map +1 -1
  55. package/dist/engine/contracts/architecture_decision_workshop.d.ts +1 -1
  56. package/dist/engine/contracts/architecture_decision_workshop.js +1 -1
  57. package/dist/engine/contracts/capability_registry.d.ts.map +1 -1
  58. package/dist/engine/contracts/capability_registry.js +4 -5
  59. package/dist/engine/contracts/capability_registry.js.map +1 -1
  60. package/dist/engine/contracts/code_maintainability_observability_contract.js +2 -2
  61. package/dist/engine/contracts/code_maintainability_observability_contract.js.map +1 -1
  62. package/dist/engine/contracts/command_execution_contract.d.ts +1 -1
  63. package/dist/engine/contracts/command_execution_contract.js +3 -3
  64. package/dist/engine/contracts/command_execution_contract.js.map +1 -1
  65. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js +12 -12
  66. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js.map +1 -1
  67. package/dist/engine/contracts/control_plane_contract.d.ts.map +1 -1
  68. package/dist/engine/contracts/control_plane_contract.js +27 -13
  69. package/dist/engine/contracts/control_plane_contract.js.map +1 -1
  70. package/dist/engine/contracts/decision_contract.d.ts +1 -1
  71. package/dist/engine/contracts/decision_contract.js +1 -1
  72. package/dist/engine/contracts/decision_workshop.d.ts +1 -3
  73. package/dist/engine/contracts/decision_workshop.d.ts.map +1 -1
  74. package/dist/engine/contracts/decision_workshop.js.map +1 -1
  75. package/dist/engine/contracts/design_lifecycle_contract.d.ts +2 -2
  76. package/dist/engine/contracts/design_lifecycle_contract.d.ts.map +1 -1
  77. package/dist/engine/contracts/design_lifecycle_contract.js +12 -12
  78. package/dist/engine/contracts/design_lifecycle_contract.js.map +1 -1
  79. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js +11 -11
  80. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js.map +1 -1
  81. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js +3 -3
  82. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js.map +1 -1
  83. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.d.ts.map +1 -1
  84. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js +68 -28
  85. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js.map +1 -1
  86. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js +11 -11
  87. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js.map +1 -1
  88. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js +10 -10
  89. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js.map +1 -1
  90. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js +8 -8
  91. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js.map +1 -1
  92. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js +18 -18
  93. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js.map +1 -1
  94. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js +12 -12
  95. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js.map +1 -1
  96. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js +2 -2
  97. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.d.ts.map +1 -1
  98. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js +4 -3
  99. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js.map +1 -1
  100. package/dist/engine/contracts/enforcement_guard.d.ts +1 -1
  101. package/dist/engine/contracts/enforcement_guard.js +3 -3
  102. package/dist/engine/contracts/enforcement_guard.js.map +1 -1
  103. package/dist/engine/contracts/evolution_regression_gate.d.ts +1 -1
  104. package/dist/engine/contracts/evolution_regression_gate.js +1 -1
  105. package/dist/engine/contracts/instruction_contract.js +1 -1
  106. package/dist/engine/contracts/instruction_contract.js.map +1 -1
  107. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts +2 -2
  108. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
  109. package/dist/engine/contracts/lifecycle_knowledge_contract.js +10 -10
  110. package/dist/engine/contracts/lifecycle_knowledge_contract.js.map +1 -1
  111. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +1 -1
  112. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js +18 -17
  113. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js.map +1 -1
  114. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js +30 -30
  115. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js.map +1 -1
  116. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +3 -2
  117. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +1 -1
  118. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js +75 -52
  119. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js.map +1 -1
  120. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js +20 -20
  121. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js.map +1 -1
  122. package/dist/engine/contracts/mechanism_health_check.d.ts +1 -1
  123. package/dist/engine/contracts/mechanism_health_check.js +1 -1
  124. package/dist/engine/contracts/omission_scanner.d.ts +1 -1
  125. package/dist/engine/contracts/omission_scanner.js +1 -1
  126. package/dist/engine/contracts/platform_context.d.ts +1 -1
  127. package/dist/engine/contracts/platform_context.js +1 -1
  128. package/dist/engine/contracts/project_knowledge_contract.d.ts +2 -2
  129. package/dist/engine/contracts/project_knowledge_contract.d.ts.map +1 -1
  130. package/dist/engine/contracts/project_knowledge_contract.js +6 -6
  131. package/dist/engine/contracts/project_knowledge_contract.js.map +1 -1
  132. package/dist/engine/contracts/state_machine_contracts.d.ts +17 -0
  133. package/dist/engine/contracts/state_machine_contracts.d.ts.map +1 -0
  134. package/dist/engine/contracts/state_machine_contracts.js +97 -0
  135. package/dist/engine/contracts/state_machine_contracts.js.map +1 -0
  136. package/dist/engine/contracts/technology_decision.d.ts +18 -0
  137. package/dist/engine/contracts/technology_decision.d.ts.map +1 -1
  138. package/dist/engine/contracts/technology_decision.js +38 -0
  139. package/dist/engine/contracts/technology_decision.js.map +1 -1
  140. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts +2 -3
  141. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  142. package/dist/engine/contracts/tool_invocation_contract_registry.js +163 -186
  143. package/dist/engine/contracts/tool_invocation_contract_registry.js.map +1 -1
  144. package/dist/engine/contracts/user_feedback_contract.d.ts +1 -1
  145. package/dist/engine/contracts/user_feedback_contract.d.ts.map +1 -1
  146. package/dist/engine/contracts/user_feedback_contract.js +6 -9
  147. package/dist/engine/contracts/user_feedback_contract.js.map +1 -1
  148. package/dist/engine/contracts/workflow_template_pack.d.ts +1 -1
  149. package/dist/engine/contracts/workflow_template_pack.js +5 -5
  150. package/dist/engine/contracts/workflow_template_pack.js.map +1 -1
  151. package/dist/engine/core/debug_log.d.ts +1 -1
  152. package/dist/engine/core/debug_log.js +1 -1
  153. package/dist/engine/knowledge/knowledge_asset_audit.d.ts.map +1 -1
  154. package/dist/engine/knowledge/knowledge_asset_audit.js +4 -2
  155. package/dist/engine/knowledge/knowledge_asset_audit.js.map +1 -1
  156. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts +21 -20
  157. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts.map +1 -1
  158. package/dist/engine/knowledge/knowledge_asset_consumer.js +24 -22
  159. package/dist/engine/knowledge/knowledge_asset_consumer.js.map +1 -1
  160. package/dist/engine/knowledge/knowledge_asset_migration.js +1 -1
  161. package/dist/engine/knowledge/knowledge_asset_migration.js.map +1 -1
  162. package/dist/engine/knowledge/knowledge_asset_schema.d.ts +2 -1
  163. package/dist/engine/knowledge/knowledge_asset_schema.d.ts.map +1 -1
  164. package/dist/engine/knowledge/knowledge_asset_schema.js +25 -7
  165. package/dist/engine/knowledge/knowledge_asset_schema.js.map +1 -1
  166. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts +3 -3
  167. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts.map +1 -1
  168. package/dist/engine/knowledge/knowledge_consumption_snapshot.js +5 -5
  169. package/dist/engine/knowledge/knowledge_consumption_snapshot.js.map +1 -1
  170. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts +36 -5
  171. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -1
  172. package/dist/engine/knowledge/knowledge_injection_boundary.js +88 -37
  173. package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -1
  174. package/dist/engine/knowledge/knowledge_scenario_registry.js +1 -1
  175. package/dist/engine/knowledge/knowledge_scenario_registry.js.map +1 -1
  176. package/dist/engine/knowledge/knowledge_writer.js +3 -3
  177. package/dist/engine/knowledge/knowledge_writer.js.map +1 -1
  178. package/dist/engine/knowledge/language_policy.d.ts +2 -2
  179. package/dist/engine/knowledge/language_policy.js +2 -2
  180. package/dist/engine/onboarding.d.ts +1 -1
  181. package/dist/engine/onboarding.js +2 -2
  182. package/dist/engine/onboarding.js.map +1 -1
  183. package/dist/engine/pipeline/artifact_aliases.d.ts +19 -0
  184. package/dist/engine/pipeline/artifact_aliases.d.ts.map +1 -0
  185. package/dist/engine/pipeline/artifact_aliases.js +39 -0
  186. package/dist/engine/pipeline/artifact_aliases.js.map +1 -0
  187. package/dist/engine/pipeline/input_material_extractor.d.ts +1 -1
  188. package/dist/engine/pipeline/input_material_extractor.d.ts.map +1 -1
  189. package/dist/engine/pipeline/intent_expander/helpers.d.ts +15 -29
  190. package/dist/engine/pipeline/intent_expander/helpers.d.ts.map +1 -1
  191. package/dist/engine/pipeline/intent_expander/helpers.js +15 -158
  192. package/dist/engine/pipeline/intent_expander/helpers.js.map +1 -1
  193. package/dist/engine/pipeline/intent_expander/index.d.ts +1 -2
  194. package/dist/engine/pipeline/intent_expander/index.d.ts.map +1 -1
  195. package/dist/engine/pipeline/intent_expander/index.js +1 -3
  196. package/dist/engine/pipeline/intent_expander/index.js.map +1 -1
  197. package/dist/engine/pipeline/intent_expander/knowledge.d.ts +4 -13
  198. package/dist/engine/pipeline/intent_expander/knowledge.d.ts.map +1 -1
  199. package/dist/engine/pipeline/intent_expander/knowledge.js +4 -168
  200. package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -1
  201. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts +7 -5
  202. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts.map +1 -1
  203. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js +84 -30
  204. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js.map +1 -1
  205. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts +13 -100
  206. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts.map +1 -1
  207. package/dist/engine/pipeline/intent_expander/privacy_gates.js +18 -268
  208. package/dist/engine/pipeline/intent_expander/privacy_gates.js.map +1 -1
  209. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts +9 -5
  210. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts.map +1 -1
  211. package/dist/engine/pipeline/intent_expander/scope_acceptance.js +13 -31
  212. package/dist/engine/pipeline/intent_expander/scope_acceptance.js.map +1 -1
  213. package/dist/engine/pipeline/intent_expander/templates.d.ts +1 -1
  214. package/dist/engine/pipeline/intent_expander/templates.d.ts.map +1 -1
  215. package/dist/engine/pipeline/intent_expander/types.d.ts +0 -2
  216. package/dist/engine/pipeline/intent_expander/types.d.ts.map +1 -1
  217. package/dist/engine/pipeline/intent_expander.d.ts +5 -3
  218. package/dist/engine/pipeline/intent_expander.d.ts.map +1 -1
  219. package/dist/engine/pipeline/intent_expander.js +4 -3
  220. package/dist/engine/pipeline/intent_expander.js.map +1 -1
  221. package/dist/engine/pipeline/job_manager.d.ts +1 -1
  222. package/dist/engine/pipeline/job_manager.js +1 -1
  223. package/dist/engine/pipeline/prompt_template_resolver.d.ts +13 -0
  224. package/dist/engine/pipeline/prompt_template_resolver.d.ts.map +1 -0
  225. package/dist/engine/pipeline/prompt_template_resolver.js +25 -0
  226. package/dist/engine/pipeline/prompt_template_resolver.js.map +1 -0
  227. package/dist/engine/pipeline/rollback_router.d.ts +1 -1
  228. package/dist/engine/pipeline/rollback_router.d.ts.map +1 -1
  229. package/dist/engine/pipeline/scope_resolver.d.ts +9 -2
  230. package/dist/engine/pipeline/scope_resolver.d.ts.map +1 -1
  231. package/dist/engine/pipeline/scope_resolver.js +29 -15
  232. package/dist/engine/pipeline/scope_resolver.js.map +1 -1
  233. package/dist/engine/pipeline/slice_executor.d.ts +5 -1
  234. package/dist/engine/pipeline/slice_executor.d.ts.map +1 -1
  235. package/dist/engine/pipeline/slice_executor.js +4 -1
  236. package/dist/engine/pipeline/slice_executor.js.map +1 -1
  237. package/dist/engine/pipeline/state_machine/audit_logger.d.ts +42 -0
  238. package/dist/engine/pipeline/state_machine/audit_logger.d.ts.map +1 -0
  239. package/dist/engine/pipeline/state_machine/audit_logger.js +65 -0
  240. package/dist/engine/pipeline/state_machine/audit_logger.js.map +1 -0
  241. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts +51 -0
  242. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts.map +1 -0
  243. package/dist/engine/pipeline/state_machine/capability_safety_valve.js +131 -0
  244. package/dist/engine/pipeline/state_machine/capability_safety_valve.js.map +1 -0
  245. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts +92 -0
  246. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts.map +1 -0
  247. package/dist/engine/pipeline/state_machine/certainty_gate.js +317 -0
  248. package/dist/engine/pipeline/state_machine/certainty_gate.js.map +1 -0
  249. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts +50 -0
  250. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts.map +1 -0
  251. package/dist/engine/pipeline/state_machine/command_state_verifier.js +160 -0
  252. package/dist/engine/pipeline/state_machine/command_state_verifier.js.map +1 -0
  253. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts +58 -0
  254. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts.map +1 -0
  255. package/dist/engine/pipeline/state_machine/hook_classifier.js +123 -0
  256. package/dist/engine/pipeline/state_machine/hook_classifier.js.map +1 -0
  257. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts +33 -0
  258. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts.map +1 -0
  259. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js +72 -0
  260. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js.map +1 -0
  261. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts +21 -0
  262. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts.map +1 -0
  263. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js +33 -0
  264. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js.map +1 -0
  265. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts +154 -0
  266. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts.map +1 -0
  267. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js +1089 -0
  268. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js.map +1 -0
  269. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts +34 -0
  270. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts.map +1 -0
  271. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js +152 -0
  272. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js.map +1 -0
  273. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts +28 -0
  274. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts.map +1 -0
  275. package/dist/engine/pipeline/state_machine/route_usage_stats.js +76 -0
  276. package/dist/engine/pipeline/state_machine/route_usage_stats.js.map +1 -0
  277. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts +22 -0
  278. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts.map +1 -0
  279. package/dist/engine/pipeline/state_machine/sf_command_parser.js +170 -0
  280. package/dist/engine/pipeline/state_machine/sf_command_parser.js.map +1 -0
  281. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts +38 -0
  282. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts.map +1 -0
  283. package/dist/engine/pipeline/state_machine/stage_command_registry.js +218 -0
  284. package/dist/engine/pipeline/state_machine/stage_command_registry.js.map +1 -0
  285. package/dist/engine/pipeline/state_machine/stage_executor.d.ts +37 -0
  286. package/dist/engine/pipeline/state_machine/stage_executor.d.ts.map +1 -0
  287. package/dist/engine/pipeline/state_machine/stage_executor.js +67 -0
  288. package/dist/engine/pipeline/state_machine/stage_executor.js.map +1 -0
  289. package/dist/engine/pipeline/state_machine/state_migrator.d.ts +21 -0
  290. package/dist/engine/pipeline/state_machine/state_migrator.d.ts.map +1 -0
  291. package/dist/engine/pipeline/state_machine/state_migrator.js +130 -0
  292. package/dist/engine/pipeline/state_machine/state_migrator.js.map +1 -0
  293. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts +48 -0
  294. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts.map +1 -0
  295. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js +566 -0
  296. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js.map +1 -0
  297. package/dist/engine/pipeline/state_machine/static_route_table.d.ts +36 -0
  298. package/dist/engine/pipeline/state_machine/static_route_table.d.ts.map +1 -0
  299. package/dist/engine/pipeline/state_machine/static_route_table.js +112 -0
  300. package/dist/engine/pipeline/state_machine/static_route_table.js.map +1 -0
  301. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts +45 -0
  302. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts.map +1 -0
  303. package/dist/engine/pipeline/state_machine/strong_confirmation.js +57 -0
  304. package/dist/engine/pipeline/state_machine/strong_confirmation.js.map +1 -0
  305. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts +55 -0
  306. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts.map +1 -0
  307. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js +48 -0
  308. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js.map +1 -0
  309. package/dist/engine/pipeline/task_context/manager.d.ts +3 -3
  310. package/dist/engine/pipeline/task_context/manager.d.ts.map +1 -1
  311. package/dist/engine/pipeline/task_context/manager.js +59 -9
  312. package/dist/engine/pipeline/task_context/manager.js.map +1 -1
  313. package/dist/engine/pipeline/task_context/status_transitions.d.ts +7 -2
  314. package/dist/engine/pipeline/task_context/status_transitions.d.ts.map +1 -1
  315. package/dist/engine/pipeline/task_context/status_transitions.js +9 -14
  316. package/dist/engine/pipeline/task_context/status_transitions.js.map +1 -1
  317. package/dist/engine/pipeline/task_planner.js +14 -8
  318. package/dist/engine/pipeline/task_planner.js.map +1 -1
  319. package/dist/engine/pipeline/task_stage_detector.d.ts +2 -0
  320. package/dist/engine/pipeline/task_stage_detector.d.ts.map +1 -1
  321. package/dist/engine/pipeline/task_stage_detector.js +23 -5
  322. package/dist/engine/pipeline/task_stage_detector.js.map +1 -1
  323. package/dist/engine/pipeline/workspace_lease.d.ts +1 -1
  324. package/dist/engine/pipeline/workspace_lease.js +1 -1
  325. package/dist/engine/pipeline/workspace_resumer.js +2 -2
  326. package/dist/engine/pipeline/workspace_resumer.js.map +1 -1
  327. package/dist/engine/release/foundation_scenario_registry.js +45 -45
  328. package/dist/engine/release/foundation_scenario_registry.js.map +1 -1
  329. package/dist/engine/release/foundation_scenario_runners.d.ts +3 -3
  330. package/dist/engine/release/foundation_scenario_runners.d.ts.map +1 -1
  331. package/dist/engine/release/foundation_scenario_runners.js +27 -485
  332. package/dist/engine/release/foundation_scenario_runners.js.map +1 -1
  333. package/dist/engine/release/gate_checks/checkControlPlaneTrust.d.ts.map +1 -1
  334. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js +23 -21
  335. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js.map +1 -1
  336. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.d.ts.map +1 -1
  337. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js +8 -9
  338. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js.map +1 -1
  339. package/dist/engine/release/gate_checks/checkMainlineConsumption.js +3 -3
  340. package/dist/engine/release/gate_checks/checkMainlineConsumption.js.map +1 -1
  341. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.d.ts.map +1 -1
  342. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js +8 -56
  343. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js.map +1 -1
  344. package/dist/engine/release/release_gate_scenario_registry.js +2 -2
  345. package/dist/engine/release/release_gate_scenario_registry.js.map +1 -1
  346. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js +39 -39
  347. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js.map +1 -1
  348. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js +19 -19
  349. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js.map +1 -1
  350. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js +60 -60
  351. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js.map +1 -1
  352. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.d.ts.map +1 -1
  353. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js +39 -43
  354. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js.map +1 -1
  355. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.d.ts.map +1 -1
  356. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js +20 -25
  357. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js.map +1 -1
  358. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js +15 -15
  359. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js.map +1 -1
  360. package/dist/engine/release/types.d.ts +2 -2
  361. package/dist/engine/release/types.d.ts.map +1 -1
  362. package/dist/engine/release/verifier.js +7 -7
  363. package/dist/engine/release/verifier.js.map +1 -1
  364. package/dist/engine/state_fact_classifier.d.ts +3 -3
  365. package/dist/engine/state_fact_classifier.js +4 -4
  366. package/dist/engine/state_fact_classifier.js.map +1 -1
  367. package/dist/engine/templates/asset_manifest.d.ts.map +1 -1
  368. package/dist/engine/templates/asset_manifest.js +18 -16
  369. package/dist/engine/templates/asset_manifest.js.map +1 -1
  370. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js +11 -11
  371. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js.map +1 -1
  372. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts +1 -1
  373. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts.map +1 -1
  374. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js +34 -10
  375. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js.map +1 -1
  376. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js +10 -10
  377. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js.map +1 -1
  378. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js +18 -18
  379. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js.map +1 -1
  380. package/dist/engine/templates/consumable_asset_registry/types.js +4 -4
  381. package/dist/engine/templates/consumable_asset_registry/types.js.map +1 -1
  382. package/dist/engine/templates/consumption_trace_store.d.ts +3 -3
  383. package/dist/engine/templates/consumption_trace_store.d.ts.map +1 -1
  384. package/dist/engine/templates/consumption_trace_store.js +4 -4
  385. package/dist/engine/templates/consumption_trace_store.js.map +1 -1
  386. package/dist/engine/templates/explicit_asset_registry/adapters.js +4 -4
  387. package/dist/engine/templates/explicit_asset_registry/adapters.js.map +1 -1
  388. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js +10 -10
  389. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js.map +1 -1
  390. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js +25 -25
  391. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js.map +1 -1
  392. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js +5 -5
  393. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js.map +1 -1
  394. package/dist/engine/templates/explicit_asset_registry/checklists.js +7 -7
  395. package/dist/engine/templates/explicit_asset_registry/contributing.js +1 -1
  396. package/dist/engine/templates/explicit_asset_registry/domain.js +9 -9
  397. package/dist/engine/templates/explicit_asset_registry/gates.js +20 -20
  398. package/dist/engine/templates/explicit_asset_registry/gates.js.map +1 -1
  399. package/dist/engine/templates/explicit_asset_registry/internal_patterns.js +27 -27
  400. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.d.ts.map +1 -1
  401. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js +42 -26
  402. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js.map +1 -1
  403. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js +20 -20
  404. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js.map +1 -1
  405. package/dist/engine/templates/explicit_asset_registry/patterns_part1.js +25 -25
  406. package/dist/engine/templates/explicit_asset_registry/patterns_part2.js +25 -25
  407. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js +2 -2
  408. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js.map +1 -1
  409. package/dist/engine/templates/explicit_asset_registry/procedures_part1.d.ts.map +1 -1
  410. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js +42 -26
  411. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js.map +1 -1
  412. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +13 -13
  413. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -1
  414. package/dist/engine/templates/explicit_asset_registry/profiles.js +3 -3
  415. package/dist/engine/templates/explicit_asset_registry/profiles.js.map +1 -1
  416. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js +9 -9
  417. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js.map +1 -1
  418. package/dist/engine/templates/explicit_asset_registry/rules_shared.js +16 -16
  419. package/dist/engine/templates/explicit_asset_registry/rules_shared.js.map +1 -1
  420. package/dist/engine/templates/explicit_asset_registry/scaffolds.js +22 -22
  421. package/dist/engine/templates/explicit_asset_registry/scaffolds.js.map +1 -1
  422. package/dist/engine/templates/explicit_asset_registry/types.d.ts +1 -1
  423. package/dist/engine/templates/observed_consumption.d.ts +2 -2
  424. package/dist/engine/templates/observed_consumption.d.ts.map +1 -1
  425. package/dist/engine/templates/observed_consumption.js +5 -22
  426. package/dist/engine/templates/observed_consumption.js.map +1 -1
  427. package/dist/engine/templates/scaffolder.js +8 -8
  428. package/dist/engine/templates/scaffolder.js.map +1 -1
  429. package/dist/engine/templates/standard_asset_contract.d.ts +5 -5
  430. package/dist/engine/templates/standard_asset_contract.d.ts.map +1 -1
  431. package/dist/engine/templates/standard_asset_contract.js +18 -18
  432. package/dist/engine/templates/standard_asset_contract.js.map +1 -1
  433. package/dist/engine/templates/standard_asset_coverage.js +12 -12
  434. package/dist/engine/templates/standard_asset_coverage.js.map +1 -1
  435. package/dist/engine/templates/template_asset_contract_registry.d.ts +2 -2
  436. package/dist/engine/templates/template_asset_contract_registry.js +23 -23
  437. package/dist/engine/templates/template_asset_contract_registry.js.map +1 -1
  438. package/dist/engine/templates/template_asset_visibility.d.ts +1 -1
  439. package/dist/engine/templates/template_asset_visibility.js +4 -4
  440. package/dist/engine/templates/template_asset_visibility.js.map +1 -1
  441. package/dist/engine/templates/template_init_sync.js +11 -11
  442. package/dist/engine/templates/template_init_sync.js.map +1 -1
  443. package/dist/engine/templates/template_manifest_io.js +6 -6
  444. package/dist/engine/templates/template_manifest_io.js.map +1 -1
  445. package/dist/engine/templates/template_mechanism_auditor.d.ts.map +1 -1
  446. package/dist/engine/templates/template_mechanism_auditor.js +6 -5
  447. package/dist/engine/templates/template_mechanism_auditor.js.map +1 -1
  448. package/dist/engine/templates/workflow_rule_generator.d.ts.map +1 -1
  449. package/dist/engine/templates/workflow_rule_generator.js +8 -10
  450. package/dist/engine/templates/workflow_rule_generator.js.map +1 -1
  451. package/dist/engine/workflow/index.d.ts +2 -2
  452. package/dist/engine/workflow/index.d.ts.map +1 -1
  453. package/dist/engine/workflow/index.js +1 -1
  454. package/dist/engine/workflow/index.js.map +1 -1
  455. package/dist/engine/workflow/next_action_planner.js +11 -9
  456. package/dist/engine/workflow/next_action_planner.js.map +1 -1
  457. package/dist/engine/workflow/workflow_contract_registry.d.ts +49 -31
  458. package/dist/engine/workflow/workflow_contract_registry.d.ts.map +1 -1
  459. package/dist/engine/workflow/workflow_contract_registry.js +81 -666
  460. package/dist/engine/workflow/workflow_contract_registry.js.map +1 -1
  461. package/dist/knowledge/index_manager.d.ts +1 -2
  462. package/dist/knowledge/index_manager.d.ts.map +1 -1
  463. package/dist/knowledge/index_manager.js +18 -49
  464. package/dist/knowledge/index_manager.js.map +1 -1
  465. package/dist/server/tools/cep_assessment.d.ts +1 -1
  466. package/dist/server/tools/cep_assessment.d.ts.map +1 -1
  467. package/dist/server/tools/cep_assessment.js +15 -6
  468. package/dist/server/tools/cep_assessment.js.map +1 -1
  469. package/dist/server/tools/gate_checks.js +3 -3
  470. package/dist/server/tools/gate_checks.js.map +1 -1
  471. package/dist/server/tools/index.d.ts.map +1 -1
  472. package/dist/server/tools/index.js +8 -29
  473. package/dist/server/tools/index.js.map +1 -1
  474. package/dist/server/tools/lazy_loaders.d.ts +0 -3
  475. package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
  476. package/dist/server/tools/lazy_loaders.js +0 -3
  477. package/dist/server/tools/lazy_loaders.js.map +1 -1
  478. package/dist/server/tools/middleware.d.ts.map +1 -1
  479. package/dist/server/tools/middleware.js +96 -134
  480. package/dist/server/tools/middleware.js.map +1 -1
  481. package/dist/server/tools/schemas.d.ts +2 -2
  482. package/dist/server/tools/schemas.js +5 -5
  483. package/dist/server/tools/schemas.js.map +1 -1
  484. package/dist/server/tools/tool_groups/admin.d.ts.map +1 -1
  485. package/dist/server/tools/tool_groups/admin.js +4 -107
  486. package/dist/server/tools/tool_groups/admin.js.map +1 -1
  487. package/dist/server/tools/tool_groups/auxiliary.d.ts.map +1 -1
  488. package/dist/server/tools/tool_groups/auxiliary.js +4 -21
  489. package/dist/server/tools/tool_groups/auxiliary.js.map +1 -1
  490. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts +0 -1
  491. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts.map +1 -1
  492. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js +5 -427
  493. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js.map +1 -1
  494. package/dist/server/tools/tool_groups/state_machine.d.ts +13 -0
  495. package/dist/server/tools/tool_groups/state_machine.d.ts.map +1 -0
  496. package/dist/server/tools/tool_groups/state_machine.js +422 -0
  497. package/dist/server/tools/tool_groups/state_machine.js.map +1 -0
  498. package/dist/server/tools/tool_names.d.ts +19 -19
  499. package/dist/server/tools/tool_names.d.ts.map +1 -1
  500. package/dist/server/tools/tool_names.js +23 -24
  501. package/dist/server/tools/tool_names.js.map +1 -1
  502. package/dist/types/dual_layer.d.ts +3 -3
  503. package/dist/types/index.d.ts +1 -0
  504. package/dist/types/index.d.ts.map +1 -1
  505. package/dist/types/index.js +1 -0
  506. package/dist/types/index.js.map +1 -1
  507. package/dist/types/pipeline.d.ts +17 -7
  508. package/dist/types/pipeline.d.ts.map +1 -1
  509. package/dist/types/pipeline.js +4 -0
  510. package/dist/types/pipeline.js.map +1 -1
  511. package/dist/types/state_machine.d.ts +344 -0
  512. package/dist/types/state_machine.d.ts.map +1 -0
  513. package/dist/types/state_machine.js +47 -0
  514. package/dist/types/state_machine.js.map +1 -0
  515. package/dist/types/task.d.ts +11 -10
  516. package/dist/types/task.d.ts.map +1 -1
  517. package/package.json +1 -1
  518. 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 +0 -2
  519. 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 +0 -2
  520. 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 +0 -2
  521. 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 +0 -2
  522. 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 +0 -2
  523. 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 +0 -2
  524. 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 +0 -2
  525. 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 +0 -2
  526. 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 +0 -2
  527. package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +0 -2
  528. 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 +0 -2
  529. package/templates/artifacts/shared/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
  530. package/templates/artifacts/shared/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +0 -3
  531. package/templates/artifacts/shared/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +0 -2
  532. 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 +0 -2
  533. 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 +0 -1
  534. package/templates/artifacts/shared//345/210/207/347/211/207/350/256/241/345/210/222/346/250/241/347/211/210.md +0 -3
  535. 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 +0 -2
  536. package/templates/artifacts/shared//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +0 -2
  537. package/templates/artifacts/shared//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
  538. 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 +0 -1
  539. package/templates/artifacts/shared//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +0 -2
  540. package/templates/artifacts/shared//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -2
  541. package/templates/artifacts/shared//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
  542. 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 +0 -2
  543. 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 +0 -2
  544. package/templates/artifacts/shared//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +0 -2
  545. 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 +0 -2
  546. 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 +0 -2
  547. 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 +0 -2
  548. package/templates/artifacts/shared//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -2
  549. package/templates/artifacts/shared//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +0 -2
  550. 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 +0 -1
  551. package/templates/artifacts/shared//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -2
  552. package/templates/artifacts/shared//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +0 -2
  553. 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 +0 -2
  554. package/templates/artifacts/shared//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
  555. package/templates/artifacts/shared//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
  556. 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 +0 -1
  557. 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 +0 -1
  558. package/templates/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -1
  559. 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 +0 -1
  560. 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 +0 -1
  561. 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 +0 -1
  562. package/templates/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +0 -1
  563. package/templates/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
  564. package/templates/domain//345/244/232/347/247/237/346/210/267.md +0 -2
  565. package/templates/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -2
  566. package/templates/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +0 -2
  567. package/templates/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -2
  568. package/templates/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -2
  569. package/templates/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +0 -2
  570. package/templates/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -2
  571. package/templates/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -2
  572. package/templates/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +0 -2
  573. package/templates/internal/patterns/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -2
  574. 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 +0 -2
  575. package/templates/internal/patterns/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -2
  576. package/templates/internal/patterns/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -2
  577. package/templates/internal/patterns//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +0 -2
  578. 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 +0 -2
  579. package/templates/internal/patterns//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -2
  580. 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 +0 -2
  581. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -2
  582. package/templates/internal/patterns//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -2
  583. package/templates/internal/patterns//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -2
  584. 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 +0 -2
  585. package/templates/internal/patterns//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -2
  586. package/templates/internal/patterns//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -2
  587. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -2
  588. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -2
  589. package/templates/internal/patterns//345/271/266/345/217/221/351/224/201.md +0 -2
  590. package/templates/internal/patterns//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +1 -3
  591. package/templates/internal/patterns//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -2
  592. package/templates/internal/patterns//346/250/241/347/211/210Frontmatter/350/247/243/346/236/220.md +0 -2
  593. 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 +0 -2
  594. package/templates/internal/patterns//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -2
  595. package/templates/internal/patterns//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -2
  596. package/templates/internal/patterns//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -2
  597. package/templates/internal/patterns//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -2
  598. package/templates/internal/patterns//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -2
  599. package/templates/internal/patterns//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -2
  600. package/templates/internal/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +0 -1
  601. package/templates/internal/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -2
  602. 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 +0 -1
  603. 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 -1
  604. 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 -1
  605. package/templates/internal/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +0 -1
  606. package/templates/internal/rules//345/221/275/344/273/244/350/267/257/347/224/261/350/247/204/345/210/231.md +36 -0
  607. 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 +0 -1
  608. 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 +6 -7
  609. 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 -1
  610. package/templates/internal/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +0 -1
  611. package/templates/internal/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +4 -3
  612. 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 +3 -4
  613. 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 -1
  614. 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 -1
  615. 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 +0 -1
  616. 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 -1
  617. package/templates/internal/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -1
  618. 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 -1
  619. 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 +0 -2
  620. 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 +2 -6
  621. package/templates/internal/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -1
  622. 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 +0 -1
  623. package/templates/internal/rules//346/250/241/347/211/210Frontmatter/350/247/204/350/214/203.md +2 -3
  624. 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 -4
  625. 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 +0 -1
  626. 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 -1
  627. 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 +3 -4
  628. package/templates/internal/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -1
  629. 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 +0 -1
  630. 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 -2
  631. 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 -1
  632. package/templates/internal/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +0 -1
  633. 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 -1
  634. 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 +0 -5
  635. 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 +0 -3
  636. 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 -1
  637. 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 -1
  638. 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 +0 -1
  639. 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 -4
  640. 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 +0 -1
  641. 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 +0 -2
  642. 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 +0 -1
  643. 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 +0 -1
  644. 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 +2 -3
  645. package/templates/internal/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
  646. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
  647. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +0 -2
  648. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +0 -2
  649. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +0 -2
  650. package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +0 -2
  651. package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +0 -2
  652. package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
  653. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +0 -2
  654. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +0 -2
  655. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +0 -2
  656. package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
  657. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +0 -2
  658. package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
  659. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +0 -2
  660. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +0 -2
  661. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +0 -2
  662. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +0 -2
  663. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +0 -2
  664. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -2
  665. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +0 -2
  666. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +0 -2
  667. 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 +0 -2
  668. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +0 -2
  669. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +0 -2
  670. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +0 -2
  671. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +0 -2
  672. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +0 -2
  673. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +0 -2
  674. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +0 -2
  675. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -2
  676. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +0 -2
  677. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +0 -2
  678. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +0 -2
  679. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +0 -2
  680. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +0 -2
  681. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +0 -2
  682. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +0 -2
  683. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +0 -2
  684. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +0 -2
  685. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +0 -2
  686. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +0 -2
  687. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +0 -2
  688. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +0 -2
  689. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +0 -2
  690. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +0 -2
  691. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +0 -2
  692. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
  693. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -2
  694. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +0 -2
  695. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +0 -2
  696. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +0 -2
  697. 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 +0 -2
  698. package/templates/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +0 -3
  699. package/templates/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +4 -6
  700. 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 +0 -2
  701. package/templates/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +0 -2
  702. package/templates/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +0 -2
  703. package/templates/procedures//344/274/232/350/257/235/346/201/242/345/244/215/346/265/201/347/250/213.md +0 -3
  704. 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 +1 -2
  705. package/templates/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +0 -2
  706. 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 +0 -3
  707. package/templates/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +0 -2
  708. package/templates/procedures//345/221/275/344/273/244/350/267/257/347/224/261/346/265/201/347/250/213.md +38 -0
  709. 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 +3 -5
  710. package/templates/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +0 -2
  711. package/templates/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +3 -5
  712. package/templates/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +3 -3
  713. 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 +4 -6
  714. 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 +0 -2
  715. 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 +0 -2
  716. 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 +0 -2
  717. 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 +0 -2
  718. 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 +3 -5
  719. 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 +0 -2
  720. 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 +2 -4
  721. 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 +0 -2
  722. 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 +2 -4
  723. 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 +5 -7
  724. 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 +0 -2
  725. package/templates/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +1 -3
  726. 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 +0 -2
  727. package/templates/procedures//350/256/276/350/256/241/345/256/241/350/256/241/346/265/201/347/250/213.md +4 -6
  728. package/templates/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +0 -2
  729. package/templates/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +0 -2
  730. package/templates/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +3 -5
  731. package/templates/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +0 -2
  732. package/templates/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +3 -5
  733. package/templates/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +0 -2
  734. package/templates/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +2 -4
  735. package/templates/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -2
  736. 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 +0 -3
  737. package/templates/rules/existing-system//350/200/246/345/220/210/346/243/200/346/265/213/350/247/204/345/210/231.md +0 -3
  738. 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 +0 -2
  739. 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 +0 -2
  740. 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 +0 -3
  741. 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 +0 -2
  742. package/templates/rules/shared/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  743. 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 +0 -1
  744. 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 +0 -2
  745. 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 +0 -3
  746. 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 +0 -1
  747. 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 +0 -2
  748. 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 +0 -2
  749. package/templates/rules/shared//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  750. package/templates/rules/shared//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  751. package/templates/rules/shared//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  752. 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 +0 -2
  753. package/templates/rules/shared//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  754. 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 +0 -2
  755. package/templates/rules/shared//350/201/224/350/260/203/351/252/214/350/257/201/346/270/205/345/215/225.md +0 -2
  756. package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -1
  757. package/templates/rules/shared//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  758. 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 +1 -2
  759. 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 +0 -2
  760. package/templates//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -3
  761. package/dist/engine/contracts/route_decision_contract_verifier.d.ts +0 -44
  762. package/dist/engine/contracts/route_decision_contract_verifier.d.ts.map +0 -1
  763. package/dist/engine/contracts/route_decision_contract_verifier.js +0 -154
  764. package/dist/engine/contracts/route_decision_contract_verifier.js.map +0 -1
  765. package/dist/engine/pipeline/classifier.d.ts +0 -24
  766. package/dist/engine/pipeline/classifier.d.ts.map +0 -1
  767. package/dist/engine/pipeline/classifier.js +0 -211
  768. package/dist/engine/pipeline/classifier.js.map +0 -1
  769. package/dist/engine/pipeline/expand_pipeline.d.ts +0 -122
  770. package/dist/engine/pipeline/expand_pipeline.d.ts.map +0 -1
  771. package/dist/engine/pipeline/expand_pipeline.js +0 -141
  772. package/dist/engine/pipeline/expand_pipeline.js.map +0 -1
  773. package/dist/engine/pipeline/hook_context_types.d.ts +0 -66
  774. package/dist/engine/pipeline/hook_context_types.d.ts.map +0 -1
  775. package/dist/engine/pipeline/hook_context_types.js +0 -118
  776. package/dist/engine/pipeline/hook_context_types.js.map +0 -1
  777. package/dist/engine/pipeline/intent_expander/expand.d.ts +0 -16
  778. package/dist/engine/pipeline/intent_expander/expand.d.ts.map +0 -1
  779. package/dist/engine/pipeline/intent_expander/expand.js +0 -308
  780. package/dist/engine/pipeline/intent_expander/expand.js.map +0 -1
  781. package/dist/engine/pipeline/intent_route_scorer.d.ts +0 -45
  782. package/dist/engine/pipeline/intent_route_scorer.d.ts.map +0 -1
  783. package/dist/engine/pipeline/intent_route_scorer.js +0 -341
  784. package/dist/engine/pipeline/intent_route_scorer.js.map +0 -1
  785. package/dist/engine/pipeline/intent_router.d.ts +0 -153
  786. package/dist/engine/pipeline/intent_router.d.ts.map +0 -1
  787. package/dist/engine/pipeline/intent_router.js +0 -738
  788. package/dist/engine/pipeline/intent_router.js.map +0 -1
  789. package/dist/engine/pipeline/intent_signal_extractor.d.ts +0 -91
  790. package/dist/engine/pipeline/intent_signal_extractor.d.ts.map +0 -1
  791. package/dist/engine/pipeline/intent_signal_extractor.js +0 -370
  792. package/dist/engine/pipeline/intent_signal_extractor.js.map +0 -1
  793. package/dist/engine/pipeline/route_types.d.ts +0 -10
  794. package/dist/engine/pipeline/route_types.d.ts.map +0 -1
  795. package/dist/engine/pipeline/route_types.js +0 -9
  796. package/dist/engine/pipeline/route_types.js.map +0 -1
  797. package/dist/engine/pipeline/stage_gate_engine.d.ts +0 -34
  798. package/dist/engine/pipeline/stage_gate_engine.d.ts.map +0 -1
  799. package/dist/engine/pipeline/stage_gate_engine.js +0 -123
  800. package/dist/engine/pipeline/stage_gate_engine.js.map +0 -1
  801. package/dist/engine/pipeline/stage_prechecks.d.ts +0 -83
  802. package/dist/engine/pipeline/stage_prechecks.d.ts.map +0 -1
  803. package/dist/engine/pipeline/stage_prechecks.js +0 -199
  804. package/dist/engine/pipeline/stage_prechecks.js.map +0 -1
  805. package/dist/engine/workflow/legacy_type_migration.d.ts +0 -64
  806. package/dist/engine/workflow/legacy_type_migration.d.ts.map +0 -1
  807. package/dist/engine/workflow/legacy_type_migration.js +0 -233
  808. package/dist/engine/workflow/legacy_type_migration.js.map +0 -1
  809. package/dist/server/tools/tool_groups/classify_expand.d.ts +0 -3
  810. package/dist/server/tools/tool_groups/classify_expand.d.ts.map +0 -1
  811. package/dist/server/tools/tool_groups/classify_expand.js +0 -7
  812. package/dist/server/tools/tool_groups/classify_expand.js.map +0 -1
  813. package/dist/server/tools/tool_groups/classify_handler.d.ts +0 -3
  814. package/dist/server/tools/tool_groups/classify_handler.d.ts.map +0 -1
  815. package/dist/server/tools/tool_groups/classify_handler.js +0 -65
  816. package/dist/server/tools/tool_groups/classify_handler.js.map +0 -1
  817. package/dist/server/tools/tool_groups/expand_handler.d.ts +0 -3
  818. package/dist/server/tools/tool_groups/expand_handler.d.ts.map +0 -1
  819. package/dist/server/tools/tool_groups/expand_handler.js +0 -813
  820. package/dist/server/tools/tool_groups/expand_handler.js.map +0 -1
  821. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts +0 -4
  822. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts.map +0 -1
  823. package/dist/server/tools/tool_groups/status_plan_analyze_review.js +0 -421
  824. package/dist/server/tools/tool_groups/status_plan_analyze_review.js.map +0 -1
  825. package/dist/server/tools/tool_groups/verify_learn.d.ts +0 -3
  826. package/dist/server/tools/tool_groups/verify_learn.d.ts.map +0 -1
  827. package/dist/server/tools/tool_groups/verify_learn.js +0 -952
  828. package/dist/server/tools/tool_groups/verify_learn.js.map +0 -1
@@ -0,0 +1,317 @@
1
+ /**
2
+ * 三级确定性门禁 — 状态机阶段执行前检查。
3
+ *
4
+ * 第一级:输入完备性(知识覆盖 + 必需输入 + 生命周期知识门禁)
5
+ * 第二级:方案风险扫描(8 种风险模式 + mini-brainstorm 触发 + 计划前置门禁)
6
+ * 第三级:决策确认(人类确认级别 + 设计产物门禁)
7
+ */
8
+ import { findStageContract } from "../../workflow/workflow_contract_registry.js";
9
+ import { scanRiskPatterns, getRiskPatternDefinition } from "./risk_pattern_scanner.js";
10
+ import { hasWriteSideEffect } from "../../contracts/tool_invocation_contract_registry.js";
11
+ import { TOOL_DIAGNOSTIC_CODES } from "../../audit/diagnostic_registry.js";
12
+ // ═══════════════════════════════════════════
13
+ // 阶段门禁配置
14
+ // ═══════════════════════════════════════════
15
+ /** 每阶段知识命中最低要求 */
16
+ const MIN_KNOWLEDGE_HITS = {
17
+ "需求分析": 0,
18
+ "现有系统分析": 2,
19
+ "架构设计": 3,
20
+ "详细设计": 2,
21
+ "任务规划": 2,
22
+ "编码与单元测试": 1,
23
+ "代码审查": 1,
24
+ "联调验证": 1,
25
+ };
26
+ /** 命中 hard_fail 风险模式时触发 mini-brainstorm 的阶段 */
27
+ const BRAINSTORM_STAGES = new Set([
28
+ "编码与单元测试",
29
+ "架构设计",
30
+ ]);
31
+ /** 命中 hard_fail 风险模式时触发第一性原理的阶段 */
32
+ const FIRST_PRINCIPLES_STAGES = new Set([
33
+ "架构设计",
34
+ ]);
35
+ /**
36
+ * 评估三级确定性门禁。
37
+ *
38
+ * @param params - 门禁评估参数
39
+ * @returns 三级门禁结果
40
+ */
41
+ export function evaluateCertaintyGate(params) {
42
+ const { stage, knowledgeIndex, workDescription, pipelineState } = params;
43
+ // 获取阶段契约(传入或从注册表查找)
44
+ const stageContract = params.stageContract ?? findStageContract(stage);
45
+ if (!stageContract) {
46
+ // 无阶段契约时仅返回基本信息,不阻断
47
+ return {
48
+ level1: { passed: true, knowledge_hits: 0, min_required: 0, missing_inputs: [] },
49
+ level2: { passed: true, risk_patterns_hit: [], brainstorm_required: false, brainstorm_template: null, first_principles_required: false },
50
+ level3: { passed: true, confirmation_level: "auto_resolvable", pending_confirmations: [] },
51
+ overall_passed: true,
52
+ checks: [],
53
+ };
54
+ }
55
+ const minRequired = MIN_KNOWLEDGE_HITS[stage] ?? 1;
56
+ // ── 第一级:输入完备性 ──
57
+ const level1 = evaluateLevel1(stage, knowledgeIndex, stageContract, pipelineState, minRequired);
58
+ // ── 第二级:方案风险扫描 ──
59
+ const level2 = evaluateLevel2(stage, workDescription);
60
+ // ── 第三级:决策确认 ──
61
+ const level3 = evaluateLevel3(stageContract);
62
+ const overallPassed = level1.passed && level2.passed && level3.passed;
63
+ // 构建扁平 checks 数组
64
+ const checks = [
65
+ {
66
+ check_id: `gate-${stage}-knowledge-coverage`,
67
+ name_zh: "知识覆盖率",
68
+ passed: level1.knowledge_hits >= level1.min_required,
69
+ evidence: `命中 ${level1.knowledge_hits}/${level1.min_required}`,
70
+ blocking_reason: level1.knowledge_hits < level1.min_required ? "知识命中不足" : undefined,
71
+ fix_suggestion: level1.knowledge_hits < level1.min_required ? "补充阶段相关知识" : undefined,
72
+ },
73
+ {
74
+ check_id: `gate-${stage}-required-inputs`,
75
+ name_zh: "必需输入检查",
76
+ passed: level1.missing_inputs.length === 0,
77
+ evidence: level1.missing_inputs.length === 0 ? "全部输入已就绪" : `缺失: ${level1.missing_inputs.join(", ")}`,
78
+ blocking_reason: level1.missing_inputs.length > 0 ? `缺少输入: ${level1.missing_inputs.join(", ")}` : undefined,
79
+ fix_suggestion: level1.missing_inputs.length > 0 ? "先完成前置阶段的产出" : undefined,
80
+ },
81
+ {
82
+ check_id: `gate-${stage}-risk-patterns`,
83
+ name_zh: "风险模式扫描",
84
+ passed: level2.passed,
85
+ evidence: level2.risk_patterns_hit.length === 0 ? "无风险模式命中" : `命中: ${level2.risk_patterns_hit.join(", ")}`,
86
+ blocking_reason: !level2.passed ? `风险模式命中: ${level2.risk_patterns_hit.join(", ")}` : undefined,
87
+ fix_suggestion: !level2.passed ? "查看 brainstorm_template 中的建议" : undefined,
88
+ },
89
+ {
90
+ check_id: `gate-${stage}-confirmation-level`,
91
+ name_zh: "确认级别",
92
+ passed: true, // Phase 1 不阻断
93
+ evidence: `确认级别: ${level3.confirmation_level}`,
94
+ },
95
+ ];
96
+ return {
97
+ level1,
98
+ level2,
99
+ level3,
100
+ overall_passed: overallPassed,
101
+ block_reason: overallPassed ? undefined : buildBlockReason(level1, level2, level3),
102
+ checks,
103
+ };
104
+ }
105
+ // ═══════════════════════════════════════════
106
+ // 第一级:输入完备性
107
+ // ═══════════════════════════════════════════
108
+ function evaluateLevel1(stage, knowledgeIndex, stageContract, _pipelineState, minRequired) {
109
+ // 需求分析阶段无前置要求
110
+ if (stage === "需求分析") {
111
+ return { passed: true, knowledge_hits: 0, min_required: 0, missing_inputs: [] };
112
+ }
113
+ // 查询阶段相关知识的命中数量
114
+ let knowledgeHits = 0;
115
+ try {
116
+ const results = knowledgeIndex.query({ stages: [stage], limit: 100 });
117
+ knowledgeHits = results.length;
118
+ }
119
+ catch {
120
+ // 知识查询失败时降级:不因知识索引问题阻断执行
121
+ knowledgeHits = minRequired; // 假定满足最低要求
122
+ }
123
+ // 检查前置阶段的产出是否存在
124
+ const missingInputs = [];
125
+ if (stageContract.required_inputs.length > 0) {
126
+ for (const input of stageContract.required_inputs) {
127
+ // 简化检查:在 pipelineState.stages 的 outputs 中查找
128
+ const found = _pipelineState.stages.some((s) => s.status === "completed" && s.outputs.some((o) => o.includes(input)));
129
+ if (!found) {
130
+ missingInputs.push(input);
131
+ }
132
+ }
133
+ }
134
+ // 通过条件:知识命中 ≥ 最低要求 且 无缺失输入
135
+ const passed = knowledgeHits >= minRequired && missingInputs.length === 0;
136
+ return {
137
+ passed,
138
+ knowledge_hits: knowledgeHits,
139
+ min_required: minRequired,
140
+ missing_inputs: missingInputs,
141
+ };
142
+ }
143
+ // ═══════════════════════════════════════════
144
+ // 第二级:方案风险扫描
145
+ // ═══════════════════════════════════════════
146
+ function evaluateLevel2(stage, workDescription) {
147
+ const matches = scanRiskPatterns(workDescription);
148
+ const hardFailHits = matches.filter((m) => m.severity === "hard_fail");
149
+ const hitIds = matches.map((m) => m.pattern_id);
150
+ const brainstormRequired = hardFailHits.length > 0 && BRAINSTORM_STAGES.has(stage);
151
+ const firstPrinciplesRequired = hardFailHits.length > 0 && FIRST_PRINCIPLES_STAGES.has(stage);
152
+ // brainstorm 模板(仅在有 hard_fail 且阶段匹配时生成)
153
+ let brainstormTemplate = null;
154
+ if (brainstormRequired && hardFailHits.length > 0) {
155
+ const hit = hardFailHits[0];
156
+ const patternDef = getRiskPatternDefinition(hit.pattern_id);
157
+ brainstormTemplate = {
158
+ option_a: `采用默认策略:${hit.default_strategy_zh}`,
159
+ option_b: "自行设计方案,需说明理由",
160
+ default_strategy: hit.default_strategy_zh,
161
+ risk_pattern_id: hit.pattern_id,
162
+ pros: patternDef?.brainstorm_template?.pros ?? ["复用已验证策略"],
163
+ cons: patternDef?.brainstorm_template?.cons ?? ["需要评估适用性"],
164
+ failure_conditions: patternDef?.brainstorm_template?.failure_conditions ?? ["未覆盖所有边界情况"],
165
+ verification_method: patternDef?.brainstorm_template?.verification_method ?? "编写针对性测试验证",
166
+ };
167
+ }
168
+ // 通过条件:无 hard_fail 命中,或不属于 brainstorm 触发阶段
169
+ // 注意:hard_fail 命中时不阻断执行,而是标记 brainstorm_required
170
+ // 实际阻断逻辑由调用方(pipeline_state_machine)决定
171
+ const passed = hardFailHits.length === 0;
172
+ return {
173
+ passed,
174
+ risk_patterns_hit: hitIds,
175
+ brainstorm_required: brainstormRequired,
176
+ brainstorm_template: brainstormTemplate,
177
+ first_principles_required: firstPrinciplesRequired,
178
+ };
179
+ }
180
+ // ═══════════════════════════════════════════
181
+ // 第三级:决策确认
182
+ // ═══════════════════════════════════════════
183
+ function evaluateLevel3(stageContract) {
184
+ const humanGates = stageContract.human_gate;
185
+ if (!humanGates || humanGates.length === 0) {
186
+ return { passed: true, confirmation_level: "auto_resolvable", pending_confirmations: [] };
187
+ }
188
+ // 包含 "require_user_confirm" 关键词的门禁为 must_confirm
189
+ const mustConfirm = humanGates.filter((g) => g.includes("require_user_confirm") || g.includes("must_confirm"));
190
+ const shouldConfirm = humanGates.filter((g) => !g.includes("require_user_confirm") && !g.includes("must_confirm"));
191
+ const confirmationLevel = mustConfirm.length > 0 ? "must_confirm" : shouldConfirm.length > 0 ? "should_confirm" : "auto_resolvable";
192
+ // Phase 1:第三级门禁不阻断执行,仅记录待确认项
193
+ // Phase 2 将引入强制确认机制
194
+ const pendingConfirmations = [...mustConfirm, ...shouldConfirm];
195
+ return {
196
+ passed: true, // Phase 1 不阻断
197
+ confirmation_level: confirmationLevel,
198
+ pending_confirmations: pendingConfirmations,
199
+ };
200
+ }
201
+ // ═══════════════════════════════════════════
202
+ // 辅助函数
203
+ // ═══════════════════════════════════════════
204
+ function buildBlockReason(level1, _level2, _level3) {
205
+ const reasons = [];
206
+ if (!level1.passed) {
207
+ if (level1.missing_inputs.length > 0) {
208
+ reasons.push(`缺少必需输入: ${level1.missing_inputs.join(", ")}`);
209
+ }
210
+ if (level1.knowledge_hits < level1.min_required) {
211
+ reasons.push(`知识命中不足: ${level1.knowledge_hits}/${level1.min_required}`);
212
+ }
213
+ }
214
+ return reasons.length > 0 ? reasons.join("; ") : "门禁未通过";
215
+ }
216
+ /**
217
+ * 计划前置门禁 — 写操作前必须有 plan_proposal_gate。
218
+ *
219
+ * 迁移自 gate_checks.ts:checkWriteToolPlanGate,集成到确定性门禁第二级。
220
+ * middleware.ts 从此模块导入,不再依赖 gate_checks.ts。
221
+ */
222
+ export function evaluatePlanProposalGate(params) {
223
+ if (!hasWriteSideEffect(params.sideEffects))
224
+ return { allowed: true };
225
+ if (!params.ctx || !params.ctx.plan_proposal_gate) {
226
+ return {
227
+ allowed: false,
228
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.planGate,
229
+ violation_type: "guard_blocked",
230
+ reason: `工具 ${params.toolName} 执行前缺少 Plan Proposal Gate`,
231
+ };
232
+ }
233
+ return { allowed: true };
234
+ }
235
+ /**
236
+ * 设计产物编码门禁 — 依赖设计包的任务,在真实复验完成前不得写入业务实现。
237
+ *
238
+ * 迁移自 gate_checks.ts:checkDesignArtifactWriteGate,集成到确定性门禁第三级。
239
+ * 仅阻断文件/配置/外部交付写入;任务状态、设计文档复验和讨论本身仍可推进。
240
+ */
241
+ export function evaluateDesignArtifactGate(params) {
242
+ const implementationWrite = params.sideEffects.some((effect) => ["file_write", "config_write", "external_write", "git_commit", "git_push", "pr_create"].includes(effect));
243
+ if (!implementationWrite || !params.ctx?.design_artifact_pack)
244
+ return { allowed: true };
245
+ if (params.ctx.design_artifact_pack.status === "implementation_ready")
246
+ return { allowed: true };
247
+ return {
248
+ allowed: false,
249
+ diagnostic_code: "SF-DESIGN-PACK-NOT-READY",
250
+ reason: `工具 ${params.toolName} 依赖的设计产物包状态为 ${params.ctx.design_artifact_pack.status},未完成真实复验,不得写入实现或交付`,
251
+ };
252
+ }
253
+ /**
254
+ * 生命周期知识门禁 — 检查项目知识 hard rule 是否满足。
255
+ *
256
+ * 迁移自 lifecycle_knowledge_contract.ts:evaluateLifecycleKnowledgeDecision,
257
+ * 集成到确定性门禁第一级。sf_stage_execute/sf_gate_check/sf_stage_advance 必经此门。
258
+ */
259
+ export async function evaluateLifecycleKnowledgeGate(params) {
260
+ // 仅对管线核心工具执行
261
+ if (!["sf_stage_execute", "sf_gate_check", "sf_stage_advance"].includes(params.toolName)) {
262
+ return {
263
+ allowed: true, hard_fail_count: 0, findings: [],
264
+ decision_summary_zh: "非管线核心工具,跳过生命周期知识门禁",
265
+ recovery_commands: [], contract_id: "", lifecycle_stage: "",
266
+ authoritative_paths: [],
267
+ };
268
+ }
269
+ const { evaluateLifecycleKnowledgeDecision } = await import("../../contracts/lifecycle_knowledge_contract.js");
270
+ const lifecycleStage = params.toolName === "sf_stage_execute" ? "implementation"
271
+ : params.toolName === "sf_gate_check" ? "testing" : "delivery";
272
+ const lifecycleDecision = evaluateLifecycleKnowledgeDecision({
273
+ projectPath: params.projectPath,
274
+ consumer: params.toolName,
275
+ intent: params.ctx?.intent ?? params.toolName,
276
+ route: params.toolName === "sf_stage_execute" ? "review"
277
+ : params.toolName === "sf_gate_check" ? "verification" : "delivery",
278
+ lifecycle_stage: lifecycleStage,
279
+ changed_files: params.changedFiles ?? params.ctx?.execution?.changed_files ?? [],
280
+ verified_files: params.changedFiles ?? params.ctx?.execution?.changed_files ?? [],
281
+ traceability_ids: [
282
+ ...(params.ctx?.traceability_binding?.requirement_ids ?? []),
283
+ ...(params.ctx?.traceability_binding?.prototype_ids ?? []),
284
+ ...(params.ctx?.traceability_binding?.architecture_ids ?? []),
285
+ ...(params.ctx?.traceability_binding?.detail_design_ids ?? []),
286
+ ...(params.ctx?.traceability_binding?.phase_ids ?? []),
287
+ ...(params.ctx?.traceability_binding?.slice_ids ?? []),
288
+ ...(params.ctx?.traceability_binding?.acceptance_ids ?? []),
289
+ ],
290
+ config: params.config,
291
+ task_id: params.taskId,
292
+ require_design_audit: false,
293
+ enforce_control_plane: params.toolName !== "sf_stage_execute",
294
+ generation_traces: [
295
+ ...(params.ctx?.classification ? [{ tool_name: "sf_stage_execute", task_id: params.taskId, status: "passed", evidence_kind: "result" }] : []),
296
+ ...(params.ctx?.expansion ? [{ tool_name: "sf_stage_execute", task_id: params.taskId, status: "passed", evidence_kind: "result" }] : []),
297
+ ...(params.toolName === "sf_gate_check" ? [{ tool_name: "sf_gate_check", task_id: params.taskId, status: "blocked", evidence_kind: "plan" }] : []),
298
+ ],
299
+ selection_limit: 8,
300
+ });
301
+ const hardFindings = lifecycleDecision.findings
302
+ .filter((f) => f.severity === "hard_fail")
303
+ .map((f) => `[${f.code}] ${f.message_zh}`);
304
+ return {
305
+ allowed: lifecycleDecision.hard_fail_count === 0,
306
+ hard_fail_count: lifecycleDecision.hard_fail_count,
307
+ findings: hardFindings,
308
+ decision_summary_zh: lifecycleDecision.decision_summary_zh,
309
+ recovery_commands: lifecycleDecision.recovery_commands,
310
+ contract_id: lifecycleDecision.contract_id,
311
+ lifecycle_stage: lifecycleDecision.lifecycle_stage ?? "",
312
+ authoritative_paths: Object.values(lifecycleDecision.authoritative_paths).flat(),
313
+ };
314
+ }
315
+ // 重导出安全阀映射,供外部消费门禁→能力级别映射
316
+ export { GATE_CHECK_TO_CAPABILITY, applyCapabilitySafetyValve } from "./capability_safety_valve.js";
317
+ //# sourceMappingURL=certainty_gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certainty_gate.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/certainty_gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * 命令状态校验器 — 基于管线阶段校验命令合法性。
3
+ * 基于管线阶段而非路由决策进行命令合法性校验。
4
+ */
5
+ import type { TaskStage } from "../../workflow/workflow_navigation_contract.js";
6
+ /** 校验输入 */
7
+ export interface CommandStateVerifyInput {
8
+ /** 当前管线阶段 */
9
+ current_stage: TaskStage;
10
+ /** 目标阶段(推进/跳转时) */
11
+ target_stage?: TaskStage;
12
+ /** 工具名称 */
13
+ tool_name: string;
14
+ /** 是否有活跃管线 */
15
+ has_active_pipeline: boolean;
16
+ /** 操作类型 */
17
+ action: "execute" | "advance" | "rollback" | "gate_check" | "status" | "init" | "command" | "next";
18
+ }
19
+ /** 校验发现 */
20
+ export interface CommandStateVerifyFinding {
21
+ rule_id: string;
22
+ severity: "hard_fail" | "warning";
23
+ message_zh: string;
24
+ recovery?: string;
25
+ }
26
+ /** 校验结果 */
27
+ export interface CommandStateVerifyResult {
28
+ valid: boolean;
29
+ findings: CommandStateVerifyFinding[];
30
+ allowed_actions: string[];
31
+ blocked_reason_zh: string | null;
32
+ }
33
+ /**
34
+ * 校验命令状态合法性 — 11 条规则驱动。
35
+ *
36
+ * 11 条规则:
37
+ * 1. init 只能在无活跃管线时调用
38
+ * 2. execute/advance/rollback 需要 active pipeline
39
+ * 3. advance 目标必须是合法下一阶段
40
+ * 4. execute 只在 EXECUTION_ALLOWED_STAGES 阶段允许
41
+ * 5. rollback 目标必须是合法回退目标
42
+ * 6. gate_check 任何阶段都可调用
43
+ * 7. status/command/next 任何状态都可调用
44
+ * 8. 不能从联调验证推进(最终阶段)
45
+ * 9. 需求分析阶段不允许 rollback(起始阶段)
46
+ * 10. 编码与单元测试阶段必须有切片计划才能 execute
47
+ * 11. 非编码阶段不能执行源码修改操作
48
+ */
49
+ export declare function verifyCommandState(input: CommandStateVerifyInput): CommandStateVerifyResult;
50
+ //# sourceMappingURL=command_state_verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command_state_verifier.d.ts","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/command_state_verifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAGhF,WAAW;AACX,MAAM,WAAW,uBAAuB;IACtC,aAAa;IACb,aAAa,EAAE,SAAS,CAAC;IACzB,mBAAmB;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW;IACX,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CACpG;AAED,WAAW;AACX,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,WAAW;AACX,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAgCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CAwH3F"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * 命令状态校验器 — 基于管线阶段校验命令合法性。
3
+ * 基于管线阶段而非路由决策进行命令合法性校验。
4
+ */
5
+ import { debug } from "../../core/logger.js";
6
+ /** 合法阶段推进路径 */
7
+ const VALID_ADVANCE_PATHS = {
8
+ "需求分析": ["架构设计", "现有系统分析"],
9
+ "现有系统分析": ["架构设计"],
10
+ "架构设计": ["详细设计"],
11
+ "详细设计": ["任务规划"],
12
+ "任务规划": ["编码与单元测试"],
13
+ "编码与单元测试": ["代码审查"],
14
+ "代码审查": ["联调验证"],
15
+ "联调验证": [],
16
+ };
17
+ /** 允许执行(源码修改)的阶段 */
18
+ const EXECUTION_ALLOWED_STAGES = ["编码与单元测试"];
19
+ /** 允许回退的阶段 */
20
+ function getRollbackTargets(stage) {
21
+ const rollbackMap = {
22
+ "需求分析": [],
23
+ "现有系统分析": ["需求分析"],
24
+ "架构设计": ["需求分析"],
25
+ "详细设计": ["架构设计"],
26
+ "任务规划": [],
27
+ "编码与单元测试": ["详细设计"],
28
+ "代码审查": ["编码与单元测试"],
29
+ "联调验证": ["编码与单元测试", "架构设计"],
30
+ };
31
+ return rollbackMap[stage] ?? [];
32
+ }
33
+ /**
34
+ * 校验命令状态合法性 — 11 条规则驱动。
35
+ *
36
+ * 11 条规则:
37
+ * 1. init 只能在无活跃管线时调用
38
+ * 2. execute/advance/rollback 需要 active pipeline
39
+ * 3. advance 目标必须是合法下一阶段
40
+ * 4. execute 只在 EXECUTION_ALLOWED_STAGES 阶段允许
41
+ * 5. rollback 目标必须是合法回退目标
42
+ * 6. gate_check 任何阶段都可调用
43
+ * 7. status/command/next 任何状态都可调用
44
+ * 8. 不能从联调验证推进(最终阶段)
45
+ * 9. 需求分析阶段不允许 rollback(起始阶段)
46
+ * 10. 编码与单元测试阶段必须有切片计划才能 execute
47
+ * 11. 非编码阶段不能执行源码修改操作
48
+ */
49
+ export function verifyCommandState(input) {
50
+ const findings = [];
51
+ const allowedActions = [];
52
+ // 规则 7: status/command/next 始终允许
53
+ if (input.action === "status" || input.action === "command" || input.action === "next") {
54
+ return { valid: true, findings: [], allowed_actions: [input.action], blocked_reason_zh: null };
55
+ }
56
+ // 规则 6: gate_check 任何阶段都可调用
57
+ if (input.action === "gate_check") {
58
+ return { valid: true, findings: [], allowed_actions: ["gate_check"], blocked_reason_zh: null };
59
+ }
60
+ // 规则 1: init 只能在无活跃管线时调用
61
+ if (input.action === "init") {
62
+ if (input.has_active_pipeline) {
63
+ findings.push({
64
+ rule_id: "CMD-01",
65
+ severity: "hard_fail",
66
+ message_zh: "已有活跃管线,不能重复初始化。请先完成或归档当前管线。",
67
+ recovery: "[sf] 状态 查看当前管线,或 [sf] 归档 归档陈旧管线",
68
+ });
69
+ }
70
+ return { valid: findings.length === 0, findings, allowed_actions: ["init"], blocked_reason_zh: findings.length > 0 ? findings[0].message_zh : null };
71
+ }
72
+ // 规则 2: execute/advance/rollback 需要 active pipeline
73
+ if (!input.has_active_pipeline) {
74
+ findings.push({
75
+ rule_id: "CMD-02",
76
+ severity: "hard_fail",
77
+ message_zh: "无活跃管线,请先初始化。",
78
+ recovery: "[sf] 开始 <任务描述>",
79
+ });
80
+ return { valid: false, findings, allowed_actions: ["init"], blocked_reason_zh: findings[0].message_zh };
81
+ }
82
+ // 规则 3: advance 目标必须是合法下一阶段
83
+ if (input.action === "advance" && input.target_stage) {
84
+ const validTargets = VALID_ADVANCE_PATHS[input.current_stage] ?? [];
85
+ if (!validTargets.includes(input.target_stage)) {
86
+ findings.push({
87
+ rule_id: "CMD-03",
88
+ severity: "hard_fail",
89
+ message_zh: `阶段 ${input.current_stage} 不能推进到 ${input.target_stage}。合法目标: ${validTargets.join("、") || "无(最终阶段)"}`,
90
+ recovery: `[sf] 状态 查看当前阶段,[sf] 推进 推进到下一阶段`,
91
+ });
92
+ }
93
+ }
94
+ // 规则 4: execute 只在允许的阶段可用
95
+ if (input.action === "execute" && !EXECUTION_ALLOWED_STAGES.includes(input.current_stage)) {
96
+ findings.push({
97
+ rule_id: "CMD-04",
98
+ severity: "hard_fail",
99
+ message_zh: `阶段 ${input.current_stage} 不允许执行操作。允许执行阶段: ${EXECUTION_ALLOWED_STAGES.join("、")}`,
100
+ recovery: `[sf] 推进 推进到执行阶段`,
101
+ });
102
+ }
103
+ // 规则 5: rollback 目标必须是合法回退目标
104
+ if (input.action === "rollback" && input.target_stage) {
105
+ const rollbackTargets = getRollbackTargets(input.current_stage);
106
+ if (!rollbackTargets.includes(input.target_stage)) {
107
+ findings.push({
108
+ rule_id: "CMD-05",
109
+ severity: "hard_fail",
110
+ message_zh: `阶段 ${input.current_stage} 不能回退到 ${input.target_stage}。合法回退目标: ${rollbackTargets.join("、") || "无(起始阶段)"}`,
111
+ recovery: `[sf] 状态 查看合法回退路径`,
112
+ });
113
+ }
114
+ }
115
+ // 规则 8: 最终阶段不能推进
116
+ if (input.action === "advance" && input.current_stage === "联调验证") {
117
+ findings.push({
118
+ rule_id: "CMD-08",
119
+ severity: "warning",
120
+ message_zh: "联调验证是最终阶段,无法继续推进。",
121
+ recovery: "[sf] 状态 查看管线完成情况",
122
+ });
123
+ }
124
+ // 规则 9: 起始阶段不能回退
125
+ if (input.action === "rollback" && input.current_stage === "需求分析") {
126
+ findings.push({
127
+ rule_id: "CMD-09",
128
+ severity: "warning",
129
+ message_zh: "需求分析是起始阶段,无回退目标。",
130
+ });
131
+ }
132
+ // 规则 11: 非编码阶段不能执行源码修改
133
+ if (input.action === "execute" && input.tool_name && input.tool_name.includes("write") && !EXECUTION_ALLOWED_STAGES.includes(input.current_stage)) {
134
+ findings.push({
135
+ rule_id: "CMD-11",
136
+ severity: "hard_fail",
137
+ message_zh: `当前阶段 ${input.current_stage} 不允许源码修改。`,
138
+ recovery: `推进到编码阶段后再执行修改`,
139
+ });
140
+ }
141
+ // 计算允许的操作
142
+ allowedActions.push("status", "command", "next");
143
+ if (input.current_stage !== "联调验证")
144
+ allowedActions.push("advance");
145
+ if (getRollbackTargets(input.current_stage).length > 0)
146
+ allowedActions.push("rollback");
147
+ allowedActions.push("gate_check");
148
+ if (EXECUTION_ALLOWED_STAGES.includes(input.current_stage))
149
+ allowedActions.push("execute");
150
+ const hardFailFindings = findings.filter(f => f.severity === "hard_fail");
151
+ const result = {
152
+ valid: hardFailFindings.length === 0,
153
+ findings,
154
+ allowed_actions: allowedActions,
155
+ blocked_reason_zh: hardFailFindings.length > 0 ? hardFailFindings[0].message_zh : null,
156
+ };
157
+ debug("命令状态校验", "阶段=%s 动作=%s 有效=%s 发现=%d", input.current_stage, input.action, result.valid, findings.length);
158
+ return result;
159
+ }
160
+ //# sourceMappingURL=command_state_verifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command_state_verifier.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/command_state_verifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Hook 分类器 — pre-prompt Hook 三路分流核心模块。
3
+ *
4
+ * Phase 2 新增。确定性三路分流(替代旧 NLP 级联路由):
5
+ * - 路径 A: [sf] 命令 → 直接转发 sf_command
6
+ * - 路径 B: 开发关键词 → 注入翻译指令
7
+ * - 路径 C: 普通对话 → 不注入
8
+ *
9
+ * 纯函数(除 readPipelineStateSync 使用同步文件 I/O),零 MCP 依赖。
10
+ * 被 validate.ts (cmdPrePrompt)、check_write.ts (L1.5) 和测试文件导入。
11
+ */
12
+ import type { PipelineState } from "../../../types/state_machine.js";
13
+ /** 从管线状态提取的精简 Hook 上下文 */
14
+ export interface StageContext {
15
+ hasPipeline: boolean;
16
+ pipeline_type?: string;
17
+ current_stage?: string;
18
+ stage_status?: string;
19
+ }
20
+ /** 三路分流结果 */
21
+ export interface HookClassifyResult {
22
+ /** 路径标识 */
23
+ path: "sf_command" | "dev_nl" | "general_chat";
24
+ /** 注入指令(general_chat 时为 null) */
25
+ instruction: string | null;
26
+ /** 管线上下文 */
27
+ context: StageContext;
28
+ }
29
+ /**
30
+ * 同步读取管线状态。
31
+ *
32
+ * Hook 是 CLI 子进程,使用同步 I/O 避免异步初始化问题。
33
+ * 管线 YAML 通常 < 1KB,阻塞时间可忽略。
34
+ *
35
+ * @param projectPath - 项目根目录
36
+ * @returns PipelineState 或 null(无活跃管线或读取失败时)
37
+ */
38
+ export declare function readPipelineStateSync(projectPath: string): PipelineState | null;
39
+ /**
40
+ * 从管线状态构建精简 Hook 上下文。
41
+ *
42
+ * @param state - PipelineState 或 null
43
+ * @returns 精简的阶段上下文
44
+ */
45
+ export declare function buildStageContext(state: PipelineState | null): StageContext;
46
+ /**
47
+ * 三路分流 — 基于阶段上下文的确定性分流。
48
+ *
49
+ * 路径 A: [sf] 命令 → 注入 sf_command 调用指令
50
+ * 路径 B: 开发关键词 → 注入翻译指令 + 管线状态
51
+ * 路径 C: 普通对话 → 不注入(静默退出)
52
+ *
53
+ * @param input - 用户输入文本
54
+ * @param context - 阶段上下文(来自 buildStageContext)
55
+ * @returns 三路分流结果
56
+ */
57
+ export declare function classifyInput(input: string, context: StageContext): HookClassifyResult;
58
+ //# sourceMappingURL=hook_classifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook_classifier.d.ts","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/hook_classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAOrE,0BAA0B;AAC1B,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,IAAI,EAAE,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;IAC/C,iCAAiC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY;IACZ,OAAO,EAAE,YAAY,CAAC;CACvB;AAaD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAsB/E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,YAAY,CAU3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,GACpB,kBAAkB,CA0CpB"}