soloforge 1.1.36 → 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 (847) 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/evolver.d.ts.map +1 -1
  44. package/dist/engine/audit/evolver.js +29 -2
  45. package/dist/engine/audit/evolver.js.map +1 -1
  46. package/dist/engine/audit/observability.d.ts +1 -1
  47. package/dist/engine/audit/observability.js +1 -1
  48. package/dist/engine/audit/risk_sampler.d.ts +1 -1
  49. package/dist/engine/audit/risk_sampler.js +1 -1
  50. package/dist/engine/audit/semantic_evidence.d.ts +1 -1
  51. package/dist/engine/audit/semantic_evidence.js +1 -1
  52. package/dist/engine/audit/test_generator.js +1 -1
  53. package/dist/engine/audit/test_quality.d.ts +1 -1
  54. package/dist/engine/audit/test_quality.js +1 -1
  55. package/dist/engine/config/regression_matrix.d.ts.map +1 -1
  56. package/dist/engine/config/regression_matrix.js +9 -35
  57. package/dist/engine/config/regression_matrix.js.map +1 -1
  58. package/dist/engine/contracts/architecture_decision_workshop.d.ts +7 -2
  59. package/dist/engine/contracts/architecture_decision_workshop.d.ts.map +1 -1
  60. package/dist/engine/contracts/architecture_decision_workshop.js +6 -2
  61. package/dist/engine/contracts/architecture_decision_workshop.js.map +1 -1
  62. package/dist/engine/contracts/capability_registry.d.ts.map +1 -1
  63. package/dist/engine/contracts/capability_registry.js +4 -5
  64. package/dist/engine/contracts/capability_registry.js.map +1 -1
  65. package/dist/engine/contracts/code_maintainability_observability_contract.js +2 -2
  66. package/dist/engine/contracts/code_maintainability_observability_contract.js.map +1 -1
  67. package/dist/engine/contracts/command_execution_contract.d.ts +1 -1
  68. package/dist/engine/contracts/command_execution_contract.js +3 -3
  69. package/dist/engine/contracts/command_execution_contract.js.map +1 -1
  70. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js +12 -12
  71. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js.map +1 -1
  72. package/dist/engine/contracts/control_plane_contract.d.ts.map +1 -1
  73. package/dist/engine/contracts/control_plane_contract.js +27 -13
  74. package/dist/engine/contracts/control_plane_contract.js.map +1 -1
  75. package/dist/engine/contracts/decision_contract.d.ts +1 -1
  76. package/dist/engine/contracts/decision_contract.js +1 -1
  77. package/dist/engine/contracts/decision_workshop.d.ts +1 -3
  78. package/dist/engine/contracts/decision_workshop.d.ts.map +1 -1
  79. package/dist/engine/contracts/decision_workshop.js.map +1 -1
  80. package/dist/engine/contracts/design_lifecycle_contract.d.ts +2 -2
  81. package/dist/engine/contracts/design_lifecycle_contract.d.ts.map +1 -1
  82. package/dist/engine/contracts/design_lifecycle_contract.js +12 -12
  83. package/dist/engine/contracts/design_lifecycle_contract.js.map +1 -1
  84. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js +11 -11
  85. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js.map +1 -1
  86. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js +3 -3
  87. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js.map +1 -1
  88. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.d.ts.map +1 -1
  89. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js +68 -28
  90. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js.map +1 -1
  91. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js +11 -11
  92. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js.map +1 -1
  93. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js +10 -10
  94. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js.map +1 -1
  95. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js +8 -8
  96. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js.map +1 -1
  97. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js +18 -18
  98. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js.map +1 -1
  99. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js +12 -12
  100. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js.map +1 -1
  101. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js +2 -2
  102. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.d.ts.map +1 -1
  103. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js +4 -3
  104. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js.map +1 -1
  105. package/dist/engine/contracts/enforcement_guard.d.ts +1 -1
  106. package/dist/engine/contracts/enforcement_guard.js +3 -3
  107. package/dist/engine/contracts/enforcement_guard.js.map +1 -1
  108. package/dist/engine/contracts/evolution_regression_gate.d.ts +1 -1
  109. package/dist/engine/contracts/evolution_regression_gate.js +1 -1
  110. package/dist/engine/contracts/instruction_contract.js +1 -1
  111. package/dist/engine/contracts/instruction_contract.js.map +1 -1
  112. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts +2 -2
  113. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
  114. package/dist/engine/contracts/lifecycle_knowledge_contract.js +10 -10
  115. package/dist/engine/contracts/lifecycle_knowledge_contract.js.map +1 -1
  116. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +1 -1
  117. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js +18 -17
  118. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js.map +1 -1
  119. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js +30 -30
  120. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js.map +1 -1
  121. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +3 -2
  122. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +1 -1
  123. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js +75 -52
  124. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js.map +1 -1
  125. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js +20 -20
  126. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js.map +1 -1
  127. package/dist/engine/contracts/mechanism_health_check.d.ts +1 -1
  128. package/dist/engine/contracts/mechanism_health_check.js +1 -1
  129. package/dist/engine/contracts/omission_scanner.d.ts +1 -1
  130. package/dist/engine/contracts/omission_scanner.js +1 -1
  131. package/dist/engine/contracts/platform_context.d.ts +1 -1
  132. package/dist/engine/contracts/platform_context.js +1 -1
  133. package/dist/engine/contracts/project_knowledge_contract.d.ts +2 -2
  134. package/dist/engine/contracts/project_knowledge_contract.d.ts.map +1 -1
  135. package/dist/engine/contracts/project_knowledge_contract.js +6 -6
  136. package/dist/engine/contracts/project_knowledge_contract.js.map +1 -1
  137. package/dist/engine/contracts/state_machine_contracts.d.ts +17 -0
  138. package/dist/engine/contracts/state_machine_contracts.d.ts.map +1 -0
  139. package/dist/engine/contracts/state_machine_contracts.js +97 -0
  140. package/dist/engine/contracts/state_machine_contracts.js.map +1 -0
  141. package/dist/engine/contracts/technology_decision.d.ts +18 -0
  142. package/dist/engine/contracts/technology_decision.d.ts.map +1 -1
  143. package/dist/engine/contracts/technology_decision.js +38 -0
  144. package/dist/engine/contracts/technology_decision.js.map +1 -1
  145. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts +2 -3
  146. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  147. package/dist/engine/contracts/tool_invocation_contract_registry.js +163 -186
  148. package/dist/engine/contracts/tool_invocation_contract_registry.js.map +1 -1
  149. package/dist/engine/contracts/user_feedback_contract.d.ts +1 -1
  150. package/dist/engine/contracts/user_feedback_contract.d.ts.map +1 -1
  151. package/dist/engine/contracts/user_feedback_contract.js +6 -9
  152. package/dist/engine/contracts/user_feedback_contract.js.map +1 -1
  153. package/dist/engine/contracts/workflow_template_pack.d.ts +1 -1
  154. package/dist/engine/contracts/workflow_template_pack.js +5 -5
  155. package/dist/engine/contracts/workflow_template_pack.js.map +1 -1
  156. package/dist/engine/core/debug_log.d.ts +1 -1
  157. package/dist/engine/core/debug_log.js +1 -1
  158. package/dist/engine/knowledge/knowledge_asset_audit.d.ts.map +1 -1
  159. package/dist/engine/knowledge/knowledge_asset_audit.js +4 -2
  160. package/dist/engine/knowledge/knowledge_asset_audit.js.map +1 -1
  161. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts +21 -20
  162. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts.map +1 -1
  163. package/dist/engine/knowledge/knowledge_asset_consumer.js +24 -22
  164. package/dist/engine/knowledge/knowledge_asset_consumer.js.map +1 -1
  165. package/dist/engine/knowledge/knowledge_asset_migration.js +1 -1
  166. package/dist/engine/knowledge/knowledge_asset_migration.js.map +1 -1
  167. package/dist/engine/knowledge/knowledge_asset_schema.d.ts +2 -1
  168. package/dist/engine/knowledge/knowledge_asset_schema.d.ts.map +1 -1
  169. package/dist/engine/knowledge/knowledge_asset_schema.js +25 -7
  170. package/dist/engine/knowledge/knowledge_asset_schema.js.map +1 -1
  171. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts +3 -3
  172. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts.map +1 -1
  173. package/dist/engine/knowledge/knowledge_consumption_snapshot.js +5 -5
  174. package/dist/engine/knowledge/knowledge_consumption_snapshot.js.map +1 -1
  175. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts +36 -5
  176. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -1
  177. package/dist/engine/knowledge/knowledge_injection_boundary.js +95 -40
  178. package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -1
  179. package/dist/engine/knowledge/knowledge_scenario_registry.js +1 -1
  180. package/dist/engine/knowledge/knowledge_scenario_registry.js.map +1 -1
  181. package/dist/engine/knowledge/knowledge_writer.js +3 -3
  182. package/dist/engine/knowledge/knowledge_writer.js.map +1 -1
  183. package/dist/engine/knowledge/language_policy.d.ts +2 -2
  184. package/dist/engine/knowledge/language_policy.js +2 -2
  185. package/dist/engine/onboarding.d.ts +1 -1
  186. package/dist/engine/onboarding.js +2 -2
  187. package/dist/engine/onboarding.js.map +1 -1
  188. package/dist/engine/pipeline/artifact_aliases.d.ts +19 -0
  189. package/dist/engine/pipeline/artifact_aliases.d.ts.map +1 -0
  190. package/dist/engine/pipeline/artifact_aliases.js +39 -0
  191. package/dist/engine/pipeline/artifact_aliases.js.map +1 -0
  192. package/dist/engine/pipeline/input_material_extractor.d.ts +1 -1
  193. package/dist/engine/pipeline/input_material_extractor.d.ts.map +1 -1
  194. package/dist/engine/pipeline/intent_expander/helpers.d.ts +15 -29
  195. package/dist/engine/pipeline/intent_expander/helpers.d.ts.map +1 -1
  196. package/dist/engine/pipeline/intent_expander/helpers.js +15 -158
  197. package/dist/engine/pipeline/intent_expander/helpers.js.map +1 -1
  198. package/dist/engine/pipeline/intent_expander/index.d.ts +1 -2
  199. package/dist/engine/pipeline/intent_expander/index.d.ts.map +1 -1
  200. package/dist/engine/pipeline/intent_expander/index.js +1 -3
  201. package/dist/engine/pipeline/intent_expander/index.js.map +1 -1
  202. package/dist/engine/pipeline/intent_expander/knowledge.d.ts +4 -13
  203. package/dist/engine/pipeline/intent_expander/knowledge.d.ts.map +1 -1
  204. package/dist/engine/pipeline/intent_expander/knowledge.js +14 -169
  205. package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -1
  206. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts +7 -5
  207. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts.map +1 -1
  208. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js +84 -30
  209. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js.map +1 -1
  210. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts +13 -100
  211. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts.map +1 -1
  212. package/dist/engine/pipeline/intent_expander/privacy_gates.js +18 -268
  213. package/dist/engine/pipeline/intent_expander/privacy_gates.js.map +1 -1
  214. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts +9 -5
  215. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts.map +1 -1
  216. package/dist/engine/pipeline/intent_expander/scope_acceptance.js +13 -31
  217. package/dist/engine/pipeline/intent_expander/scope_acceptance.js.map +1 -1
  218. package/dist/engine/pipeline/intent_expander/templates.d.ts +2 -1
  219. package/dist/engine/pipeline/intent_expander/templates.d.ts.map +1 -1
  220. package/dist/engine/pipeline/intent_expander/templates.js +73 -0
  221. package/dist/engine/pipeline/intent_expander/templates.js.map +1 -1
  222. package/dist/engine/pipeline/intent_expander/types.d.ts +0 -2
  223. package/dist/engine/pipeline/intent_expander/types.d.ts.map +1 -1
  224. package/dist/engine/pipeline/intent_expander.d.ts +5 -3
  225. package/dist/engine/pipeline/intent_expander.d.ts.map +1 -1
  226. package/dist/engine/pipeline/intent_expander.js +4 -3
  227. package/dist/engine/pipeline/intent_expander.js.map +1 -1
  228. package/dist/engine/pipeline/job_manager.d.ts +1 -1
  229. package/dist/engine/pipeline/job_manager.js +1 -1
  230. package/dist/engine/pipeline/prompt_template_resolver.d.ts +13 -0
  231. package/dist/engine/pipeline/prompt_template_resolver.d.ts.map +1 -0
  232. package/dist/engine/pipeline/prompt_template_resolver.js +25 -0
  233. package/dist/engine/pipeline/prompt_template_resolver.js.map +1 -0
  234. package/dist/engine/pipeline/rollback_router.d.ts +1 -1
  235. package/dist/engine/pipeline/rollback_router.d.ts.map +1 -1
  236. package/dist/engine/pipeline/scope_resolver.d.ts +9 -2
  237. package/dist/engine/pipeline/scope_resolver.d.ts.map +1 -1
  238. package/dist/engine/pipeline/scope_resolver.js +29 -15
  239. package/dist/engine/pipeline/scope_resolver.js.map +1 -1
  240. package/dist/engine/pipeline/slice_executor.d.ts +5 -1
  241. package/dist/engine/pipeline/slice_executor.d.ts.map +1 -1
  242. package/dist/engine/pipeline/slice_executor.js +4 -1
  243. package/dist/engine/pipeline/slice_executor.js.map +1 -1
  244. package/dist/engine/pipeline/state_machine/audit_logger.d.ts +42 -0
  245. package/dist/engine/pipeline/state_machine/audit_logger.d.ts.map +1 -0
  246. package/dist/engine/pipeline/state_machine/audit_logger.js +65 -0
  247. package/dist/engine/pipeline/state_machine/audit_logger.js.map +1 -0
  248. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts +51 -0
  249. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts.map +1 -0
  250. package/dist/engine/pipeline/state_machine/capability_safety_valve.js +131 -0
  251. package/dist/engine/pipeline/state_machine/capability_safety_valve.js.map +1 -0
  252. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts +92 -0
  253. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts.map +1 -0
  254. package/dist/engine/pipeline/state_machine/certainty_gate.js +317 -0
  255. package/dist/engine/pipeline/state_machine/certainty_gate.js.map +1 -0
  256. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts +50 -0
  257. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts.map +1 -0
  258. package/dist/engine/pipeline/state_machine/command_state_verifier.js +160 -0
  259. package/dist/engine/pipeline/state_machine/command_state_verifier.js.map +1 -0
  260. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts +58 -0
  261. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts.map +1 -0
  262. package/dist/engine/pipeline/state_machine/hook_classifier.js +123 -0
  263. package/dist/engine/pipeline/state_machine/hook_classifier.js.map +1 -0
  264. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts +33 -0
  265. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts.map +1 -0
  266. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js +72 -0
  267. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js.map +1 -0
  268. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts +21 -0
  269. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts.map +1 -0
  270. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js +33 -0
  271. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js.map +1 -0
  272. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts +154 -0
  273. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts.map +1 -0
  274. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js +1089 -0
  275. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js.map +1 -0
  276. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts +34 -0
  277. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts.map +1 -0
  278. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js +152 -0
  279. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js.map +1 -0
  280. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts +28 -0
  281. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts.map +1 -0
  282. package/dist/engine/pipeline/state_machine/route_usage_stats.js +76 -0
  283. package/dist/engine/pipeline/state_machine/route_usage_stats.js.map +1 -0
  284. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts +22 -0
  285. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts.map +1 -0
  286. package/dist/engine/pipeline/state_machine/sf_command_parser.js +170 -0
  287. package/dist/engine/pipeline/state_machine/sf_command_parser.js.map +1 -0
  288. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts +38 -0
  289. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts.map +1 -0
  290. package/dist/engine/pipeline/state_machine/stage_command_registry.js +218 -0
  291. package/dist/engine/pipeline/state_machine/stage_command_registry.js.map +1 -0
  292. package/dist/engine/pipeline/state_machine/stage_executor.d.ts +37 -0
  293. package/dist/engine/pipeline/state_machine/stage_executor.d.ts.map +1 -0
  294. package/dist/engine/pipeline/state_machine/stage_executor.js +67 -0
  295. package/dist/engine/pipeline/state_machine/stage_executor.js.map +1 -0
  296. package/dist/engine/pipeline/state_machine/state_migrator.d.ts +21 -0
  297. package/dist/engine/pipeline/state_machine/state_migrator.d.ts.map +1 -0
  298. package/dist/engine/pipeline/state_machine/state_migrator.js +130 -0
  299. package/dist/engine/pipeline/state_machine/state_migrator.js.map +1 -0
  300. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts +48 -0
  301. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts.map +1 -0
  302. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js +566 -0
  303. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js.map +1 -0
  304. package/dist/engine/pipeline/state_machine/static_route_table.d.ts +36 -0
  305. package/dist/engine/pipeline/state_machine/static_route_table.d.ts.map +1 -0
  306. package/dist/engine/pipeline/state_machine/static_route_table.js +112 -0
  307. package/dist/engine/pipeline/state_machine/static_route_table.js.map +1 -0
  308. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts +45 -0
  309. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts.map +1 -0
  310. package/dist/engine/pipeline/state_machine/strong_confirmation.js +57 -0
  311. package/dist/engine/pipeline/state_machine/strong_confirmation.js.map +1 -0
  312. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts +55 -0
  313. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts.map +1 -0
  314. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js +48 -0
  315. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js.map +1 -0
  316. package/dist/engine/pipeline/task_context/manager.d.ts +40 -1
  317. package/dist/engine/pipeline/task_context/manager.d.ts.map +1 -1
  318. package/dist/engine/pipeline/task_context/manager.js +348 -114
  319. package/dist/engine/pipeline/task_context/manager.js.map +1 -1
  320. package/dist/engine/pipeline/task_context/manager_setters.d.ts +23 -1
  321. package/dist/engine/pipeline/task_context/manager_setters.d.ts.map +1 -1
  322. package/dist/engine/pipeline/task_context/manager_setters.js +237 -119
  323. package/dist/engine/pipeline/task_context/manager_setters.js.map +1 -1
  324. package/dist/engine/pipeline/task_context/status_transitions.d.ts +7 -2
  325. package/dist/engine/pipeline/task_context/status_transitions.d.ts.map +1 -1
  326. package/dist/engine/pipeline/task_context/status_transitions.js +9 -14
  327. package/dist/engine/pipeline/task_context/status_transitions.js.map +1 -1
  328. package/dist/engine/pipeline/task_planner.js +14 -8
  329. package/dist/engine/pipeline/task_planner.js.map +1 -1
  330. package/dist/engine/pipeline/task_stage_detector.d.ts +2 -0
  331. package/dist/engine/pipeline/task_stage_detector.d.ts.map +1 -1
  332. package/dist/engine/pipeline/task_stage_detector.js +34 -3
  333. package/dist/engine/pipeline/task_stage_detector.js.map +1 -1
  334. package/dist/engine/pipeline/workspace_lease.d.ts +1 -1
  335. package/dist/engine/pipeline/workspace_lease.js +1 -1
  336. package/dist/engine/pipeline/workspace_resumer.js +2 -2
  337. package/dist/engine/pipeline/workspace_resumer.js.map +1 -1
  338. package/dist/engine/release/foundation_scenario_registry.js +45 -45
  339. package/dist/engine/release/foundation_scenario_registry.js.map +1 -1
  340. package/dist/engine/release/foundation_scenario_runners.d.ts +3 -3
  341. package/dist/engine/release/foundation_scenario_runners.d.ts.map +1 -1
  342. package/dist/engine/release/foundation_scenario_runners.js +27 -485
  343. package/dist/engine/release/foundation_scenario_runners.js.map +1 -1
  344. package/dist/engine/release/gate_checks/checkControlPlaneTrust.d.ts.map +1 -1
  345. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js +23 -21
  346. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js.map +1 -1
  347. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.d.ts.map +1 -1
  348. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js +8 -9
  349. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js.map +1 -1
  350. package/dist/engine/release/gate_checks/checkMainlineConsumption.js +3 -3
  351. package/dist/engine/release/gate_checks/checkMainlineConsumption.js.map +1 -1
  352. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.d.ts.map +1 -1
  353. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js +8 -56
  354. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js.map +1 -1
  355. package/dist/engine/release/release_gate_scenario_registry.js +2 -2
  356. package/dist/engine/release/release_gate_scenario_registry.js.map +1 -1
  357. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js +39 -39
  358. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js.map +1 -1
  359. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js +19 -19
  360. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js.map +1 -1
  361. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js +60 -60
  362. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js.map +1 -1
  363. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.d.ts.map +1 -1
  364. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js +39 -43
  365. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js.map +1 -1
  366. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.d.ts.map +1 -1
  367. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js +104 -27
  368. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js.map +1 -1
  369. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js +15 -15
  370. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js.map +1 -1
  371. package/dist/engine/release/types.d.ts +2 -2
  372. package/dist/engine/release/types.d.ts.map +1 -1
  373. package/dist/engine/release/verifier.js +7 -7
  374. package/dist/engine/release/verifier.js.map +1 -1
  375. package/dist/engine/state_fact_classifier.d.ts +3 -3
  376. package/dist/engine/state_fact_classifier.js +4 -4
  377. package/dist/engine/state_fact_classifier.js.map +1 -1
  378. package/dist/engine/templates/asset_manifest.d.ts.map +1 -1
  379. package/dist/engine/templates/asset_manifest.js +18 -16
  380. package/dist/engine/templates/asset_manifest.js.map +1 -1
  381. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js +11 -11
  382. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js.map +1 -1
  383. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts +1 -1
  384. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts.map +1 -1
  385. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js +34 -10
  386. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js.map +1 -1
  387. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js +10 -10
  388. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js.map +1 -1
  389. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js +18 -18
  390. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js.map +1 -1
  391. package/dist/engine/templates/consumable_asset_registry/types.js +4 -4
  392. package/dist/engine/templates/consumable_asset_registry/types.js.map +1 -1
  393. package/dist/engine/templates/consumption_trace_store.d.ts +3 -3
  394. package/dist/engine/templates/consumption_trace_store.d.ts.map +1 -1
  395. package/dist/engine/templates/consumption_trace_store.js +4 -4
  396. package/dist/engine/templates/consumption_trace_store.js.map +1 -1
  397. package/dist/engine/templates/explicit_asset_registry/adapters.js +4 -4
  398. package/dist/engine/templates/explicit_asset_registry/adapters.js.map +1 -1
  399. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js +10 -10
  400. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js.map +1 -1
  401. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js +25 -25
  402. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js.map +1 -1
  403. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js +5 -5
  404. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js.map +1 -1
  405. package/dist/engine/templates/explicit_asset_registry/checklists.js +7 -7
  406. package/dist/engine/templates/explicit_asset_registry/contributing.js +1 -1
  407. package/dist/engine/templates/explicit_asset_registry/domain.js +9 -9
  408. package/dist/engine/templates/explicit_asset_registry/gates.js +20 -20
  409. package/dist/engine/templates/explicit_asset_registry/gates.js.map +1 -1
  410. package/dist/engine/templates/explicit_asset_registry/internal_patterns.js +27 -27
  411. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.d.ts.map +1 -1
  412. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js +42 -26
  413. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js.map +1 -1
  414. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js +20 -20
  415. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js.map +1 -1
  416. package/dist/engine/templates/explicit_asset_registry/patterns_part1.js +25 -25
  417. package/dist/engine/templates/explicit_asset_registry/patterns_part2.js +25 -25
  418. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js +2 -2
  419. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js.map +1 -1
  420. package/dist/engine/templates/explicit_asset_registry/procedures_part1.d.ts.map +1 -1
  421. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js +42 -26
  422. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js.map +1 -1
  423. package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts.map +1 -1
  424. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +29 -12
  425. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -1
  426. package/dist/engine/templates/explicit_asset_registry/profiles.js +3 -3
  427. package/dist/engine/templates/explicit_asset_registry/profiles.js.map +1 -1
  428. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js +9 -9
  429. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js.map +1 -1
  430. package/dist/engine/templates/explicit_asset_registry/rules_shared.js +16 -16
  431. package/dist/engine/templates/explicit_asset_registry/rules_shared.js.map +1 -1
  432. package/dist/engine/templates/explicit_asset_registry/scaffolds.js +22 -22
  433. package/dist/engine/templates/explicit_asset_registry/scaffolds.js.map +1 -1
  434. package/dist/engine/templates/explicit_asset_registry/types.d.ts +1 -1
  435. package/dist/engine/templates/observed_consumption.d.ts +2 -2
  436. package/dist/engine/templates/observed_consumption.d.ts.map +1 -1
  437. package/dist/engine/templates/observed_consumption.js +5 -22
  438. package/dist/engine/templates/observed_consumption.js.map +1 -1
  439. package/dist/engine/templates/scaffolder.js +8 -8
  440. package/dist/engine/templates/scaffolder.js.map +1 -1
  441. package/dist/engine/templates/standard_asset_contract.d.ts +5 -5
  442. package/dist/engine/templates/standard_asset_contract.d.ts.map +1 -1
  443. package/dist/engine/templates/standard_asset_contract.js +18 -18
  444. package/dist/engine/templates/standard_asset_contract.js.map +1 -1
  445. package/dist/engine/templates/standard_asset_coverage.js +12 -12
  446. package/dist/engine/templates/standard_asset_coverage.js.map +1 -1
  447. package/dist/engine/templates/template_asset_contract_registry.d.ts +2 -2
  448. package/dist/engine/templates/template_asset_contract_registry.js +23 -23
  449. package/dist/engine/templates/template_asset_contract_registry.js.map +1 -1
  450. package/dist/engine/templates/template_asset_visibility.d.ts +1 -1
  451. package/dist/engine/templates/template_asset_visibility.js +4 -4
  452. package/dist/engine/templates/template_asset_visibility.js.map +1 -1
  453. package/dist/engine/templates/template_init_sync.js +11 -11
  454. package/dist/engine/templates/template_init_sync.js.map +1 -1
  455. package/dist/engine/templates/template_manifest_io.js +6 -6
  456. package/dist/engine/templates/template_manifest_io.js.map +1 -1
  457. package/dist/engine/templates/template_mechanism_auditor.d.ts.map +1 -1
  458. package/dist/engine/templates/template_mechanism_auditor.js +6 -5
  459. package/dist/engine/templates/template_mechanism_auditor.js.map +1 -1
  460. package/dist/engine/templates/workflow_rule_generator.d.ts.map +1 -1
  461. package/dist/engine/templates/workflow_rule_generator.js +8 -10
  462. package/dist/engine/templates/workflow_rule_generator.js.map +1 -1
  463. package/dist/engine/workflow/index.d.ts +2 -2
  464. package/dist/engine/workflow/index.d.ts.map +1 -1
  465. package/dist/engine/workflow/index.js +1 -1
  466. package/dist/engine/workflow/index.js.map +1 -1
  467. package/dist/engine/workflow/next_action_planner.js +11 -9
  468. package/dist/engine/workflow/next_action_planner.js.map +1 -1
  469. package/dist/engine/workflow/workflow_contract_registry.d.ts +49 -31
  470. package/dist/engine/workflow/workflow_contract_registry.d.ts.map +1 -1
  471. package/dist/engine/workflow/workflow_contract_registry.js +81 -642
  472. package/dist/engine/workflow/workflow_contract_registry.js.map +1 -1
  473. package/dist/knowledge/index_manager.d.ts +6 -1
  474. package/dist/knowledge/index_manager.d.ts.map +1 -1
  475. package/dist/knowledge/index_manager.js +156 -74
  476. package/dist/knowledge/index_manager.js.map +1 -1
  477. package/dist/knowledge/writer.d.ts +10 -0
  478. package/dist/knowledge/writer.d.ts.map +1 -1
  479. package/dist/knowledge/writer.js +40 -0
  480. package/dist/knowledge/writer.js.map +1 -1
  481. package/dist/server/tools/cep_assessment.d.ts +1 -1
  482. package/dist/server/tools/cep_assessment.d.ts.map +1 -1
  483. package/dist/server/tools/cep_assessment.js +15 -6
  484. package/dist/server/tools/cep_assessment.js.map +1 -1
  485. package/dist/server/tools/gate_checks.d.ts +9 -0
  486. package/dist/server/tools/gate_checks.d.ts.map +1 -1
  487. package/dist/server/tools/gate_checks.js +55 -1
  488. package/dist/server/tools/gate_checks.js.map +1 -1
  489. package/dist/server/tools/index.d.ts.map +1 -1
  490. package/dist/server/tools/index.js +8 -29
  491. package/dist/server/tools/index.js.map +1 -1
  492. package/dist/server/tools/lazy_loaders.d.ts +0 -3
  493. package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
  494. package/dist/server/tools/lazy_loaders.js +0 -3
  495. package/dist/server/tools/lazy_loaders.js.map +1 -1
  496. package/dist/server/tools/middleware.d.ts.map +1 -1
  497. package/dist/server/tools/middleware.js +419 -394
  498. package/dist/server/tools/middleware.js.map +1 -1
  499. package/dist/server/tools/schemas.d.ts +40 -7
  500. package/dist/server/tools/schemas.d.ts.map +1 -1
  501. package/dist/server/tools/schemas.js +27 -11
  502. package/dist/server/tools/schemas.js.map +1 -1
  503. package/dist/server/tools/tool_groups/admin.d.ts.map +1 -1
  504. package/dist/server/tools/tool_groups/admin.js +4 -107
  505. package/dist/server/tools/tool_groups/admin.js.map +1 -1
  506. package/dist/server/tools/tool_groups/auxiliary.d.ts.map +1 -1
  507. package/dist/server/tools/tool_groups/auxiliary.js +4 -21
  508. package/dist/server/tools/tool_groups/auxiliary.js.map +1 -1
  509. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts +0 -1
  510. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts.map +1 -1
  511. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js +5 -427
  512. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js.map +1 -1
  513. package/dist/server/tools/tool_groups/state_machine.d.ts +13 -0
  514. package/dist/server/tools/tool_groups/state_machine.d.ts.map +1 -0
  515. package/dist/server/tools/tool_groups/state_machine.js +422 -0
  516. package/dist/server/tools/tool_groups/state_machine.js.map +1 -0
  517. package/dist/server/tools/tool_names.d.ts +19 -19
  518. package/dist/server/tools/tool_names.d.ts.map +1 -1
  519. package/dist/server/tools/tool_names.js +23 -24
  520. package/dist/server/tools/tool_names.js.map +1 -1
  521. package/dist/types/dual_layer.d.ts +3 -3
  522. package/dist/types/index.d.ts +1 -0
  523. package/dist/types/index.d.ts.map +1 -1
  524. package/dist/types/index.js +1 -0
  525. package/dist/types/index.js.map +1 -1
  526. package/dist/types/pipeline.d.ts +17 -7
  527. package/dist/types/pipeline.d.ts.map +1 -1
  528. package/dist/types/pipeline.js +4 -0
  529. package/dist/types/pipeline.js.map +1 -1
  530. package/dist/types/state_machine.d.ts +344 -0
  531. package/dist/types/state_machine.d.ts.map +1 -0
  532. package/dist/types/state_machine.js +47 -0
  533. package/dist/types/state_machine.js.map +1 -0
  534. package/dist/types/task.d.ts +35 -8
  535. package/dist/types/task.d.ts.map +1 -1
  536. package/package.json +3 -3
  537. 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
  538. 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
  539. 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
  540. 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
  541. 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
  542. 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
  543. 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
  544. 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
  545. 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
  546. package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +0 -2
  547. 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
  548. package/templates/artifacts/shared/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
  549. 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
  550. package/templates/artifacts/shared/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +0 -2
  551. 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
  552. 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
  553. 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
  554. 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
  555. 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
  556. 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
  557. 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
  558. 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
  559. package/templates/artifacts/shared//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -2
  560. 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
  561. 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
  562. 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
  563. 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
  564. 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
  565. 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
  566. 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
  567. 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
  568. 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
  569. 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
  570. 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
  571. 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
  572. 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
  573. 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
  574. 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
  575. 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
  576. 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
  577. package/templates/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -1
  578. 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
  579. 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
  580. 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
  581. package/templates/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +0 -1
  582. package/templates/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
  583. package/templates/domain//345/244/232/347/247/237/346/210/267.md +0 -2
  584. package/templates/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -2
  585. package/templates/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +0 -2
  586. package/templates/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -2
  587. package/templates/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -2
  588. package/templates/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +0 -2
  589. package/templates/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -2
  590. package/templates/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -2
  591. package/templates/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +0 -2
  592. package/templates/internal/patterns/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -2
  593. 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
  594. package/templates/internal/patterns/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -2
  595. package/templates/internal/patterns/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -2
  596. 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
  597. 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
  598. package/templates/internal/patterns//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -2
  599. 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
  600. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -2
  601. package/templates/internal/patterns//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -2
  602. package/templates/internal/patterns//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -2
  603. 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
  604. package/templates/internal/patterns//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -2
  605. package/templates/internal/patterns//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -2
  606. 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
  607. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -2
  608. package/templates/internal/patterns//345/271/266/345/217/221/351/224/201.md +0 -2
  609. package/templates/internal/patterns//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +1 -3
  610. 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
  611. package/templates/internal/patterns//346/250/241/347/211/210Frontmatter/350/247/243/346/236/220.md +0 -2
  612. 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
  613. package/templates/internal/patterns//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -2
  614. package/templates/internal/patterns//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -2
  615. package/templates/internal/patterns//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -2
  616. package/templates/internal/patterns//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -2
  617. 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
  618. 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
  619. package/templates/internal/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +0 -1
  620. 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
  621. 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
  622. 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
  623. 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
  624. 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
  625. 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
  626. 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
  627. 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
  628. 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
  629. 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
  630. 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
  631. 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
  632. 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
  633. 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
  634. 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
  635. 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
  636. 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
  637. 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
  638. 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
  639. 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
  640. 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
  641. 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
  642. package/templates/internal/rules//346/250/241/347/211/210Frontmatter/350/247/204/350/214/203.md +2 -3
  643. 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
  644. 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
  645. 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
  646. 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
  647. 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
  648. 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
  649. 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
  650. 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
  651. 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
  652. 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
  653. 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
  654. 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
  655. 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
  656. 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
  657. 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
  658. 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
  659. 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
  660. 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
  661. 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
  662. 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
  663. 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
  664. 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
  665. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
  666. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +0 -2
  667. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +0 -2
  668. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +0 -2
  669. 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
  670. 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
  671. 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
  672. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +0 -2
  673. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +0 -2
  674. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +0 -2
  675. package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
  676. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +0 -2
  677. 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
  678. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +0 -2
  679. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +0 -2
  680. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +0 -2
  681. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +0 -2
  682. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +0 -2
  683. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -2
  684. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +0 -2
  685. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +0 -2
  686. 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
  687. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +0 -2
  688. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +0 -2
  689. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +0 -2
  690. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +0 -2
  691. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +0 -2
  692. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +0 -2
  693. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +0 -2
  694. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -2
  695. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +0 -2
  696. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +0 -2
  697. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +0 -2
  698. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +0 -2
  699. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +0 -2
  700. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +0 -2
  701. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +0 -2
  702. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +0 -2
  703. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +0 -2
  704. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +0 -2
  705. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +0 -2
  706. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +0 -2
  707. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +0 -2
  708. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +0 -2
  709. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +0 -2
  710. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +0 -2
  711. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
  712. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -2
  713. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +0 -2
  714. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +0 -2
  715. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +0 -2
  716. 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
  717. package/templates/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +0 -3
  718. package/templates/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +4 -6
  719. 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
  720. package/templates/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +0 -2
  721. package/templates/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +0 -2
  722. package/templates/procedures//344/274/232/350/257/235/346/201/242/345/244/215/346/265/201/347/250/213.md +0 -3
  723. 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
  724. package/templates/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +0 -2
  725. 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
  726. package/templates/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +0 -2
  727. package/templates/procedures//345/221/275/344/273/244/350/267/257/347/224/261/346/265/201/347/250/213.md +38 -0
  728. 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
  729. package/templates/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +0 -2
  730. package/templates/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +3 -5
  731. package/templates/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +3 -3
  732. 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
  733. 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
  734. 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
  735. 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
  736. 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
  737. 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
  738. 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
  739. 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
  740. 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
  741. 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
  742. 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
  743. 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
  744. package/templates/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +1 -3
  745. 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
  746. package/templates/procedures//350/256/276/350/256/241/345/256/241/350/256/241/346/265/201/347/250/213.md +184 -0
  747. package/templates/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +0 -2
  748. package/templates/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +0 -2
  749. package/templates/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +3 -5
  750. package/templates/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +0 -2
  751. package/templates/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +3 -5
  752. package/templates/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +0 -2
  753. package/templates/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +2 -4
  754. package/templates/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -2
  755. 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
  756. 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
  757. 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
  758. 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
  759. 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
  760. 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
  761. 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
  762. 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
  763. 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
  764. 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
  765. 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
  766. 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
  767. 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
  768. 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
  769. 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
  770. 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
  771. 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
  772. 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
  773. 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
  774. 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
  775. package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -1
  776. 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
  777. 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
  778. 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
  779. package/templates//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -3
  780. package/dist/engine/contracts/route_decision_contract_verifier.d.ts +0 -44
  781. package/dist/engine/contracts/route_decision_contract_verifier.d.ts.map +0 -1
  782. package/dist/engine/contracts/route_decision_contract_verifier.js +0 -154
  783. package/dist/engine/contracts/route_decision_contract_verifier.js.map +0 -1
  784. package/dist/engine/pipeline/classifier.d.ts +0 -24
  785. package/dist/engine/pipeline/classifier.d.ts.map +0 -1
  786. package/dist/engine/pipeline/classifier.js +0 -209
  787. package/dist/engine/pipeline/classifier.js.map +0 -1
  788. package/dist/engine/pipeline/expand_pipeline.d.ts +0 -122
  789. package/dist/engine/pipeline/expand_pipeline.d.ts.map +0 -1
  790. package/dist/engine/pipeline/expand_pipeline.js +0 -141
  791. package/dist/engine/pipeline/expand_pipeline.js.map +0 -1
  792. package/dist/engine/pipeline/hook_context_types.d.ts +0 -66
  793. package/dist/engine/pipeline/hook_context_types.d.ts.map +0 -1
  794. package/dist/engine/pipeline/hook_context_types.js +0 -118
  795. package/dist/engine/pipeline/hook_context_types.js.map +0 -1
  796. package/dist/engine/pipeline/intent_expander/expand.d.ts +0 -16
  797. package/dist/engine/pipeline/intent_expander/expand.d.ts.map +0 -1
  798. package/dist/engine/pipeline/intent_expander/expand.js +0 -308
  799. package/dist/engine/pipeline/intent_expander/expand.js.map +0 -1
  800. package/dist/engine/pipeline/intent_route_scorer.d.ts +0 -45
  801. package/dist/engine/pipeline/intent_route_scorer.d.ts.map +0 -1
  802. package/dist/engine/pipeline/intent_route_scorer.js +0 -341
  803. package/dist/engine/pipeline/intent_route_scorer.js.map +0 -1
  804. package/dist/engine/pipeline/intent_router.d.ts +0 -132
  805. package/dist/engine/pipeline/intent_router.d.ts.map +0 -1
  806. package/dist/engine/pipeline/intent_router.js +0 -608
  807. package/dist/engine/pipeline/intent_router.js.map +0 -1
  808. package/dist/engine/pipeline/intent_signal_extractor.d.ts +0 -91
  809. package/dist/engine/pipeline/intent_signal_extractor.d.ts.map +0 -1
  810. package/dist/engine/pipeline/intent_signal_extractor.js +0 -296
  811. package/dist/engine/pipeline/intent_signal_extractor.js.map +0 -1
  812. package/dist/engine/pipeline/route_types.d.ts +0 -10
  813. package/dist/engine/pipeline/route_types.d.ts.map +0 -1
  814. package/dist/engine/pipeline/route_types.js +0 -9
  815. package/dist/engine/pipeline/route_types.js.map +0 -1
  816. package/dist/engine/pipeline/stage_gate_engine.d.ts +0 -34
  817. package/dist/engine/pipeline/stage_gate_engine.d.ts.map +0 -1
  818. package/dist/engine/pipeline/stage_gate_engine.js +0 -123
  819. package/dist/engine/pipeline/stage_gate_engine.js.map +0 -1
  820. package/dist/engine/pipeline/stage_prechecks.d.ts +0 -83
  821. package/dist/engine/pipeline/stage_prechecks.d.ts.map +0 -1
  822. package/dist/engine/pipeline/stage_prechecks.js +0 -199
  823. package/dist/engine/pipeline/stage_prechecks.js.map +0 -1
  824. package/dist/engine/workflow/legacy_type_migration.d.ts +0 -64
  825. package/dist/engine/workflow/legacy_type_migration.d.ts.map +0 -1
  826. package/dist/engine/workflow/legacy_type_migration.js +0 -228
  827. package/dist/engine/workflow/legacy_type_migration.js.map +0 -1
  828. package/dist/server/tools/tool_groups/classify_expand.d.ts +0 -3
  829. package/dist/server/tools/tool_groups/classify_expand.d.ts.map +0 -1
  830. package/dist/server/tools/tool_groups/classify_expand.js +0 -7
  831. package/dist/server/tools/tool_groups/classify_expand.js.map +0 -1
  832. package/dist/server/tools/tool_groups/classify_handler.d.ts +0 -3
  833. package/dist/server/tools/tool_groups/classify_handler.d.ts.map +0 -1
  834. package/dist/server/tools/tool_groups/classify_handler.js +0 -65
  835. package/dist/server/tools/tool_groups/classify_handler.js.map +0 -1
  836. package/dist/server/tools/tool_groups/expand_handler.d.ts +0 -3
  837. package/dist/server/tools/tool_groups/expand_handler.d.ts.map +0 -1
  838. package/dist/server/tools/tool_groups/expand_handler.js +0 -823
  839. package/dist/server/tools/tool_groups/expand_handler.js.map +0 -1
  840. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts +0 -4
  841. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts.map +0 -1
  842. package/dist/server/tools/tool_groups/status_plan_analyze_review.js +0 -395
  843. package/dist/server/tools/tool_groups/status_plan_analyze_review.js.map +0 -1
  844. package/dist/server/tools/tool_groups/verify_learn.d.ts +0 -3
  845. package/dist/server/tools/tool_groups/verify_learn.d.ts.map +0 -1
  846. package/dist/server/tools/tool_groups/verify_learn.js +0 -804
  847. package/dist/server/tools/tool_groups/verify_learn.js.map +0 -1
@@ -1,608 +0,0 @@
1
- /**
2
- * Intent Router — 意图路由器
3
- *
4
- * 根据用户意图文本确定语义通道 (route) 和执行形态 (execution_shape)。
5
- * 零 AI 依赖,纯规则匹配。
6
- *
7
- * 替代旧的 task_type -> strategy 入口裁决链路。
8
- * task_type 保留为辅助描述,不再单独决定是否进入 SoloForge。
9
- *
10
- * v2: 模块化拆分 — 路由判定由"信号提取 + 归一化 + 打分 + 冲突仲裁"完成,
11
- * 不再依赖单条整句正则。
12
- */
13
- import { getDefaultArtifactPath } from "../contracts/artifact_contract_registry.js";
14
- import { extractInputMaterials } from "./input_material_extractor.js";
15
- import { extractSignals, ACTION_ALIASES, ARTIFACT_ALIASES, PURE_EXPLAIN_RULES, EXTRACTION_STRUCTURE, FULL_PIPELINE_RULES, SOURCE_MATERIAL_RULES } from "./intent_signal_extractor.js";
16
- import { scoreRoute } from "./intent_route_scorer.js";
17
- import { debugLog } from "../core/logger.js";
18
- debugLog("意图路由: 模块已加载");
19
- // ── 规则表(统一从 intent_signal_extractor 导入,消除重复定义) ──
20
- /** 产物信号规则表 — 从 ARTIFACT_ALIASES 派生,保留 detectArtifact 回退兼容 */
21
- const ARTIFACT_SIGNALS = ARTIFACT_ALIASES.map((a) => ({
22
- pattern: a.patterns.length === 1 ? a.patterns[0] : new RegExp(a.patterns.map((p) => `(?:${p.source})`).join("|")),
23
- artifactKind: a.kind,
24
- defaultName: a.defaultName,
25
- template: a.template,
26
- }));
27
- /** 产物动词: 从 ACTION_ALIASES 的 extract + generate 类别派生 */
28
- const ARTIFACT_VERBS = [
29
- ...ACTION_ALIASES.filter((a) => a.category === "extract" || a.category === "generate").flatMap((a) => a.patterns),
30
- /整理成/, /拆(?:成|分为)/, /做成?/, /从.*(?:生成|输出|提取|抓取)/,
31
- ];
32
- /** 源码提取信号 — 从 SOURCE_MATERIAL_RULES 转换字段名(kind → inputKind) */
33
- const SOURCE_EXTRACTION_PATTERNS = SOURCE_MATERIAL_RULES.map((r) => ({ pattern: r.pattern, inputKind: r.kind }));
34
- /** 提取类动词 — 使用 EXTRACTION_STRUCTURE + 路由器额外补充 */
35
- const EXTRACTION_VERB_PATTERNS = [
36
- ...EXTRACTION_STRUCTURE,
37
- /(?:拿|用)\s*.*(?:做|生成|输出|提取|梳理|整理)/,
38
- ];
39
- /** 代码修改模式 — 从 ACTION_ALIASES code_change 类别派生 */
40
- const CODE_CHANGE_PATTERNS = ACTION_ALIASES.find((a) => a.category === "code_change").patterns;
41
- /** 分析类模式 — 路由层专用(比信号提取器更精确) */
42
- const ANALYSIS_PATTERNS = [
43
- /分析.*(?:模块|系统|架构|性能|安全|风险|影响)/,
44
- /评估.*(?:风险|可行性|影响|质量)/,
45
- /梳理.*(?:模型|架构|流程|依赖)/,
46
- /看看.*(?:风险|问题|有没有)/,
47
- /影响(?:哪些|范围)/,
48
- /为什么(?:容易|总是|频繁)/,
49
- /(?:报错|错误).*(?:是什么意思|怎么回事)/,
50
- /分析.*(?:报错|错误|异常).*(?:意思|原因|为什么)/,
51
- ];
52
- /** 审查类模式 — 从 ACTION_ALIASES review 类别派生 */
53
- const REVIEW_PATTERNS = ACTION_ALIASES.find((a) => a.category === "review").patterns;
54
- /** 验收/就绪检查模式 — 从 ACTION_ALIASES acceptance 类别派生 */
55
- const ACCEPTANCE_PATTERNS = ACTION_ALIASES.find((a) => a.category === "acceptance").patterns;
56
- const IMPLEMENTATION_VERB_PATTERN = /修复|实现|开发|新增|添加|修改|变更|重构|删除|移除|替换|补(?:单元)?测试|写测试|编码/;
57
- /** 规划类模式 — 从 ACTION_ALIASES plan 类别派生 */
58
- const PLANNING_PATTERNS = ACTION_ALIASES.find((a) => a.category === "plan").patterns;
59
- /** 全流程信号模式 — 直接使用 FULL_PIPELINE_RULES */
60
- const FULL_PIPELINE_SIGNALS = FULL_PIPELINE_RULES;
61
- /** 操作类模式 — 从 ACTION_ALIASES operate 类别派生 */
62
- const OPERATION_PATTERNS = ACTION_ALIASES.find((a) => a.category === "operate").patterns;
63
- /** 纯解释类模式 — 直接使用 PURE_EXPLAIN_RULES */
64
- const PURE_EXPLAIN_PATTERNS = PURE_EXPLAIN_RULES;
65
- // ── 产物检测(保留兼容) ──
66
- function detectArtifact(intent, taskId) {
67
- const id = taskId || "01";
68
- for (const signal of ARTIFACT_SIGNALS) {
69
- if (signal.pattern.test(intent)) {
70
- return {
71
- kind: signal.artifactKind,
72
- path: getDefaultArtifactPath(signal.artifactKind, id),
73
- template: signal.template,
74
- taskId,
75
- };
76
- }
77
- }
78
- if (/(?:文档|方案|规约|计划|清单|报告|说明文档)$/.test(intent)) {
79
- const match = intent.match(/([一-龥]+(?:文档|方案|规约|计划|清单|报告|说明文档))$/);
80
- const name = match ? match[1] : "产物";
81
- return { kind: "unknown", path: `.soloforge/output/${id}/01-${name}.md`, taskId };
82
- }
83
- return undefined;
84
- }
85
- function hasArtifactVerb(intent) {
86
- return ARTIFACT_VERBS.some((p) => p.test(intent));
87
- }
88
- function hasArtifactNoun(intent) {
89
- return ARTIFACT_SIGNALS.some((s) => s.pattern.test(intent))
90
- || /(?:文档|方案|规约|计划|清单|报告|说明文档)$/.test(intent);
91
- }
92
- function inferMissingInputs(intent, hasPath) {
93
- if (hasPath)
94
- return { materials: [], missing: [] };
95
- const missing = [];
96
- const materials = [];
97
- if (/源码包|压缩包|zip包|包文件|源码/.test(intent)) {
98
- materials.push({ kind: "archive", required: true });
99
- missing.push("请提供源码包 zip 或已解压源码目录路径");
100
- }
101
- else if (/报错日志|日志/.test(intent)) {
102
- materials.push({ kind: "log", required: true });
103
- missing.push("请提供日志文件路径或内容");
104
- }
105
- else {
106
- materials.push({ kind: "archive", required: true });
107
- missing.push("请提供输入材料路径");
108
- }
109
- return { materials, missing };
110
- }
111
- /**
112
- * 主路由函数 — 根据用户意图文本确定语义路由和执行形态。
113
- * v2: 调用结构化信号提取 → 打分 → 冲突仲裁,不再依赖单条正则句子匹配。
114
- *
115
- * @param input - 路由输入参数,包含意图文本和可选的项目路径/任务 ID
116
- * @returns 意图路由决策,包含路由类型、执行形态和置信度
117
- */
118
- function logRouteHit(decision) {
119
- debugLog(JSON.stringify({
120
- sf_route_hit: true,
121
- route: decision.route,
122
- execution_shape: decision.execution_shape,
123
- input_materials: decision.input_materials.map((m) => m.kind).join(",") || "none",
124
- output_artifact: decision.output_artifact?.kind ?? "-",
125
- prompt_template: selectPromptTemplate(decision),
126
- confidence: decision.confidence,
127
- }));
128
- }
129
- export function routeIntent(input) {
130
- // 安全校验: 意图文本不能为空或超长(防止资源耗尽)
131
- if (!input.intent || input.intent.trim().length === 0) {
132
- return {
133
- ...mk("skip_chat", "none", false, [], [], undefined, undefined, 0),
134
- skip_reason: "意图文本为空",
135
- evidence: ["empty_intent"],
136
- rejected_routes: [],
137
- conflicts: [],
138
- decision_version: 2,
139
- };
140
- }
141
- const MAX_INTENT_LENGTH = 10_000;
142
- if (input.intent.length > MAX_INTENT_LENGTH) {
143
- return {
144
- ...mk("skip_chat", "none", false, [], [], undefined, undefined, 0),
145
- skip_reason: `意图文本超长 (${input.intent.length} > ${MAX_INTENT_LENGTH})`,
146
- evidence: ["oversized_intent"],
147
- rejected_routes: [],
148
- conflicts: [],
149
- decision_version: 2,
150
- };
151
- }
152
- const decision = routeIntentCore(input);
153
- logRouteHit(decision);
154
- // v2 评分告警:v1 兼容层路由与 v2 评分器推荐路由不一致时记录告警
155
- const v2Signals = extractSignals(input.intent);
156
- const v2Materials = extractInputMaterials(input.intent);
157
- const v2Scored = scoreRoute(input.intent, v2Signals, v2Materials, input.task_id);
158
- const v2TopRoute = v2Scored.score_breakdown.length > 0 ? v2Scored.score_breakdown[0].route : undefined;
159
- if (v2TopRoute && decision.route !== v2TopRoute) {
160
- debugLog(`v2评分告警: v1=${decision.route} v2=${v2TopRoute} intent="${input.intent.slice(0, 60)}"`);
161
- }
162
- // 知识消费: router 消费 routes/primary_triggers/specificity
163
- recordRouterConsumption(decision);
164
- return decision;
165
- }
166
- /**
167
- * 知识消费钩子: 记录 intent_router 的知识资产消费到统一 trace store。
168
- */
169
- import { recordConsumptionTrace, getTracesByConsumer, CONSUMER_FIELD_CONTRACTS } from "../templates/consumption_trace_store.js";
170
- import { listConsumableAssetsByConsumer } from "../templates/consumable_asset_registry.js";
171
- function recordRouterConsumption(decision) {
172
- const routerAssets = listConsumableAssetsByConsumer("intent_router")
173
- .filter(a => a.consumption_mode === "required");
174
- if (routerAssets.length === 0)
175
- return;
176
- for (const asset of routerAssets) {
177
- recordConsumptionTrace({
178
- consumer: "router",
179
- asset_id: asset.id,
180
- fields_consumed: CONSUMER_FIELD_CONTRACTS.router,
181
- matched_reason: `route=${decision.route} shape=${decision.execution_shape} intent=${decision.workflow_intent || "none"} evidence=${(decision.evidence || []).slice(0, 3).join(",")}`,
182
- task_id_or_route: decision.route,
183
- consumed_at: new Date().toISOString(),
184
- });
185
- }
186
- }
187
- /** 获取路由消费追踪 */
188
- export function getRouterConsumptionTrace() {
189
- return getTracesByConsumer("router").map(t => ({
190
- route: t.task_id_or_route,
191
- execution_shape: t.matched_reason.split("shape=")[1]?.split(" ")[0] || "",
192
- consumed_triggers: t.fields_consumed,
193
- consumed_at: t.consumed_at,
194
- }));
195
- }
196
- function routeIntentCore(input) {
197
- const { intent, task_id: taskId } = input;
198
- const normalized = intent.toLowerCase();
199
- debugLog("意图路由: 开始意图路由 (v2 signal-based)");
200
- // ── 阶段 1: 信号提取 ──
201
- const signals = extractSignals(intent);
202
- const materialResult = extractInputMaterials(intent);
203
- const scoredResult = scoreRoute(intent, signals, materialResult, taskId);
204
- // ── 阶段 1.5: 工作流意图优先检查 ──
205
- // 在所有标准路由之前检查 工作流意图,确保精准路由
206
- if (signals.workflow_intent) {
207
- const workflowResolveResult = buildResolveWorkflowDecision(signals, materialResult, scoredResult, taskId);
208
- if (workflowResolveResult) {
209
- debugLog(`意图路由: 工作流意图命中 workflow_intent=${signals.workflow_intent}`);
210
- return workflowResolveResult;
211
- }
212
- }
213
- // ── 阶段 2: 兼容层 — 将新模块结果映射回原有分层逻辑 ──
214
- // 这确保所有现有测试用例的行为不变
215
- // v2 评分告警:对比 v1 兼容层最终路由与 v2 评分器推荐路由,不一致时记录告警
216
- const inputPaths = materialResult.materials.map((m) => ({
217
- kind: m.kind,
218
- path: m.path,
219
- ingestion_status: m.ingestion_status,
220
- }));
221
- const hasInputPaths = inputPaths.length > 0;
222
- // 层 0: 跳过类
223
- if (signals.is_skip) {
224
- debugLog(`意图路由: 匹配跳过模式 (${signals.skip_reason}),路由到 skip_chat`);
225
- const skipRejected = scoredResult.score_breakdown
226
- .filter(s => s.route !== "skip_chat")
227
- .slice(0, 3)
228
- .map(s => ({ route: s.route, reason: s.reasons.join("; "), score: s.score }));
229
- const skipConflicts = signals.negations.length > 0
230
- ? signals.negations.map(n => ({ description: `negation: ${n.negates}`, resolution: `skip_chat via ${signals.skip_reason}` }))
231
- : [];
232
- return {
233
- ...mk("skip_chat", "none", false, [], [], undefined, undefined, 0.95),
234
- skip_reason: signals.skip_reason,
235
- evidence: ["skip:" + signals.skip_reason],
236
- rejected_routes: skipRejected,
237
- conflicts: skipConflicts,
238
- decision_version: 2,
239
- };
240
- }
241
- if (signals.is_general_qa) {
242
- debugLog("意图路由: 匹配通用问答模式,路由到 direct_answer");
243
- const qaRejected = scoredResult.score_breakdown
244
- .filter(s => s.route !== "direct_answer")
245
- .slice(0, 3)
246
- .map(s => ({ route: s.route, reason: s.reasons.join("; "), score: s.score }));
247
- return {
248
- ...mk("direct_answer", "none", false, [], [], undefined, undefined, 0.9),
249
- evidence: ["general_qa"],
250
- rejected_routes: qaRejected,
251
- decision_version: 2,
252
- };
253
- }
254
- const artifactVerbPresent = hasArtifactVerb(intent);
255
- const hasArtifactSignal = artifactVerbPresent && hasArtifactNoun(intent);
256
- const artifact = detectArtifact(intent, taskId);
257
- const hasArchiveLogSignal = SOURCE_EXTRACTION_PATTERNS.some((s) => s.pattern.test(intent));
258
- const hasExtractionVerb = EXTRACTION_VERB_PATTERNS.some((p) => p.test(intent));
259
- const hasSourceExtraction = hasArchiveLogSignal
260
- || (hasExtractionVerb && (hasInputPaths || /源码/.test(intent)));
261
- const isFullPipeline = FULL_PIPELINE_SIGNALS.some((p) => p.test(intent));
262
- // ── 冲突仲裁:检查否定/约束信号 ──
263
- const hasNoPipeline = signals.negations.some((n) => n.negates === "pipeline");
264
- // 层 1: 源码/材料提取
265
- if (hasSourceExtraction && (hasArtifactSignal || artifact)) {
266
- debugLog("意图路由: 路由到 source_extraction");
267
- const materials = hasInputPaths
268
- ? inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: true, ingestion_status: p.ingestion_status }))
269
- : inferMissingInputs(intent, false).materials.map((m) => ({ kind: m.kind, required: m.required }));
270
- const missing = hasInputPaths
271
- ? []
272
- : inferMissingInputs(intent, false).missing;
273
- const inferred = hasInputPaths ? undefined : inferMissingInputs(intent, false).materials;
274
- const rejectedRoutes = scoredResult.score_breakdown
275
- .filter(s => s.route !== "source_extraction")
276
- .slice(0, 3)
277
- .map(s => ({ route: s.route, reason: s.reasons.join("; "), score: s.score }));
278
- return {
279
- ...mk("source_extraction", "single_artifact", false, materials, missing, artifact ?? { kind: "custom", path: `.soloforge/output/${taskId ?? "01"}/01-提取产物.md`, taskId }, inferPipelineHint(intent, artifact?.kind), 0.8),
280
- operation_type: resolveOperationType("source_extraction"),
281
- inferred_materials: inferred,
282
- needs_clarification: missing.length > 0,
283
- route_reason: scoredResult.route_reason,
284
- signal_evidence: scoredResult.signal_evidence,
285
- evidence: scoredResult.signal_evidence,
286
- rejected_routes: rejectedRoutes,
287
- decision_version: 2,
288
- };
289
- }
290
- // 层 2: 规划
291
- if (PLANNING_PATTERNS.some((p) => p.test(normalized)) || isFullPipeline) {
292
- debugLog("意图路由: 路由到 planning");
293
- if (isFullPipeline && !hasNoPipeline) {
294
- return {
295
- ...mk("planning", "multi_stage_plan", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], artifact, inferPipelineHint(intent, artifact?.kind), 0.75),
296
- route_reason: scoredResult.route_reason,
297
- signal_evidence: scoredResult.signal_evidence,
298
- decision_version: 2,
299
- };
300
- }
301
- return {
302
- ...mk("planning", "single_artifact", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], { kind: "task_breakdown", path: `.soloforge/output/${taskId ?? "01"}/01-任务拆解.md`, taskId }, undefined, 0.8),
303
- route_reason: scoredResult.route_reason,
304
- signal_evidence: scoredResult.signal_evidence,
305
- decision_version: 2,
306
- };
307
- }
308
- // 层 3: 操作
309
- if (OPERATION_PATTERNS.some((p) => p.test(normalized))) {
310
- debugLog("意图路由: 路由到 operation");
311
- return {
312
- ...mk("operation", "verification_only", false, [], [], undefined, undefined, 0.8),
313
- route_reason: scoredResult.route_reason,
314
- decision_version: 2,
315
- };
316
- }
317
- // 层 3.5: 分析
318
- if (ANALYSIS_PATTERNS.some((p) => p.test(normalized)) && !artifactVerbPresent) {
319
- debugLog("意图路由: 路由到 analysis(分析优先)");
320
- const _analysisEarlyArtifact = detectArtifact(normalized, taskId);
321
- return {
322
- ...mk("analysis", "read_only_analysis", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], _analysisEarlyArtifact, undefined, 0.8),
323
- operation_type: resolveOperationType("analysis"),
324
- route_reason: scoredResult.route_reason,
325
- decision_version: 2,
326
- };
327
- }
328
- // 层 4: 产物生成
329
- if (hasArtifactSignal || (artifactVerbPresent && artifact && !PURE_EXPLAIN_PATTERNS.some((p) => p.test(intent)))) {
330
- debugLog("意图路由: 路由到 artifact_generation");
331
- const missing = [];
332
- if (/根据\s*(?:PRD|需求文档|原型|接口文档|设计文档|源码)/i.test(intent) && inputPaths.length === 0) {
333
- const refMatch = intent.match(/根据\s*(PRD|需求文档|原型|接口文档|设计文档|源码)/i);
334
- if (refMatch)
335
- missing.push(`请提供 ${refMatch[1]} 文件路径或内容`);
336
- }
337
- return {
338
- ...mk("artifact_generation", "single_artifact", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), missing, artifact ?? { kind: "custom", path: `.soloforge/output/${taskId ?? "01"}/01-产物.md`, taskId }, inferPipelineHint(intent, artifact?.kind), 0.8),
339
- operation_type: resolveOperationType("artifact_generation"),
340
- needs_clarification: missing.length > 0,
341
- route_reason: scoredResult.route_reason,
342
- signal_evidence: scoredResult.signal_evidence,
343
- decision_version: 2,
344
- };
345
- }
346
- // 层 5: 纯验收/就绪检查
347
- // "检查脚手架是否就绪" 是只读验收,不应因出现"脚手架"就进入 scaffold/code_change。
348
- // 但 "验收失败后修复代码" 仍是施工任务,交给 code_change。
349
- if (ACCEPTANCE_PATTERNS.some((p) => p.test(normalized)) && !IMPLEMENTATION_VERB_PATTERN.test(normalized)) {
350
- debugLog("意图路由: 路由到 acceptance(只读验收/就绪检查)");
351
- const _artifact = detectArtifact(normalized, taskId);
352
- return {
353
- ...mk("acceptance", "read_only_analysis", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], _artifact, undefined, 0.9),
354
- operation_type: resolveOperationType("acceptance"),
355
- route_reason: scoredResult.route_reason || "acceptance_readiness_check",
356
- signal_evidence: scoredResult.signal_evidence.length > 0 ? scoredResult.signal_evidence : ["acceptance"],
357
- evidence: scoredResult.signal_evidence.length > 0 ? scoredResult.signal_evidence : ["acceptance"],
358
- decision_version: 2,
359
- };
360
- }
361
- // 层 6: 代码修改
362
- if (CODE_CHANGE_PATTERNS.some((p) => p.test(normalized))) {
363
- debugLog("意图路由: 路由到 code_change");
364
- const _codeChangeArtifact = detectArtifact(normalized, taskId);
365
- return {
366
- ...mk("code_change", "code_execution", true, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], _codeChangeArtifact, undefined, 0.85),
367
- operation_type: resolveOperationType("code_change"),
368
- route_reason: scoredResult.route_reason,
369
- decision_version: 2,
370
- };
371
- }
372
- // 层 7: 审查
373
- if (REVIEW_PATTERNS.some((p) => p.test(normalized))) {
374
- debugLog("意图路由: 路由到 review");
375
- const _reviewArtifact = detectArtifact(normalized, taskId);
376
- return {
377
- ...mk("review", "read_only_analysis", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], _reviewArtifact, undefined, 0.85),
378
- operation_type: resolveOperationType("review"),
379
- route_reason: scoredResult.route_reason,
380
- decision_version: 2,
381
- };
382
- }
383
- // 层 8: 通用分析
384
- if (ANALYSIS_PATTERNS.some((p) => p.test(normalized))) {
385
- debugLog("意图路由: 路由到 analysis(通用)");
386
- const _analysisArtifact = detectArtifact(normalized, taskId);
387
- return {
388
- ...mk("analysis", "read_only_analysis", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], _analysisArtifact, undefined, 0.8),
389
- operation_type: resolveOperationType("analysis"),
390
- route_reason: scoredResult.route_reason,
391
- decision_version: 2,
392
- };
393
- }
394
- // 层 9: 灰区
395
- if (/整理(?:一下|下)?/.test(intent)) {
396
- if (!hasArtifactNoun(intent)) {
397
- return {
398
- ...mk("direct_answer", "none", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], undefined, undefined, 0.6),
399
- route_reason: "gray_zone:organize",
400
- decision_version: 2,
401
- };
402
- }
403
- }
404
- // 层 10: 纯解释
405
- if (PURE_EXPLAIN_PATTERNS.some((p) => p.test(intent))) {
406
- if (/(?:这个|这|项目里|项目中的|当前|现有)/.test(intent)) {
407
- return {
408
- ...mk("analysis", "read_only_analysis", false, [], [], undefined, undefined, 0.7),
409
- operation_type: resolveOperationType("analysis"),
410
- route_reason: "pure_explain+context",
411
- decision_version: 2,
412
- };
413
- }
414
- return {
415
- ...mk("direct_answer", "none", false, [], [], undefined, undefined, 0.85),
416
- route_reason: "pure_explain",
417
- decision_version: 2,
418
- };
419
- }
420
- // 层 11: "看看" 灰区
421
- if (/看看|看下/.test(intent)) {
422
- if (/(?:风险|问题|有没有)/.test(intent)) {
423
- const _grayReviewArtifact = detectArtifact(intent, taskId);
424
- return {
425
- ...mk("review", "read_only_analysis", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], _grayReviewArtifact, undefined, 0.7),
426
- operation_type: resolveOperationType("review"),
427
- route_reason: "gray:review",
428
- decision_version: 2,
429
- };
430
- }
431
- return {
432
- ...mk("direct_answer", "none", false, inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: false, ingestion_status: p.ingestion_status })), [], undefined, undefined, 0.6),
433
- route_reason: "gray:look",
434
- decision_version: 2,
435
- };
436
- }
437
- // 兜底
438
- debugLog("意图路由: 未匹配任何规则,兜底路由到 direct_answer");
439
- return {
440
- ...mk("direct_answer", "none", false, [], [], undefined, undefined, 0.3),
441
- decision_version: 2,
442
- };
443
- }
444
- const EXTENSION_WORKFLOW_MAP = {
445
- architecture_design: {
446
- route: "artifact_generation",
447
- execution_shape: "multi_stage_plan",
448
- mutation_allowed: false,
449
- prompt_template: "architecture_design_prompt",
450
- pipeline_hint: "architecture-design",
451
- confidence: 0.9,
452
- },
453
- existing_system_gap_analysis: {
454
- route: "analysis",
455
- execution_shape: "multi_stage_plan",
456
- mutation_allowed: false,
457
- prompt_template: "gap_analysis_prompt",
458
- pipeline_hint: "existing-system-gap-analysis",
459
- confidence: 0.9,
460
- },
461
- test_first_coding: {
462
- route: "code_change",
463
- execution_shape: "multi_stage_plan",
464
- mutation_allowed: true,
465
- prompt_template: "test_first_coding_prompt",
466
- pipeline_hint: "test-first-coding",
467
- confidence: 0.9,
468
- },
469
- local_browser_acceptance: {
470
- route: "operation",
471
- execution_shape: "read_only_analysis",
472
- mutation_allowed: false,
473
- prompt_template: "local_acceptance_prompt",
474
- pipeline_hint: "local-browser-acceptance",
475
- confidence: 0.9,
476
- },
477
- };
478
- /**
479
- * 根据 工作流意图信号构建完整路由决策。
480
- * 在标准路由之前检查,确保精准路由到扩展平台工作流。
481
- */
482
- function buildResolveWorkflowDecision(signals, materialResult, scoredResult, taskId) {
483
- const workflowIntent = signals.workflow_intent;
484
- if (!workflowIntent)
485
- return null;
486
- const mapping = EXTENSION_WORKFLOW_MAP[workflowIntent];
487
- if (!mapping)
488
- return null;
489
- // 有源码提取材料(archive 等)时优先走 source_extraction,不拦截到扩展平台工作流
490
- const hasArchiveMaterial = materialResult.materials.some((m) => m.kind === "archive");
491
- if (hasArchiveMaterial)
492
- return null;
493
- const inputPaths = materialResult.materials.map((m) => ({
494
- kind: m.kind,
495
- path: m.path,
496
- ingestion_status: m.ingestion_status,
497
- }));
498
- const artifact = workflowIntent === "architecture_design"
499
- ? detectArtifact("架构设计", taskId)
500
- : undefined;
501
- const rejectedRoutes = scoredResult.score_breakdown
502
- .filter(s => s.route !== mapping.route)
503
- .slice(0, 3)
504
- .map(s => ({ route: s.route, reason: s.reasons.join("; "), score: s.score }));
505
- return {
506
- ...mk(mapping.route, mapping.execution_shape, mapping.mutation_allowed, inputPaths.length > 0
507
- ? inputPaths.map((p) => ({ kind: p.kind, path: p.path, required: true, ingestion_status: p.ingestion_status }))
508
- : [], [], artifact, mapping.pipeline_hint, mapping.confidence),
509
- operation_type: resolveOperationType(mapping.route),
510
- workflow_intent: workflowIntent,
511
- route_reason: `workflow_resolve:${workflowIntent}`,
512
- signal_evidence: [`workflow_intent:${workflowIntent}`],
513
- evidence: [`workflow_resolve:${workflowIntent}`],
514
- rejected_routes: rejectedRoutes,
515
- decision_version: 2,
516
- };
517
- }
518
- // ── 构造函数 ──
519
- /** 从意图路由推导产物操作类型 */
520
- function resolveOperationType(route) {
521
- switch (route) {
522
- case "source_extraction": return "extract";
523
- case "artifact_generation": return "extract";
524
- case "review": return "review";
525
- case "code_change": return "fix";
526
- case "acceptance": return "review";
527
- case "analysis": return "review";
528
- default: return "iterate";
529
- }
530
- }
531
- function mk(route, execution_shape, mutation_allowed, input_materials, missing, output_artifact, pipeline_hint, confidence) {
532
- return {
533
- route, execution_shape, mutation_allowed, input_materials,
534
- output_artifact, pipeline_hint, missing_required_inputs: missing, confidence,
535
- scope: { read_only: !mutation_allowed, description: route + " scope" },
536
- constraints: mutation_allowed ? [] : ["no_mutation"],
537
- language_policy: { primary: "zh-CN", fallback: "en" },
538
- evidence: [],
539
- rejected_routes: [],
540
- conflicts: [],
541
- };
542
- }
543
- // ── 流水线提示 ──
544
- function inferPipelineHint(intent, artifactKind) {
545
- if (/源码.*原型|原型.*源码|源码包.*原型|prototype/i.test(intent)) {
546
- return "source-prototype-to-delivery:step-1";
547
- }
548
- if (/从.*(?:设计|需求|原型).*到.*(?:交付|完成)/.test(intent)) {
549
- return "source-prototype-to-delivery";
550
- }
551
- switch (artifactKind) {
552
- case "prototype_spec": return "source-prototype-to-delivery:step-1";
553
- case "api_spec": return "source-prototype-to-delivery:step-4";
554
- case "design_doc": return "source-prototype-to-delivery:step-3";
555
- case "test_plan": return "source-prototype-to-delivery:step-5";
556
- default: return undefined;
557
- }
558
- }
559
- // ── 外部 API(保持不变) ──
560
- export function shouldEnterSoloForge(decision) {
561
- debugLog("意图路由: 判断是否进入 SoloForge,当前路由: " + decision.route);
562
- return decision.route !== "skip_chat" && decision.route !== "direct_answer";
563
- }
564
- export function selectPromptTemplate(decision) {
565
- debugLog("意图路由: 选择 Prompt 模板,路由: " + decision.route + ", 执行形态: " + decision.execution_shape + ", workflow_intent: " + (decision.workflow_intent ?? "none"));
566
- // 工作流意图优先选择对应模板
567
- if (decision.workflow_intent) {
568
- const mapping = EXTENSION_WORKFLOW_MAP[decision.workflow_intent];
569
- if (mapping)
570
- return mapping.prompt_template;
571
- }
572
- if (decision.route === "source_extraction")
573
- return "source_extraction_prompt";
574
- if (decision.route === "direct_answer")
575
- return "direct_answer_prompt";
576
- if (decision.route === "acceptance")
577
- return "acceptance_prompt";
578
- switch (decision.execution_shape) {
579
- case "code_execution": return "code_execution_prompt";
580
- case "single_artifact": return "single_artifact_prompt";
581
- case "read_only_analysis": return "read_only_analysis_prompt";
582
- case "verification_only": return "verification_only_prompt";
583
- case "multi_stage_plan": return "single_artifact_prompt";
584
- case "none": return "direct_answer_prompt";
585
- default: return "code_execution_prompt";
586
- }
587
- }
588
- export function debugRouteIntent(input) {
589
- const { intent, task_id: taskId } = input;
590
- const materialResult = extractInputMaterials(intent);
591
- const signals = extractSignals(intent);
592
- const scored = scoreRoute(intent, signals, materialResult, taskId);
593
- const decision = routeIntent(input);
594
- const whyNotSkip = signals.is_skip
595
- ? `skip detected: ${signals.skip_reason}`
596
- : signals.is_general_qa
597
- ? "general QA pattern"
598
- : "has SoloForge-relevant signals";
599
- return {
600
- intent,
601
- extracted_materials: materialResult,
602
- signals,
603
- scored,
604
- final_decision: decision,
605
- why_not_skip: whyNotSkip,
606
- };
607
- }
608
- //# sourceMappingURL=intent_router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intent_router.js","sourceRoot":"","sources":["../../../src/engine/pipeline/intent_router.ts"],"names":[],"mappings":"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"}