soloforge 1.1.37 → 1.1.40

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 (1141) hide show
  1. package/CHANGELOG.md +149 -149
  2. package/README.md +77 -53
  3. package/dist/adapters/claude_code/claude_md.js +2 -2
  4. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  5. package/dist/adapters/codex/codex_rules.js +1 -1
  6. package/dist/adapters/codex/codex_rules.js.map +1 -1
  7. package/dist/adapters/shared/workflow_template.js +1 -1
  8. package/dist/adapters/trae/trae_rules.js +1 -1
  9. package/dist/adapters/trae/trae_rules.js.map +1 -1
  10. package/dist/bin/commands/analyze.d.ts +7 -0
  11. package/dist/bin/commands/analyze.d.ts.map +1 -0
  12. package/dist/bin/commands/analyze.js +52 -0
  13. package/dist/bin/commands/analyze.js.map +1 -0
  14. package/dist/bin/commands/audit.d.ts.map +1 -1
  15. package/dist/bin/commands/audit.js +105 -84
  16. package/dist/bin/commands/audit.js.map +1 -1
  17. package/dist/bin/commands/check_bash.d.ts.map +1 -1
  18. package/dist/bin/commands/check_bash.js +48 -10
  19. package/dist/bin/commands/check_bash.js.map +1 -1
  20. package/dist/bin/commands/check_write.d.ts +9 -0
  21. package/dist/bin/commands/check_write.d.ts.map +1 -1
  22. package/dist/bin/commands/check_write.js +168 -11
  23. package/dist/bin/commands/check_write.js.map +1 -1
  24. package/dist/bin/commands/init.d.ts +2 -5
  25. package/dist/bin/commands/init.d.ts.map +1 -1
  26. package/dist/bin/commands/init.js +116 -137
  27. package/dist/bin/commands/init.js.map +1 -1
  28. package/dist/bin/commands/modify.d.ts +7 -0
  29. package/dist/bin/commands/modify.d.ts.map +1 -0
  30. package/dist/bin/commands/modify.js +74 -0
  31. package/dist/bin/commands/modify.js.map +1 -0
  32. package/dist/bin/commands/reasoning.d.ts +14 -0
  33. package/dist/bin/commands/reasoning.d.ts.map +1 -0
  34. package/dist/bin/commands/reasoning.js +158 -0
  35. package/dist/bin/commands/reasoning.js.map +1 -0
  36. package/dist/bin/commands/review.d.ts +7 -0
  37. package/dist/bin/commands/review.d.ts.map +1 -0
  38. package/dist/bin/commands/review.js +79 -0
  39. package/dist/bin/commands/review.js.map +1 -0
  40. package/dist/bin/commands/status.d.ts +6 -5
  41. package/dist/bin/commands/status.d.ts.map +1 -1
  42. package/dist/bin/commands/status.js +63 -120
  43. package/dist/bin/commands/status.js.map +1 -1
  44. package/dist/bin/commands/sync.d.ts +1 -1
  45. package/dist/bin/commands/sync.js +10 -10
  46. package/dist/bin/commands/sync.js.map +1 -1
  47. package/dist/bin/commands/validate.d.ts +4 -1
  48. package/dist/bin/commands/validate.d.ts.map +1 -1
  49. package/dist/bin/commands/validate.js +88 -99
  50. package/dist/bin/commands/validate.js.map +1 -1
  51. package/dist/bin/config_commands.d.ts +21 -20
  52. package/dist/bin/config_commands.d.ts.map +1 -1
  53. package/dist/bin/config_commands.js +209 -236
  54. package/dist/bin/config_commands.js.map +1 -1
  55. package/dist/bin/soloforge.js +60 -22
  56. package/dist/bin/soloforge.js.map +1 -1
  57. package/dist/engine/adapter_prompt_contract.d.ts +1 -1
  58. package/dist/engine/adapter_prompt_contract.d.ts.map +1 -1
  59. package/dist/engine/adapter_prompt_contract.js +1 -1
  60. package/dist/engine/adapter_prompt_contract.js.map +1 -1
  61. package/dist/engine/audit/audit_sampler.d.ts +1 -1
  62. package/dist/engine/audit/confidence_scorer.d.ts +16 -0
  63. package/dist/engine/audit/confidence_scorer.d.ts.map +1 -1
  64. package/dist/engine/audit/confidence_scorer.js +19 -0
  65. package/dist/engine/audit/confidence_scorer.js.map +1 -1
  66. package/dist/engine/audit/core_engineering_principles.d.ts +4 -4
  67. package/dist/engine/audit/core_engineering_principles.d.ts.map +1 -1
  68. package/dist/engine/audit/core_engineering_principles.js +18 -21
  69. package/dist/engine/audit/core_engineering_principles.js.map +1 -1
  70. package/dist/engine/audit/core_experience_principle.js +3 -3
  71. package/dist/engine/audit/core_experience_principle.js.map +1 -1
  72. package/dist/engine/audit/debt_reporter.d.ts +1 -1
  73. package/dist/engine/audit/debugger.d.ts +1 -1
  74. package/dist/engine/audit/delivery_readiness.d.ts +2 -2
  75. package/dist/engine/audit/delivery_readiness.js +2 -2
  76. package/dist/engine/audit/diagnostic_registry.js +4 -4
  77. package/dist/engine/audit/diagnostic_registry.js.map +1 -1
  78. package/dist/engine/audit/evolver.d.ts.map +1 -1
  79. package/dist/engine/audit/evolver.js +0 -2
  80. package/dist/engine/audit/evolver.js.map +1 -1
  81. package/dist/engine/audit/governance_report.d.ts +9 -8
  82. package/dist/engine/audit/governance_report.d.ts.map +1 -1
  83. package/dist/engine/audit/governance_report.js +17 -16
  84. package/dist/engine/audit/governance_report.js.map +1 -1
  85. package/dist/engine/audit/observability.d.ts +1 -1
  86. package/dist/engine/audit/observability.js +1 -1
  87. package/dist/engine/audit/risk_sampler.d.ts +1 -1
  88. package/dist/engine/audit/risk_sampler.js +1 -1
  89. package/dist/engine/audit/semantic_evidence.d.ts +1 -1
  90. package/dist/engine/audit/semantic_evidence.js +1 -1
  91. package/dist/engine/audit/test_generator.js +1 -1
  92. package/dist/engine/audit/test_quality.d.ts +1 -1
  93. package/dist/engine/audit/test_quality.js +1 -1
  94. package/dist/engine/change_coordinator.d.ts.map +1 -1
  95. package/dist/engine/change_coordinator.js +1 -4
  96. package/dist/engine/change_coordinator.js.map +1 -1
  97. package/dist/engine/config/conflicts.d.ts +39 -0
  98. package/dist/engine/config/conflicts.d.ts.map +1 -0
  99. package/dist/engine/config/conflicts.js +79 -0
  100. package/dist/engine/config/conflicts.js.map +1 -0
  101. package/dist/engine/config/detector/blueprint.d.ts +25 -0
  102. package/dist/engine/config/detector/blueprint.d.ts.map +1 -0
  103. package/dist/engine/config/detector/blueprint.js +47 -0
  104. package/dist/engine/config/detector/blueprint.js.map +1 -0
  105. package/dist/engine/config/detector/fingerprint.d.ts +67 -0
  106. package/dist/engine/config/detector/fingerprint.d.ts.map +1 -0
  107. package/dist/engine/config/detector/fingerprint.js +160 -0
  108. package/dist/engine/config/detector/fingerprint.js.map +1 -0
  109. package/dist/engine/config/detector/framework_map.d.ts +89 -0
  110. package/dist/engine/config/detector/framework_map.d.ts.map +1 -0
  111. package/dist/engine/config/detector/framework_map.js +406 -0
  112. package/dist/engine/config/detector/framework_map.js.map +1 -0
  113. package/dist/engine/config/detector/index.d.ts +12 -0
  114. package/dist/engine/config/detector/index.d.ts.map +1 -0
  115. package/dist/engine/config/detector/index.js +12 -0
  116. package/dist/engine/config/detector/index.js.map +1 -0
  117. package/dist/engine/config/detector/verify.d.ts +32 -0
  118. package/dist/engine/config/detector/verify.d.ts.map +1 -0
  119. package/dist/engine/config/detector/verify.js +107 -0
  120. package/dist/engine/config/detector/verify.js.map +1 -0
  121. package/dist/engine/config/intent.d.ts +26 -0
  122. package/dist/engine/config/intent.d.ts.map +1 -0
  123. package/dist/engine/config/intent.js +81 -0
  124. package/dist/engine/config/intent.js.map +1 -0
  125. package/dist/engine/config/intent_schema.d.ts +873 -0
  126. package/dist/engine/config/intent_schema.d.ts.map +1 -0
  127. package/dist/engine/config/intent_schema.js +98 -0
  128. package/dist/engine/config/intent_schema.js.map +1 -0
  129. package/dist/engine/config/regression_matrix.d.ts.map +1 -1
  130. package/dist/engine/config/regression_matrix.js +28 -49
  131. package/dist/engine/config/regression_matrix.js.map +1 -1
  132. package/dist/engine/config/resolver.d.ts +136 -0
  133. package/dist/engine/config/resolver.d.ts.map +1 -0
  134. package/dist/engine/config/resolver.js +251 -0
  135. package/dist/engine/config/resolver.js.map +1 -0
  136. package/dist/engine/context_engine/bootstrap.d.ts +12 -0
  137. package/dist/engine/context_engine/bootstrap.d.ts.map +1 -0
  138. package/dist/engine/context_engine/bootstrap.js +28 -0
  139. package/dist/engine/context_engine/bootstrap.js.map +1 -0
  140. package/dist/engine/context_engine/companion_injector.d.ts +49 -0
  141. package/dist/engine/context_engine/companion_injector.d.ts.map +1 -0
  142. package/dist/engine/context_engine/companion_injector.js +157 -0
  143. package/dist/engine/context_engine/companion_injector.js.map +1 -0
  144. package/dist/engine/context_engine/context_resolver.d.ts +46 -0
  145. package/dist/engine/context_engine/context_resolver.d.ts.map +1 -0
  146. package/dist/engine/context_engine/context_resolver.js +139 -0
  147. package/dist/engine/context_engine/context_resolver.js.map +1 -0
  148. package/dist/engine/context_engine/index.d.ts +25 -0
  149. package/dist/engine/context_engine/index.d.ts.map +1 -0
  150. package/dist/engine/context_engine/index.js +25 -0
  151. package/dist/engine/context_engine/index.js.map +1 -0
  152. package/dist/engine/context_engine/view_registry.d.ts +45 -0
  153. package/dist/engine/context_engine/view_registry.d.ts.map +1 -0
  154. package/dist/engine/context_engine/view_registry.js +36 -0
  155. package/dist/engine/context_engine/view_registry.js.map +1 -0
  156. package/dist/engine/context_engine/views/change_impact.d.ts +34 -0
  157. package/dist/engine/context_engine/views/change_impact.d.ts.map +1 -0
  158. package/dist/engine/context_engine/views/change_impact.js +288 -0
  159. package/dist/engine/context_engine/views/change_impact.js.map +1 -0
  160. package/dist/engine/context_engine/views/coverage_gap.d.ts +45 -0
  161. package/dist/engine/context_engine/views/coverage_gap.d.ts.map +1 -0
  162. package/dist/engine/context_engine/views/coverage_gap.js +238 -0
  163. package/dist/engine/context_engine/views/coverage_gap.js.map +1 -0
  164. package/dist/engine/context_engine/views/dependency_graph.d.ts +45 -0
  165. package/dist/engine/context_engine/views/dependency_graph.d.ts.map +1 -0
  166. package/dist/engine/context_engine/views/dependency_graph.js +358 -0
  167. package/dist/engine/context_engine/views/dependency_graph.js.map +1 -0
  168. package/dist/engine/context_engine/views/file_impact.d.ts +46 -0
  169. package/dist/engine/context_engine/views/file_impact.d.ts.map +1 -0
  170. package/dist/engine/context_engine/views/file_impact.js +181 -0
  171. package/dist/engine/context_engine/views/file_impact.js.map +1 -0
  172. package/dist/engine/context_engine/views/knowledge_ref.d.ts +37 -0
  173. package/dist/engine/context_engine/views/knowledge_ref.d.ts.map +1 -0
  174. package/dist/engine/context_engine/views/knowledge_ref.js +264 -0
  175. package/dist/engine/context_engine/views/knowledge_ref.js.map +1 -0
  176. package/dist/engine/context_engine/views/reference_trace.d.ts +49 -0
  177. package/dist/engine/context_engine/views/reference_trace.d.ts.map +1 -0
  178. package/dist/engine/context_engine/views/reference_trace.js +227 -0
  179. package/dist/engine/context_engine/views/reference_trace.js.map +1 -0
  180. package/dist/engine/contracts/architecture_decision_workshop.d.ts +1 -1
  181. package/dist/engine/contracts/architecture_decision_workshop.js +1 -1
  182. package/dist/engine/contracts/artifact_schema_registry.d.ts +2 -0
  183. package/dist/engine/contracts/artifact_schema_registry.d.ts.map +1 -1
  184. package/dist/engine/contracts/artifact_schema_registry.js +31 -1
  185. package/dist/engine/contracts/artifact_schema_registry.js.map +1 -1
  186. package/dist/engine/contracts/capability_registry.d.ts.map +1 -1
  187. package/dist/engine/contracts/capability_registry.js +6 -33
  188. package/dist/engine/contracts/capability_registry.js.map +1 -1
  189. package/dist/engine/contracts/code_maintainability_observability_contract.js +2 -2
  190. package/dist/engine/contracts/code_maintainability_observability_contract.js.map +1 -1
  191. package/dist/engine/contracts/command_execution_contract.d.ts +1 -1
  192. package/dist/engine/contracts/command_execution_contract.js +3 -3
  193. package/dist/engine/contracts/command_execution_contract.js.map +1 -1
  194. package/dist/engine/contracts/contract_guard.js +8 -0
  195. package/dist/engine/contracts/contract_guard.js.map +1 -1
  196. package/dist/engine/contracts/contract_registry/builtin_contracts_core.d.ts.map +1 -1
  197. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js +13 -31
  198. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js.map +1 -1
  199. package/dist/engine/contracts/control_plane_contract.d.ts.map +1 -1
  200. package/dist/engine/contracts/control_plane_contract.js +27 -13
  201. package/dist/engine/contracts/control_plane_contract.js.map +1 -1
  202. package/dist/engine/contracts/decision_contract.d.ts +1 -1
  203. package/dist/engine/contracts/decision_contract.js +1 -1
  204. package/dist/engine/contracts/decision_workshop.d.ts +1 -3
  205. package/dist/engine/contracts/decision_workshop.d.ts.map +1 -1
  206. package/dist/engine/contracts/decision_workshop.js.map +1 -1
  207. package/dist/engine/contracts/design_lifecycle_contract.d.ts +2 -2
  208. package/dist/engine/contracts/design_lifecycle_contract.d.ts.map +1 -1
  209. package/dist/engine/contracts/design_lifecycle_contract.js +26 -20
  210. package/dist/engine/contracts/design_lifecycle_contract.js.map +1 -1
  211. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js +11 -11
  212. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js.map +1 -1
  213. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.d.ts.map +1 -1
  214. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js +2 -39
  215. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js.map +1 -1
  216. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.d.ts.map +1 -1
  217. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js +68 -28
  218. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js.map +1 -1
  219. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js +11 -11
  220. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js.map +1 -1
  221. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js +10 -10
  222. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js.map +1 -1
  223. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.d.ts.map +1 -1
  224. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js +8 -84
  225. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js.map +1 -1
  226. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js +18 -18
  227. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js.map +1 -1
  228. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js +12 -12
  229. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js.map +1 -1
  230. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js +3 -3
  231. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js.map +1 -1
  232. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.d.ts.map +1 -1
  233. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js +4 -3
  234. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js.map +1 -1
  235. package/dist/engine/contracts/enforcement_guard.d.ts +1 -1
  236. package/dist/engine/contracts/enforcement_guard.js +3 -3
  237. package/dist/engine/contracts/enforcement_guard.js.map +1 -1
  238. package/dist/engine/contracts/error_path_verifier.js +2 -2
  239. package/dist/engine/contracts/error_path_verifier.js.map +1 -1
  240. package/dist/engine/contracts/evolution_regression_gate.d.ts +1 -1
  241. package/dist/engine/contracts/evolution_regression_gate.js +1 -1
  242. package/dist/engine/contracts/first_principles.d.ts +47 -0
  243. package/dist/engine/contracts/first_principles.d.ts.map +1 -1
  244. package/dist/engine/contracts/first_principles.js +56 -0
  245. package/dist/engine/contracts/first_principles.js.map +1 -1
  246. package/dist/engine/contracts/instruction_contract.js +1 -1
  247. package/dist/engine/contracts/instruction_contract.js.map +1 -1
  248. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts +2 -2
  249. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
  250. package/dist/engine/contracts/lifecycle_knowledge_contract.js +10 -10
  251. package/dist/engine/contracts/lifecycle_knowledge_contract.js.map +1 -1
  252. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts +1 -1
  253. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +1 -1
  254. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js +20 -36
  255. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js.map +1 -1
  256. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js +30 -30
  257. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js.map +1 -1
  258. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +3 -2
  259. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +1 -1
  260. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js +75 -52
  261. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js.map +1 -1
  262. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.d.ts +2 -2
  263. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.d.ts.map +1 -1
  264. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js +23 -61
  265. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js.map +1 -1
  266. package/dist/engine/contracts/mechanism_health_check.d.ts +1 -1
  267. package/dist/engine/contracts/mechanism_health_check.js +1 -1
  268. package/dist/engine/contracts/omission_scanner.d.ts +1 -1
  269. package/dist/engine/contracts/omission_scanner.js +1 -1
  270. package/dist/engine/contracts/platform_context.d.ts +1 -1
  271. package/dist/engine/contracts/platform_context.js +1 -1
  272. package/dist/engine/contracts/project_knowledge_contract.d.ts +3 -2
  273. package/dist/engine/contracts/project_knowledge_contract.d.ts.map +1 -1
  274. package/dist/engine/contracts/project_knowledge_contract.js +8 -7
  275. package/dist/engine/contracts/project_knowledge_contract.js.map +1 -1
  276. package/dist/engine/contracts/slice_fix_loop.d.ts +86 -0
  277. package/dist/engine/contracts/slice_fix_loop.d.ts.map +1 -0
  278. package/dist/engine/contracts/slice_fix_loop.js +98 -0
  279. package/dist/engine/contracts/slice_fix_loop.js.map +1 -0
  280. package/dist/engine/contracts/state_machine_contracts.d.ts +17 -0
  281. package/dist/engine/contracts/state_machine_contracts.d.ts.map +1 -0
  282. package/dist/engine/contracts/state_machine_contracts.js +97 -0
  283. package/dist/engine/contracts/state_machine_contracts.js.map +1 -0
  284. package/dist/engine/contracts/technology_decision.d.ts +18 -0
  285. package/dist/engine/contracts/technology_decision.d.ts.map +1 -1
  286. package/dist/engine/contracts/technology_decision.js +38 -0
  287. package/dist/engine/contracts/technology_decision.js.map +1 -1
  288. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts +2 -3
  289. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  290. package/dist/engine/contracts/tool_invocation_contract_registry.js +205 -186
  291. package/dist/engine/contracts/tool_invocation_contract_registry.js.map +1 -1
  292. package/dist/engine/contracts/user_feedback_contract.d.ts +1 -1
  293. package/dist/engine/contracts/user_feedback_contract.d.ts.map +1 -1
  294. package/dist/engine/contracts/user_feedback_contract.js +6 -9
  295. package/dist/engine/contracts/user_feedback_contract.js.map +1 -1
  296. package/dist/engine/contracts/user_promise.js +2 -2
  297. package/dist/engine/contracts/user_promise.js.map +1 -1
  298. package/dist/engine/contracts/workflow_template_pack.d.ts +1 -1
  299. package/dist/engine/contracts/workflow_template_pack.js +5 -5
  300. package/dist/engine/contracts/workflow_template_pack.js.map +1 -1
  301. package/dist/engine/core/debug_log.d.ts +1 -1
  302. package/dist/engine/core/debug_log.js +1 -1
  303. package/dist/engine/core/errors.d.ts +1 -1
  304. package/dist/engine/core/errors.js +1 -1
  305. package/dist/engine/core/fail_closed.d.ts +39 -0
  306. package/dist/engine/core/fail_closed.d.ts.map +1 -0
  307. package/dist/engine/core/fail_closed.js +38 -0
  308. package/dist/engine/core/fail_closed.js.map +1 -0
  309. package/dist/engine/core/index.d.ts +3 -1
  310. package/dist/engine/core/index.d.ts.map +1 -1
  311. package/dist/engine/core/index.js +3 -1
  312. package/dist/engine/core/index.js.map +1 -1
  313. package/dist/engine/core/paths.d.ts +6 -2
  314. package/dist/engine/core/paths.d.ts.map +1 -1
  315. package/dist/engine/core/paths.js +8 -2
  316. package/dist/engine/core/paths.js.map +1 -1
  317. package/dist/engine/dependency_scanner.js +1 -1
  318. package/dist/engine/dependency_scanner.js.map +1 -1
  319. package/dist/engine/exploration.js +1 -1
  320. package/dist/engine/exploration.js.map +1 -1
  321. package/dist/engine/feasibility_checker.js +1 -1
  322. package/dist/engine/impact_analyzer.js +1 -1
  323. package/dist/engine/impact_analyzer.js.map +1 -1
  324. package/dist/engine/knowledge/knowledge_asset_audit.d.ts.map +1 -1
  325. package/dist/engine/knowledge/knowledge_asset_audit.js +3 -2
  326. package/dist/engine/knowledge/knowledge_asset_audit.js.map +1 -1
  327. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts +28 -21
  328. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts.map +1 -1
  329. package/dist/engine/knowledge/knowledge_asset_consumer.js +32 -27
  330. package/dist/engine/knowledge/knowledge_asset_consumer.js.map +1 -1
  331. package/dist/engine/knowledge/knowledge_asset_migration.js +1 -1
  332. package/dist/engine/knowledge/knowledge_asset_migration.js.map +1 -1
  333. package/dist/engine/knowledge/knowledge_asset_schema.d.ts +8 -3
  334. package/dist/engine/knowledge/knowledge_asset_schema.d.ts.map +1 -1
  335. package/dist/engine/knowledge/knowledge_asset_schema.js +25 -8
  336. package/dist/engine/knowledge/knowledge_asset_schema.js.map +1 -1
  337. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts +3 -3
  338. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts.map +1 -1
  339. package/dist/engine/knowledge/knowledge_consumption_snapshot.js +5 -5
  340. package/dist/engine/knowledge/knowledge_consumption_snapshot.js.map +1 -1
  341. package/dist/engine/knowledge/knowledge_health.d.ts.map +1 -1
  342. package/dist/engine/knowledge/knowledge_health.js +6 -4
  343. package/dist/engine/knowledge/knowledge_health.js.map +1 -1
  344. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts +37 -5
  345. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -1
  346. package/dist/engine/knowledge/knowledge_injection_boundary.js +107 -64
  347. package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -1
  348. package/dist/engine/knowledge/knowledge_scenario_registry.js +1 -1
  349. package/dist/engine/knowledge/knowledge_scenario_registry.js.map +1 -1
  350. package/dist/engine/knowledge/knowledge_writer.js +3 -3
  351. package/dist/engine/knowledge/knowledge_writer.js.map +1 -1
  352. package/dist/engine/knowledge/language_policy.d.ts +2 -2
  353. package/dist/engine/knowledge/language_policy.js +2 -2
  354. package/dist/engine/onboarding.d.ts +1 -1
  355. package/dist/engine/onboarding.js +2 -2
  356. package/dist/engine/onboarding.js.map +1 -1
  357. package/dist/engine/pipeline/artifact_aliases.d.ts +19 -0
  358. package/dist/engine/pipeline/artifact_aliases.d.ts.map +1 -0
  359. package/dist/engine/pipeline/artifact_aliases.js +39 -0
  360. package/dist/engine/pipeline/artifact_aliases.js.map +1 -0
  361. package/dist/engine/pipeline/input_material_extractor.d.ts +1 -1
  362. package/dist/engine/pipeline/input_material_extractor.d.ts.map +1 -1
  363. package/dist/engine/pipeline/intent_expander/helpers.d.ts +15 -29
  364. package/dist/engine/pipeline/intent_expander/helpers.d.ts.map +1 -1
  365. package/dist/engine/pipeline/intent_expander/helpers.js +15 -158
  366. package/dist/engine/pipeline/intent_expander/helpers.js.map +1 -1
  367. package/dist/engine/pipeline/intent_expander/index.d.ts +1 -2
  368. package/dist/engine/pipeline/intent_expander/index.d.ts.map +1 -1
  369. package/dist/engine/pipeline/intent_expander/index.js +1 -3
  370. package/dist/engine/pipeline/intent_expander/index.js.map +1 -1
  371. package/dist/engine/pipeline/intent_expander/knowledge.d.ts +4 -13
  372. package/dist/engine/pipeline/intent_expander/knowledge.d.ts.map +1 -1
  373. package/dist/engine/pipeline/intent_expander/knowledge.js +7 -169
  374. package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -1
  375. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts +9 -7
  376. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts.map +1 -1
  377. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js +85 -30
  378. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js.map +1 -1
  379. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts +13 -100
  380. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts.map +1 -1
  381. package/dist/engine/pipeline/intent_expander/privacy_gates.js +18 -268
  382. package/dist/engine/pipeline/intent_expander/privacy_gates.js.map +1 -1
  383. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts +11 -5
  384. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts.map +1 -1
  385. package/dist/engine/pipeline/intent_expander/scope_acceptance.js +18 -32
  386. package/dist/engine/pipeline/intent_expander/scope_acceptance.js.map +1 -1
  387. package/dist/engine/pipeline/intent_expander/templates.d.ts +1 -1
  388. package/dist/engine/pipeline/intent_expander/templates.d.ts.map +1 -1
  389. package/dist/engine/pipeline/intent_expander/types.d.ts +1 -3
  390. package/dist/engine/pipeline/intent_expander/types.d.ts.map +1 -1
  391. package/dist/engine/pipeline/intent_expander.d.ts +5 -3
  392. package/dist/engine/pipeline/intent_expander.d.ts.map +1 -1
  393. package/dist/engine/pipeline/intent_expander.js +4 -3
  394. package/dist/engine/pipeline/intent_expander.js.map +1 -1
  395. package/dist/engine/pipeline/job_manager.d.ts +1 -1
  396. package/dist/engine/pipeline/job_manager.js +1 -1
  397. package/dist/engine/pipeline/prompt_template_resolver.d.ts +13 -0
  398. package/dist/engine/pipeline/prompt_template_resolver.d.ts.map +1 -0
  399. package/dist/engine/pipeline/prompt_template_resolver.js +25 -0
  400. package/dist/engine/pipeline/prompt_template_resolver.js.map +1 -0
  401. package/dist/engine/pipeline/rollback_router.d.ts +1 -1
  402. package/dist/engine/pipeline/rollback_router.d.ts.map +1 -1
  403. package/dist/engine/pipeline/scope_lease.d.ts.map +1 -1
  404. package/dist/engine/pipeline/scope_lease.js +1 -3
  405. package/dist/engine/pipeline/scope_lease.js.map +1 -1
  406. package/dist/engine/pipeline/scope_resolver.d.ts +9 -2
  407. package/dist/engine/pipeline/scope_resolver.d.ts.map +1 -1
  408. package/dist/engine/pipeline/scope_resolver.js +30 -16
  409. package/dist/engine/pipeline/scope_resolver.js.map +1 -1
  410. package/dist/engine/pipeline/slice_executor.d.ts +5 -1
  411. package/dist/engine/pipeline/slice_executor.d.ts.map +1 -1
  412. package/dist/engine/pipeline/slice_executor.js +4 -1
  413. package/dist/engine/pipeline/slice_executor.js.map +1 -1
  414. package/dist/engine/pipeline/state_machine/audit_logger.d.ts +42 -0
  415. package/dist/engine/pipeline/state_machine/audit_logger.d.ts.map +1 -0
  416. package/dist/engine/pipeline/state_machine/audit_logger.js +71 -0
  417. package/dist/engine/pipeline/state_machine/audit_logger.js.map +1 -0
  418. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts +51 -0
  419. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts.map +1 -0
  420. package/dist/engine/pipeline/state_machine/capability_safety_valve.js +131 -0
  421. package/dist/engine/pipeline/state_machine/capability_safety_valve.js.map +1 -0
  422. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts +92 -0
  423. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts.map +1 -0
  424. package/dist/engine/pipeline/state_machine/certainty_gate.js +391 -0
  425. package/dist/engine/pipeline/state_machine/certainty_gate.js.map +1 -0
  426. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts +50 -0
  427. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts.map +1 -0
  428. package/dist/engine/pipeline/state_machine/command_state_verifier.js +160 -0
  429. package/dist/engine/pipeline/state_machine/command_state_verifier.js.map +1 -0
  430. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts +71 -0
  431. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts.map +1 -0
  432. package/dist/engine/pipeline/state_machine/hook_classifier.js +146 -0
  433. package/dist/engine/pipeline/state_machine/hook_classifier.js.map +1 -0
  434. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts +33 -0
  435. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts.map +1 -0
  436. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js +72 -0
  437. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js.map +1 -0
  438. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts +21 -0
  439. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts.map +1 -0
  440. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js +33 -0
  441. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js.map +1 -0
  442. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts +158 -0
  443. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts.map +1 -0
  444. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js +1197 -0
  445. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js.map +1 -0
  446. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts +34 -0
  447. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts.map +1 -0
  448. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js +152 -0
  449. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js.map +1 -0
  450. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts +28 -0
  451. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts.map +1 -0
  452. package/dist/engine/pipeline/state_machine/route_usage_stats.js +76 -0
  453. package/dist/engine/pipeline/state_machine/route_usage_stats.js.map +1 -0
  454. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts +22 -0
  455. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts.map +1 -0
  456. package/dist/engine/pipeline/state_machine/sf_command_parser.js +171 -0
  457. package/dist/engine/pipeline/state_machine/sf_command_parser.js.map +1 -0
  458. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts +38 -0
  459. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts.map +1 -0
  460. package/dist/engine/pipeline/state_machine/stage_command_registry.js +218 -0
  461. package/dist/engine/pipeline/state_machine/stage_command_registry.js.map +1 -0
  462. package/dist/engine/pipeline/state_machine/stage_executor.d.ts +37 -0
  463. package/dist/engine/pipeline/state_machine/stage_executor.d.ts.map +1 -0
  464. package/dist/engine/pipeline/state_machine/stage_executor.js +67 -0
  465. package/dist/engine/pipeline/state_machine/stage_executor.js.map +1 -0
  466. package/dist/engine/pipeline/state_machine/state_migrator.d.ts +21 -0
  467. package/dist/engine/pipeline/state_machine/state_migrator.d.ts.map +1 -0
  468. package/dist/engine/pipeline/state_machine/state_migrator.js +130 -0
  469. package/dist/engine/pipeline/state_machine/state_migrator.js.map +1 -0
  470. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts +48 -0
  471. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts.map +1 -0
  472. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js +566 -0
  473. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js.map +1 -0
  474. package/dist/engine/pipeline/state_machine/static_route_table.d.ts +36 -0
  475. package/dist/engine/pipeline/state_machine/static_route_table.d.ts.map +1 -0
  476. package/dist/engine/pipeline/state_machine/static_route_table.js +112 -0
  477. package/dist/engine/pipeline/state_machine/static_route_table.js.map +1 -0
  478. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts +45 -0
  479. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts.map +1 -0
  480. package/dist/engine/pipeline/state_machine/strong_confirmation.js +57 -0
  481. package/dist/engine/pipeline/state_machine/strong_confirmation.js.map +1 -0
  482. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts +55 -0
  483. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts.map +1 -0
  484. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js +48 -0
  485. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js.map +1 -0
  486. package/dist/engine/pipeline/task_context/manager.d.ts +3 -3
  487. package/dist/engine/pipeline/task_context/manager.d.ts.map +1 -1
  488. package/dist/engine/pipeline/task_context/manager.js +59 -9
  489. package/dist/engine/pipeline/task_context/manager.js.map +1 -1
  490. package/dist/engine/pipeline/task_context/manager_setters.js +1 -1
  491. package/dist/engine/pipeline/task_context/manager_setters.js.map +1 -1
  492. package/dist/engine/pipeline/task_context/status_transitions.d.ts +7 -2
  493. package/dist/engine/pipeline/task_context/status_transitions.d.ts.map +1 -1
  494. package/dist/engine/pipeline/task_context/status_transitions.js +9 -14
  495. package/dist/engine/pipeline/task_context/status_transitions.js.map +1 -1
  496. package/dist/engine/pipeline/task_planner.d.ts.map +1 -1
  497. package/dist/engine/pipeline/task_planner.js +15 -9
  498. package/dist/engine/pipeline/task_planner.js.map +1 -1
  499. package/dist/engine/pipeline/task_stage_detector.d.ts +2 -0
  500. package/dist/engine/pipeline/task_stage_detector.d.ts.map +1 -1
  501. package/dist/engine/pipeline/task_stage_detector.js +23 -5
  502. package/dist/engine/pipeline/task_stage_detector.js.map +1 -1
  503. package/dist/engine/pipeline/workspace_lease.d.ts +1 -1
  504. package/dist/engine/pipeline/workspace_lease.js +1 -1
  505. package/dist/engine/pipeline/workspace_resumer.js +2 -2
  506. package/dist/engine/pipeline/workspace_resumer.js.map +1 -1
  507. package/dist/engine/release/foundation_scenario_registry.js +47 -47
  508. package/dist/engine/release/foundation_scenario_registry.js.map +1 -1
  509. package/dist/engine/release/foundation_scenario_runners.d.ts +3 -3
  510. package/dist/engine/release/foundation_scenario_runners.d.ts.map +1 -1
  511. package/dist/engine/release/foundation_scenario_runners.js +27 -485
  512. package/dist/engine/release/foundation_scenario_runners.js.map +1 -1
  513. package/dist/engine/release/gate_checks/checkControlPlaneTrust.d.ts.map +1 -1
  514. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js +24 -21
  515. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js.map +1 -1
  516. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.d.ts.map +1 -1
  517. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js +8 -9
  518. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js.map +1 -1
  519. package/dist/engine/release/gate_checks/checkKnowledgeAssetSchemaP0.js +1 -1
  520. package/dist/engine/release/gate_checks/checkKnowledgeAssetSchemaP0.js.map +1 -1
  521. package/dist/engine/release/gate_checks/checkMainlineConsumption.js +3 -3
  522. package/dist/engine/release/gate_checks/checkMainlineConsumption.js.map +1 -1
  523. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.d.ts.map +1 -1
  524. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js +8 -56
  525. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js.map +1 -1
  526. package/dist/engine/release/gate_checks/checkWorkflowNavigation.d.ts.map +1 -1
  527. package/dist/engine/release/gate_checks/checkWorkflowNavigation.js +27 -60
  528. package/dist/engine/release/gate_checks/checkWorkflowNavigation.js.map +1 -1
  529. package/dist/engine/release/release_gate_scenario_registry.js +9 -9
  530. package/dist/engine/release/release_gate_scenario_registry.js.map +1 -1
  531. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js +44 -44
  532. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js.map +1 -1
  533. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js +20 -20
  534. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js.map +1 -1
  535. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js +66 -66
  536. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js.map +1 -1
  537. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.d.ts.map +1 -1
  538. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js +44 -48
  539. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js.map +1 -1
  540. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.d.ts.map +1 -1
  541. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js +21 -26
  542. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js.map +1 -1
  543. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js +20 -20
  544. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js.map +1 -1
  545. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.d.ts +1 -1
  546. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.d.ts.map +1 -1
  547. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.js +14 -3
  548. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.js.map +1 -1
  549. package/dist/engine/release/types.d.ts +2 -2
  550. package/dist/engine/release/types.d.ts.map +1 -1
  551. package/dist/engine/release/verifier.js +7 -7
  552. package/dist/engine/release/verifier.js.map +1 -1
  553. package/dist/engine/retention_policy.js +1 -1
  554. package/dist/engine/retention_policy.js.map +1 -1
  555. package/dist/engine/state_fact_classifier.d.ts +3 -3
  556. package/dist/engine/state_fact_classifier.js +4 -4
  557. package/dist/engine/state_fact_classifier.js.map +1 -1
  558. package/dist/engine/templates/asset_manifest.d.ts.map +1 -1
  559. package/dist/engine/templates/asset_manifest.js +18 -16
  560. package/dist/engine/templates/asset_manifest.js.map +1 -1
  561. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js +13 -13
  562. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js.map +1 -1
  563. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts +1 -1
  564. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts.map +1 -1
  565. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js +36 -32
  566. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js.map +1 -1
  567. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js +10 -10
  568. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js.map +1 -1
  569. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js +18 -18
  570. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js.map +1 -1
  571. package/dist/engine/templates/consumable_asset_registry/types.js +4 -4
  572. package/dist/engine/templates/consumable_asset_registry/types.js.map +1 -1
  573. package/dist/engine/templates/consumption_trace_store.d.ts +3 -3
  574. package/dist/engine/templates/consumption_trace_store.d.ts.map +1 -1
  575. package/dist/engine/templates/consumption_trace_store.js +4 -4
  576. package/dist/engine/templates/consumption_trace_store.js.map +1 -1
  577. package/dist/engine/templates/explicit_asset_registry/adapters.js +4 -4
  578. package/dist/engine/templates/explicit_asset_registry/adapters.js.map +1 -1
  579. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js +10 -10
  580. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js.map +1 -1
  581. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js +25 -25
  582. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js.map +1 -1
  583. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js +5 -5
  584. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js.map +1 -1
  585. package/dist/engine/templates/explicit_asset_registry/checklists.js +7 -7
  586. package/dist/engine/templates/explicit_asset_registry/contributing.js +1 -1
  587. package/dist/engine/templates/explicit_asset_registry/domain.js +9 -9
  588. package/dist/engine/templates/explicit_asset_registry/gates.d.ts.map +1 -1
  589. package/dist/engine/templates/explicit_asset_registry/gates.js +70 -20
  590. package/dist/engine/templates/explicit_asset_registry/gates.js.map +1 -1
  591. package/dist/engine/templates/explicit_asset_registry/internal_patterns.js +27 -27
  592. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.d.ts.map +1 -1
  593. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js +42 -26
  594. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js.map +1 -1
  595. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js +20 -20
  596. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js.map +1 -1
  597. package/dist/engine/templates/explicit_asset_registry/patterns_part1.js +25 -25
  598. package/dist/engine/templates/explicit_asset_registry/patterns_part2.js +25 -25
  599. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js +2 -2
  600. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js.map +1 -1
  601. package/dist/engine/templates/explicit_asset_registry/procedures_part1.d.ts.map +1 -1
  602. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js +58 -26
  603. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js.map +1 -1
  604. package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts.map +1 -1
  605. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +46 -13
  606. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -1
  607. package/dist/engine/templates/explicit_asset_registry/profiles.js +3 -3
  608. package/dist/engine/templates/explicit_asset_registry/profiles.js.map +1 -1
  609. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.d.ts.map +1 -1
  610. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js +25 -9
  611. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js.map +1 -1
  612. package/dist/engine/templates/explicit_asset_registry/rules_shared.d.ts.map +1 -1
  613. package/dist/engine/templates/explicit_asset_registry/rules_shared.js +304 -16
  614. package/dist/engine/templates/explicit_asset_registry/rules_shared.js.map +1 -1
  615. package/dist/engine/templates/explicit_asset_registry/scaffolds.js +22 -22
  616. package/dist/engine/templates/explicit_asset_registry/scaffolds.js.map +1 -1
  617. package/dist/engine/templates/explicit_asset_registry/types.d.ts +1 -1
  618. package/dist/engine/templates/observed_consumption.d.ts +2 -2
  619. package/dist/engine/templates/observed_consumption.d.ts.map +1 -1
  620. package/dist/engine/templates/observed_consumption.js +5 -22
  621. package/dist/engine/templates/observed_consumption.js.map +1 -1
  622. package/dist/engine/templates/scaffolder.js +8 -8
  623. package/dist/engine/templates/scaffolder.js.map +1 -1
  624. package/dist/engine/templates/standard_asset_contract.d.ts +5 -5
  625. package/dist/engine/templates/standard_asset_contract.d.ts.map +1 -1
  626. package/dist/engine/templates/standard_asset_contract.js +18 -18
  627. package/dist/engine/templates/standard_asset_contract.js.map +1 -1
  628. package/dist/engine/templates/standard_asset_coverage.js +12 -12
  629. package/dist/engine/templates/standard_asset_coverage.js.map +1 -1
  630. package/dist/engine/templates/template_asset_contract_registry.d.ts +2 -2
  631. package/dist/engine/templates/template_asset_contract_registry.js +23 -23
  632. package/dist/engine/templates/template_asset_contract_registry.js.map +1 -1
  633. package/dist/engine/templates/template_asset_visibility.d.ts +1 -1
  634. package/dist/engine/templates/template_asset_visibility.js +4 -4
  635. package/dist/engine/templates/template_asset_visibility.js.map +1 -1
  636. package/dist/engine/templates/template_init_sync.js +11 -11
  637. package/dist/engine/templates/template_init_sync.js.map +1 -1
  638. package/dist/engine/templates/template_manifest_io.js +6 -6
  639. package/dist/engine/templates/template_manifest_io.js.map +1 -1
  640. package/dist/engine/templates/template_mechanism_auditor.d.ts.map +1 -1
  641. package/dist/engine/templates/template_mechanism_auditor.js +6 -5
  642. package/dist/engine/templates/template_mechanism_auditor.js.map +1 -1
  643. package/dist/engine/templates/workflow_rule_generator.d.ts +1 -1
  644. package/dist/engine/templates/workflow_rule_generator.d.ts.map +1 -1
  645. package/dist/engine/templates/workflow_rule_generator.js +10 -12
  646. package/dist/engine/templates/workflow_rule_generator.js.map +1 -1
  647. package/dist/engine/workflow/index.d.ts +2 -2
  648. package/dist/engine/workflow/index.d.ts.map +1 -1
  649. package/dist/engine/workflow/index.js +1 -1
  650. package/dist/engine/workflow/index.js.map +1 -1
  651. package/dist/engine/workflow/next_action_planner.d.ts.map +1 -1
  652. package/dist/engine/workflow/next_action_planner.js +32 -36
  653. package/dist/engine/workflow/next_action_planner.js.map +1 -1
  654. package/dist/engine/workflow/project_stage_detector.d.ts.map +1 -1
  655. package/dist/engine/workflow/project_stage_detector.js +6 -4
  656. package/dist/engine/workflow/project_stage_detector.js.map +1 -1
  657. package/dist/engine/workflow/workflow_contract_registry.d.ts +49 -31
  658. package/dist/engine/workflow/workflow_contract_registry.d.ts.map +1 -1
  659. package/dist/engine/workflow/workflow_contract_registry.js +81 -666
  660. package/dist/engine/workflow/workflow_contract_registry.js.map +1 -1
  661. package/dist/git/git_deps.d.ts +1 -0
  662. package/dist/git/git_deps.d.ts.map +1 -1
  663. package/dist/git/operations.d.ts +1 -0
  664. package/dist/git/operations.d.ts.map +1 -1
  665. package/dist/git/operations.js +2 -0
  666. package/dist/git/operations.js.map +1 -1
  667. package/dist/index.d.ts +1 -1
  668. package/dist/index.js +10 -1
  669. package/dist/index.js.map +1 -1
  670. package/dist/knowledge/conflict_detector.d.ts.map +1 -1
  671. package/dist/knowledge/conflict_detector.js +13 -2
  672. package/dist/knowledge/conflict_detector.js.map +1 -1
  673. package/dist/knowledge/health_checker.d.ts.map +1 -1
  674. package/dist/knowledge/health_checker.js +5 -3
  675. package/dist/knowledge/health_checker.js.map +1 -1
  676. package/dist/knowledge/index_manager.d.ts +16 -2
  677. package/dist/knowledge/index_manager.d.ts.map +1 -1
  678. package/dist/knowledge/index_manager.js +124 -55
  679. package/dist/knowledge/index_manager.js.map +1 -1
  680. package/dist/knowledge/loader.d.ts +8 -4
  681. package/dist/knowledge/loader.d.ts.map +1 -1
  682. package/dist/knowledge/loader.js +189 -34
  683. package/dist/knowledge/loader.js.map +1 -1
  684. package/dist/knowledge/writer.js +2 -2
  685. package/dist/knowledge/writer.js.map +1 -1
  686. package/dist/server/tools/cep_assessment.d.ts +1 -1
  687. package/dist/server/tools/cep_assessment.d.ts.map +1 -1
  688. package/dist/server/tools/cep_assessment.js +15 -6
  689. package/dist/server/tools/cep_assessment.js.map +1 -1
  690. package/dist/server/tools/gate_checks.js +3 -3
  691. package/dist/server/tools/gate_checks.js.map +1 -1
  692. package/dist/server/tools/index.d.ts.map +1 -1
  693. package/dist/server/tools/index.js +11 -30
  694. package/dist/server/tools/index.js.map +1 -1
  695. package/dist/server/tools/lazy_loaders.d.ts +1 -4
  696. package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
  697. package/dist/server/tools/lazy_loaders.js +2 -4
  698. package/dist/server/tools/lazy_loaders.js.map +1 -1
  699. package/dist/server/tools/middleware.d.ts +2 -0
  700. package/dist/server/tools/middleware.d.ts.map +1 -1
  701. package/dist/server/tools/middleware.js +110 -132
  702. package/dist/server/tools/middleware.js.map +1 -1
  703. package/dist/server/tools/schemas.d.ts +2 -2
  704. package/dist/server/tools/schemas.js +5 -5
  705. package/dist/server/tools/schemas.js.map +1 -1
  706. package/dist/server/tools/tool_groups/admin.d.ts.map +1 -1
  707. package/dist/server/tools/tool_groups/admin.js +16 -122
  708. package/dist/server/tools/tool_groups/admin.js.map +1 -1
  709. package/dist/server/tools/tool_groups/auxiliary.d.ts.map +1 -1
  710. package/dist/server/tools/tool_groups/auxiliary.js +4 -21
  711. package/dist/server/tools/tool_groups/auxiliary.js.map +1 -1
  712. package/dist/server/tools/tool_groups/knowledge.js +2 -2
  713. package/dist/server/tools/tool_groups/knowledge.js.map +1 -1
  714. package/dist/server/tools/tool_groups/product_operations.d.ts +9 -0
  715. package/dist/server/tools/tool_groups/product_operations.d.ts.map +1 -0
  716. package/dist/server/tools/tool_groups/product_operations.js +143 -0
  717. package/dist/server/tools/tool_groups/product_operations.js.map +1 -0
  718. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts +0 -1
  719. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts.map +1 -1
  720. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js +5 -427
  721. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js.map +1 -1
  722. package/dist/server/tools/tool_groups/state_machine.d.ts +13 -0
  723. package/dist/server/tools/tool_groups/state_machine.d.ts.map +1 -0
  724. package/dist/server/tools/tool_groups/state_machine.js +960 -0
  725. package/dist/server/tools/tool_groups/state_machine.js.map +1 -0
  726. package/dist/server/tools/tool_names.d.ts +23 -19
  727. package/dist/server/tools/tool_names.d.ts.map +1 -1
  728. package/dist/server/tools/tool_names.js +29 -24
  729. package/dist/server/tools/tool_names.js.map +1 -1
  730. package/dist/types/dual_layer.d.ts +3 -3
  731. package/dist/types/index.d.ts +1 -0
  732. package/dist/types/index.d.ts.map +1 -1
  733. package/dist/types/index.js +1 -0
  734. package/dist/types/index.js.map +1 -1
  735. package/dist/types/knowledge.d.ts +2 -4
  736. package/dist/types/knowledge.d.ts.map +1 -1
  737. package/dist/types/knowledge.js.map +1 -1
  738. package/dist/types/pipeline.d.ts +20 -9
  739. package/dist/types/pipeline.d.ts.map +1 -1
  740. package/dist/types/pipeline.js +4 -0
  741. package/dist/types/pipeline.js.map +1 -1
  742. package/dist/types/state_machine.d.ts +359 -0
  743. package/dist/types/state_machine.d.ts.map +1 -0
  744. package/dist/types/state_machine.js +47 -0
  745. package/dist/types/state_machine.js.map +1 -0
  746. package/dist/types/task.d.ts +11 -10
  747. package/dist/types/task.d.ts.map +1 -1
  748. package/package.json +14 -14
  749. package/templates/artifacts/existing-system//344/270/200/351/224/256/345/274/200/345/205/263/351/205/215/347/275/256/346/250/241/347/211/210.json +23 -2
  750. 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 +11 -7
  751. 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 +23 -23
  752. 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 +25 -16
  753. 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 +21 -16
  754. 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 +18 -8
  755. 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 +15 -8
  756. 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 +9 -8
  757. 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 +48 -15
  758. 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 +13 -9
  759. package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +17 -7
  760. 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 +31 -72
  761. package/templates/artifacts/shared/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +2 -12
  762. package/templates/artifacts/shared/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +2 -11
  763. package/templates/artifacts/shared/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +2 -12
  764. package/templates/artifacts/shared//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212/346/250/241/347/211/210.md +47 -12
  765. package/templates/artifacts/shared//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/351/252/214/346/224/266/346/250/241/347/211/210.md +2 -9
  766. package/templates/artifacts/shared//345/210/207/347/211/207/350/256/241/345/210/222/346/250/241/347/211/210.md +122 -20
  767. package/templates/artifacts/shared//345/211/215/347/253/257/351/241/265/351/235/242/351/252/214/346/224/266/346/270/205/345/215/225.md +2 -16
  768. package/templates/artifacts/shared//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +115 -227
  769. package/templates/artifacts/shared//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +2 -15
  770. package/templates/artifacts/shared//345/220/216/347/253/257/345/256/236/347/216/260/351/252/214/346/224/266/346/270/205/345/215/225.md +11 -11
  771. package/templates/artifacts/shared//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +8 -35
  772. package/templates/artifacts/shared//345/256/241/346/237/245/346/221/230/350/246/201.md +10 -17
  773. package/templates/artifacts/shared//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +2 -12
  774. package/templates/artifacts/shared//346/212/200/346/234/257/351/200/211/345/236/213/351/252/214/346/224/266/346/270/205/345/215/225.md +2 -15
  775. package/templates/artifacts/shared//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210/346/250/241/347/211/210.md +54 -22
  776. package/templates/artifacts/shared//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +2 -13
  777. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210/346/250/241/347/211/210.md +43 -33
  778. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/351/252/214/346/224/266/346/270/205/345/215/225.md +2 -17
  779. 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 +121 -44
  780. package/templates/artifacts/shared//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +110 -78
  781. package/templates/artifacts/shared//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +27 -20
  782. 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 +2 -25
  783. package/templates/artifacts/shared//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +83 -32
  784. package/templates/artifacts/shared//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +15 -14
  785. package/templates/artifacts/shared//351/200/232/347/224/250/350/264/250/351/207/217/351/252/214/346/224/266/346/270/205/345/215/225.md +157 -38
  786. package/templates/artifacts/shared//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +2 -12
  787. package/templates/artifacts/shared//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +74 -17
  788. 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 +38 -47
  789. package/templates/checklists//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -8
  790. package/templates/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +1 -12
  791. package/templates/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -8
  792. package/templates/checklists//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -8
  793. package/templates/checklists//347/237/245/350/257/206/346/263/250/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -8
  794. package/templates/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +1 -8
  795. package/templates/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +1 -8
  796. package/templates/domain//345/244/232/347/247/237/346/210/267.md +1 -15
  797. package/templates/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +1 -14
  798. package/templates/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +1 -16
  799. package/templates/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +1 -19
  800. package/templates/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +1 -17
  801. package/templates/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +1 -18
  802. package/templates/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +1 -15
  803. package/templates/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +1 -17
  804. package/templates/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +1 -17
  805. package/templates/gates/existing-system/gate-/346/236/266/346/236/204/350/256/276/350/256/241.yaml +13 -14
  806. package/templates/gates/existing-system/gate-/347/216/260/346/234/211/347/263/273/347/273/237/345/210/206/346/236/220.yaml +48 -0
  807. package/templates/gates/existing-system/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +41 -8
  808. package/templates/gates/existing-system/gate-/350/257/225/350/277/220/350/241/214.yaml +30 -12
  809. package/templates/gates/existing-system/gate-/350/257/246/347/273/206/350/256/276/350/256/241.yaml +25 -15
  810. package/templates/gates/shared/gate-/344/272/244/344/273/230.yaml +26 -8
  811. package/templates/gates/shared/gate-/344/273/243/347/240/201/345/256/241/346/237/245.yaml +47 -8
  812. package/templates/gates/shared/gate-/344/273/273/345/212/241/350/247/204/345/210/222.yaml +131 -5
  813. package/templates/gates/shared/gate-/345/210/207/347/211/207/345/256/241/346/237/245.yaml +50 -0
  814. package/templates/gates/shared/gate-/345/210/207/347/211/207/346/211/247/350/241/214.yaml +51 -0
  815. package/templates/gates/shared/gate-/345/217/221/345/270/203/345/220/216/350/247/202/345/257/237.yaml +40 -8
  816. package/templates/gates/shared/gate-/345/256/211/345/205/250/345/256/241/350/256/241.yaml +77 -0
  817. package/templates/gates/shared/gate-/346/236/266/346/236/204/350/256/276/350/256/241.yaml +136 -9
  818. package/templates/gates/shared/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +30 -4
  819. package/templates/gates/shared/gate-/347/274/226/347/240/201/345/207/206/345/244/207.yaml +40 -4
  820. package/templates/gates/shared/gate-/347/274/226/347/240/201/345/256/236/347/216/260.yaml +42 -4
  821. package/templates/gates/shared/gate-/347/274/226/347/240/201/351/252/214/350/257/201.yaml +33 -4
  822. package/templates/gates/shared/gate-/350/201/224/350/260/203/351/252/214/350/257/201.yaml +47 -8
  823. package/templates/gates/shared/gate-/350/257/246/347/273/206/350/256/276/350/256/241.yaml +118 -9
  824. package/templates/gates/shared/gate-/351/234/200/346/261/202/345/210/206/346/236/220.yaml +154 -8
  825. package/templates/internal/patterns/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +1 -12
  826. 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 +1 -7
  827. package/templates/internal/patterns/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +1 -13
  828. package/templates/internal/patterns/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +1 -12
  829. package/templates/internal/patterns//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +1 -7
  830. package/templates/internal/patterns//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237.md +1 -12
  831. package/templates/internal/patterns//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +1 -13
  832. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/344/270/216/345/257/206/351/222/245/346/213/246/346/210/252.md +1 -12
  833. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +1 -13
  834. package/templates/internal/patterns//345/206/262/347/252/201/351/227/250/347/246/201.md +1 -12
  835. package/templates/internal/patterns//345/206/263/347/255/226/347/275/221/345/205/263.md +1 -14
  836. package/templates/internal/patterns//345/210/206/345/234/272/346/231/257/350/277/207/347/250/213/350/247/204/345/210/231.md +1 -7
  837. package/templates/internal/patterns//345/217/230/345/274/202/345/256/241/350/256/241.md +1 -13
  838. package/templates/internal/patterns//345/233/236/345/275/222/347/237/251/351/230/265.md +1 -12
  839. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +1 -12
  840. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +1 -12
  841. package/templates/internal/patterns//345/271/266/345/217/221/351/224/201.md +1 -14
  842. package/templates/internal/patterns//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +2 -15
  843. package/templates/internal/patterns//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +1 -12
  844. package/templates/internal/patterns//346/250/241/347/211/210Frontmatter/350/247/243/346/236/220.md +1 -7
  845. package/templates/internal/patterns//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +1 -13
  846. package/templates/internal/patterns//346/265/201/345/274/217/345/277/203/350/267/263.md +2 -14
  847. package/templates/internal/patterns//347/237/245/350/257/206/344/270/273/346/235/203.md +1 -13
  848. package/templates/internal/patterns//350/257/255/344/271/211/350/257/201/346/215/256.md +1 -12
  849. package/templates/internal/patterns//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +1 -13
  850. package/templates/internal/patterns//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +4 -14
  851. package/templates/internal/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +0 -13
  852. package/templates/internal/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +2 -9
  853. package/templates/internal/rules//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/345/245/221/347/272/246/350/247/204/345/210/231.md +3 -29
  854. 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 -10
  855. 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 -13
  856. package/templates/internal/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +1 -8
  857. package/templates/internal/rules//345/221/275/344/273/244/350/267/257/347/224/261/350/247/204/345/210/231.md +30 -0
  858. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -8
  859. 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 +15 -26
  860. 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 -8
  861. package/templates/internal/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +1 -8
  862. package/templates/internal/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +5 -10
  863. 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 +4 -11
  864. 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 -8
  865. 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 -11
  866. package/templates/internal/rules//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206/350/247/204/345/210/231.md +4 -19
  867. 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 -9
  868. package/templates/internal/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -12
  869. 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 -12
  870. package/templates/internal/rules//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +4 -8
  871. 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 -16
  872. package/templates/internal/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +1 -9
  873. package/templates/internal/rules//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +2 -9
  874. package/templates/internal/rules//346/250/241/347/211/210Frontmatter/350/247/204/350/214/203.md +85 -65
  875. 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 -15
  876. package/templates/internal/rules//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275/350/247/204/345/210/231.md +1 -8
  877. 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 -14
  878. 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 +4 -21
  879. package/templates/internal/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -12
  880. package/templates/internal/rules//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214/350/247/204/345/210/231.md +1 -8
  881. 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 +2 -11
  882. 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 -11
  883. package/templates/internal/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +0 -11
  884. 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 -11
  885. package/templates/internal/rules//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250/350/247/204/345/210/231.md +1 -16
  886. package/templates/internal/rules//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205/350/247/204/345/210/231.md +6 -10
  887. 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 -12
  888. 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 -8
  889. package/templates/internal/rules//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -8
  890. 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 -19
  891. package/templates/internal/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +38 -35
  892. package/templates/internal/rules//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214/350/247/204/345/210/231.md +5 -16
  893. package/templates/internal/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +1 -8
  894. package/templates/internal/rules//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226/350/247/204/345/210/231.md +31 -35
  895. 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 -16
  896. package/templates/internal/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -8
  897. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +1 -17
  898. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +1 -15
  899. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +1 -19
  900. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +1 -18
  901. package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +1 -17
  902. package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +1 -18
  903. package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +1 -18
  904. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +1 -17
  905. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +1 -17
  906. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +1 -18
  907. package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +1 -10
  908. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +1 -17
  909. package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +1 -16
  910. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +1 -20
  911. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +1 -15
  912. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +1 -19
  913. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +1 -18
  914. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +1 -18
  915. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +1 -16
  916. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +1 -21
  917. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +1 -19
  918. package/templates/patterns//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/350/247/204/350/214/203.md +1 -10
  919. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +1 -16
  920. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +1 -18
  921. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +1 -18
  922. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +1 -18
  923. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +1 -15
  924. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +1 -19
  925. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +1 -17
  926. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +1 -16
  927. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +1 -21
  928. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +1 -18
  929. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +1 -16
  930. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +1 -19
  931. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +2 -21
  932. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +1 -17
  933. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +1 -17
  934. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +1 -18
  935. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +1 -21
  936. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +1 -15
  937. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +1 -16
  938. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +1 -19
  939. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +1 -16
  940. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +1 -18
  941. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +1 -18
  942. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +1 -16
  943. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +1 -15
  944. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +1 -16
  945. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +1 -18
  946. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +1 -18
  947. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +1 -20
  948. package/templates/patterns//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241/350/247/204/350/214/203.md +1 -17
  949. package/templates/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +41 -23
  950. package/templates/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +9 -17
  951. package/templates/procedures//344/270/215/347/241/256/345/256/232/346/227/266/345/244/264/350/204/221/351/243/216/346/232/264/346/265/201/347/250/213.md +92 -0
  952. package/templates/procedures//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201/346/265/201/347/250/213.md +8 -11
  953. package/templates/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +1 -9
  954. package/templates/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +10 -11
  955. package/templates/procedures//344/273/273/345/212/241/350/247/204/345/210/222/345/267/245/344/275/234/346/265/201.md +83 -0
  956. package/templates/procedures//344/274/232/350/257/235/346/201/242/345/244/215/346/265/201/347/250/213.md +2 -13
  957. 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 +9 -18
  958. package/templates/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +11 -18
  959. package/templates/procedures//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260/345/267/245/344/275/234/346/265/201.md +1 -11
  960. package/templates/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +2 -9
  961. package/templates/procedures//345/221/275/344/273/244/350/267/257/347/224/261/346/265/201/347/250/213.md +32 -0
  962. 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 +9 -17
  963. package/templates/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +2 -9
  964. package/templates/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +8 -16
  965. package/templates/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +5 -10
  966. 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 +18 -20
  967. package/templates/procedures//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md +1 -9
  968. package/templates/procedures//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266/345/267/245/344/275/234/346/265/201.md +1 -9
  969. package/templates/procedures//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/345/267/245/344/275/234/346/265/201.md +8 -9
  970. 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 +22 -11
  971. 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 +9 -15
  972. package/templates/procedures//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201/345/267/245/344/275/234/346/265/201.md +18 -12
  973. package/templates/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +9 -17
  974. package/templates/procedures//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220/345/267/245/344/275/234/346/265/201.md +29 -11
  975. 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 +8 -16
  976. 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 +11 -19
  977. package/templates/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +7 -9
  978. package/templates/procedures//347/274/226/347/240/201/351/230/266/346/256/265/346/211/247/350/241/214/345/267/245/344/275/234/346/265/201.md +101 -0
  979. package/templates/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +2 -10
  980. package/templates/procedures//350/256/276/350/256/241/344/272/247/347/211/251/347/224/237/346/210/220/344/270/216/345/244/215/351/252/214/345/267/245/344/275/234/346/265/201.md +32 -15
  981. package/templates/procedures//350/256/276/350/256/241/345/256/241/350/256/241/346/265/201/347/250/213.md +21 -27
  982. package/templates/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +91 -26
  983. package/templates/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +31 -11
  984. package/templates/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +8 -16
  985. package/templates/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +35 -11
  986. package/templates/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +8 -16
  987. package/templates/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +9 -11
  988. package/templates/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +25 -20
  989. package/templates/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +8 -11
  990. package/templates/rules/existing-system//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245/350/247/204/345/210/231.md +66 -26
  991. package/templates/rules/existing-system//350/200/201/347/263/273/347/273/237/345/210/207/347/211/207/350/247/204/345/210/222/350/247/204/345/210/231.md +35 -0
  992. package/templates/rules/existing-system//350/200/246/345/220/210/346/243/200/346/265/213/350/247/204/345/210/231.md +57 -23
  993. package/templates/rules/existing-system//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255/350/247/204/345/210/231.md +49 -27
  994. package/templates/rules/existing-system//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201/350/247/204/345/210/231.md +69 -27
  995. package/templates/rules/existing-system//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217/346/270/205/345/215/225.md +109 -26
  996. package/templates/rules/new-system//350/201/224/350/260/203/350/256/276/350/256/241/347/274/272/351/231/267/345/210/244/345/256/232/350/247/204/345/210/231.md +39 -21
  997. package/templates/rules/shared/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +47 -22
  998. package/templates/rules/shared//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214/350/247/204/345/210/231.md +84 -12
  999. package/templates/rules/shared//344/270/212/346/270/270/344/272/244/345/217/211/351/252/214/350/257/201/350/247/204/345/210/231.md +56 -0
  1000. package/templates/rules/shared//344/270/212/346/270/270/350/256/276/350/256/241/344/272/244/345/217/211/351/252/214/350/257/201/345/256/241/346/237/245/350/247/204/345/210/231.md +67 -0
  1001. package/templates/rules/shared//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +39 -18
  1002. 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 +45 -60
  1003. package/templates/rules/shared//345/206/263/347/255/226/345/256/214/346/225/264/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +18 -12
  1004. package/templates/rules/shared//345/210/207/347/211/207/346/211/247/350/241/214/347/272/252/345/276/213/350/247/204/345/210/231.md +96 -0
  1005. package/templates/rules/shared//345/210/207/347/211/207/350/247/204/345/210/222/350/247/204/345/210/231.md +64 -0
  1006. package/templates/rules/shared//345/216/237/345/236/213/346/272/220/347/240/201/346/217/220/345/217/226/350/247/204/345/210/231.md +67 -0
  1007. package/templates/rules/shared//345/216/237/345/236/213/350/257/264/346/230/216/345/256/241/346/237/245/350/247/204/345/210/231.md +73 -0
  1008. package/templates/rules/shared//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245/350/247/204/345/210/231.md +22 -15
  1009. package/templates/rules/shared//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245/350/247/204/345/210/231.md +43 -20
  1010. package/templates/rules/shared//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +53 -19
  1011. package/templates/rules/shared//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +39 -12
  1012. package/templates/rules/shared//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +32 -12
  1013. package/templates/rules/shared//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245/350/247/204/345/210/231.md +40 -13
  1014. package/templates/rules/shared//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +31 -13
  1015. package/templates/rules/shared//346/236/266/346/236/204/350/256/276/350/256/241/345/256/241/346/237/245/350/247/204/345/210/231.md +102 -0
  1016. package/templates/rules/shared//346/236/266/346/236/204/350/256/276/350/256/241/350/247/204/345/210/231.md +64 -0
  1017. package/templates/rules/shared//347/213/254/347/253/213/345/256/241/346/237/245/350/247/204/345/210/231.md +33 -0
  1018. package/templates/rules/shared//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +171 -0
  1019. package/templates/rules/shared//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245/350/247/204/345/210/231.md +9 -15
  1020. package/templates/rules/shared//350/201/224/350/260/203/351/252/214/350/257/201/346/270/205/345/215/225.md +62 -18
  1021. package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +2 -4
  1022. package/templates/rules/shared//350/257/246/347/273/206/350/256/276/350/256/241/345/256/241/346/237/245/350/247/204/345/210/231.md +82 -0
  1023. package/templates/rules/shared//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +17 -14
  1024. package/templates/rules/shared//350/277/275/350/270/252/347/237/251/351/230/265ID/350/247/204/345/210/231.md +48 -0
  1025. package/templates/rules/shared//350/277/275/350/270/252/347/237/251/351/230/265/345/256/241/346/237/245/350/247/204/345/210/231.md +51 -0
  1026. 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 +31 -15
  1027. package/templates/rules/shared//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245/350/247/204/345/210/231.md +15 -17
  1028. package/templates//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +11 -11
  1029. package/dist/engine/config/config_auto_repair.d.ts +0 -30
  1030. package/dist/engine/config/config_auto_repair.d.ts.map +0 -1
  1031. package/dist/engine/config/config_auto_repair.js +0 -261
  1032. package/dist/engine/config/config_auto_repair.js.map +0 -1
  1033. package/dist/engine/config/config_precedence_contract/constants.d.ts +0 -16
  1034. package/dist/engine/config/config_precedence_contract/constants.d.ts.map +0 -1
  1035. package/dist/engine/config/config_precedence_contract/constants.js +0 -166
  1036. package/dist/engine/config/config_precedence_contract/constants.js.map +0 -1
  1037. package/dist/engine/config/config_precedence_contract/evidence.d.ts +0 -38
  1038. package/dist/engine/config/config_precedence_contract/evidence.d.ts.map +0 -1
  1039. package/dist/engine/config/config_precedence_contract/evidence.js +0 -59
  1040. package/dist/engine/config/config_precedence_contract/evidence.js.map +0 -1
  1041. package/dist/engine/config/config_precedence_contract/field_class.d.ts +0 -11
  1042. package/dist/engine/config/config_precedence_contract/field_class.d.ts.map +0 -1
  1043. package/dist/engine/config/config_precedence_contract/field_class.js +0 -10
  1044. package/dist/engine/config/config_precedence_contract/field_class.js.map +0 -1
  1045. package/dist/engine/config/config_precedence_contract/governance.d.ts +0 -31
  1046. package/dist/engine/config/config_precedence_contract/governance.d.ts.map +0 -1
  1047. package/dist/engine/config/config_precedence_contract/governance.js +0 -232
  1048. package/dist/engine/config/config_precedence_contract/governance.js.map +0 -1
  1049. package/dist/engine/config/config_precedence_contract/index.d.ts +0 -21
  1050. package/dist/engine/config/config_precedence_contract/index.d.ts.map +0 -1
  1051. package/dist/engine/config/config_precedence_contract/index.js +0 -28
  1052. package/dist/engine/config/config_precedence_contract/index.js.map +0 -1
  1053. package/dist/engine/config/config_precedence_contract/project_config.d.ts +0 -20
  1054. package/dist/engine/config/config_precedence_contract/project_config.d.ts.map +0 -1
  1055. package/dist/engine/config/config_precedence_contract/project_config.js +0 -210
  1056. package/dist/engine/config/config_precedence_contract/project_config.js.map +0 -1
  1057. package/dist/engine/config/config_precedence_contract/resolution.d.ts +0 -93
  1058. package/dist/engine/config/config_precedence_contract/resolution.d.ts.map +0 -1
  1059. package/dist/engine/config/config_precedence_contract/resolution.js +0 -317
  1060. package/dist/engine/config/config_precedence_contract/resolution.js.map +0 -1
  1061. package/dist/engine/config/config_precedence_contract/types.d.ts +0 -92
  1062. package/dist/engine/config/config_precedence_contract/types.d.ts.map +0 -1
  1063. package/dist/engine/config/config_precedence_contract/types.js +0 -20
  1064. package/dist/engine/config/config_precedence_contract/types.js.map +0 -1
  1065. package/dist/engine/config/config_precedence_contract.d.ts +0 -22
  1066. package/dist/engine/config/config_precedence_contract.d.ts.map +0 -1
  1067. package/dist/engine/config/config_precedence_contract.js +0 -34
  1068. package/dist/engine/config/config_precedence_contract.js.map +0 -1
  1069. package/dist/engine/config/zero_config_init.d.ts +0 -177
  1070. package/dist/engine/config/zero_config_init.d.ts.map +0 -1
  1071. package/dist/engine/config/zero_config_init.js +0 -857
  1072. package/dist/engine/config/zero_config_init.js.map +0 -1
  1073. package/dist/engine/contracts/route_decision_contract_verifier.d.ts +0 -44
  1074. package/dist/engine/contracts/route_decision_contract_verifier.d.ts.map +0 -1
  1075. package/dist/engine/contracts/route_decision_contract_verifier.js +0 -154
  1076. package/dist/engine/contracts/route_decision_contract_verifier.js.map +0 -1
  1077. package/dist/engine/pipeline/classifier.d.ts +0 -24
  1078. package/dist/engine/pipeline/classifier.d.ts.map +0 -1
  1079. package/dist/engine/pipeline/classifier.js +0 -211
  1080. package/dist/engine/pipeline/classifier.js.map +0 -1
  1081. package/dist/engine/pipeline/expand_pipeline.d.ts +0 -122
  1082. package/dist/engine/pipeline/expand_pipeline.d.ts.map +0 -1
  1083. package/dist/engine/pipeline/expand_pipeline.js +0 -141
  1084. package/dist/engine/pipeline/expand_pipeline.js.map +0 -1
  1085. package/dist/engine/pipeline/hook_context_types.d.ts +0 -66
  1086. package/dist/engine/pipeline/hook_context_types.d.ts.map +0 -1
  1087. package/dist/engine/pipeline/hook_context_types.js +0 -118
  1088. package/dist/engine/pipeline/hook_context_types.js.map +0 -1
  1089. package/dist/engine/pipeline/intent_expander/expand.d.ts +0 -16
  1090. package/dist/engine/pipeline/intent_expander/expand.d.ts.map +0 -1
  1091. package/dist/engine/pipeline/intent_expander/expand.js +0 -308
  1092. package/dist/engine/pipeline/intent_expander/expand.js.map +0 -1
  1093. package/dist/engine/pipeline/intent_route_scorer.d.ts +0 -45
  1094. package/dist/engine/pipeline/intent_route_scorer.d.ts.map +0 -1
  1095. package/dist/engine/pipeline/intent_route_scorer.js +0 -341
  1096. package/dist/engine/pipeline/intent_route_scorer.js.map +0 -1
  1097. package/dist/engine/pipeline/intent_router.d.ts +0 -153
  1098. package/dist/engine/pipeline/intent_router.d.ts.map +0 -1
  1099. package/dist/engine/pipeline/intent_router.js +0 -738
  1100. package/dist/engine/pipeline/intent_router.js.map +0 -1
  1101. package/dist/engine/pipeline/intent_signal_extractor.d.ts +0 -91
  1102. package/dist/engine/pipeline/intent_signal_extractor.d.ts.map +0 -1
  1103. package/dist/engine/pipeline/intent_signal_extractor.js +0 -370
  1104. package/dist/engine/pipeline/intent_signal_extractor.js.map +0 -1
  1105. package/dist/engine/pipeline/route_types.d.ts +0 -10
  1106. package/dist/engine/pipeline/route_types.d.ts.map +0 -1
  1107. package/dist/engine/pipeline/route_types.js +0 -9
  1108. package/dist/engine/pipeline/route_types.js.map +0 -1
  1109. package/dist/engine/pipeline/stage_gate_engine.d.ts +0 -34
  1110. package/dist/engine/pipeline/stage_gate_engine.d.ts.map +0 -1
  1111. package/dist/engine/pipeline/stage_gate_engine.js +0 -123
  1112. package/dist/engine/pipeline/stage_gate_engine.js.map +0 -1
  1113. package/dist/engine/pipeline/stage_prechecks.d.ts +0 -83
  1114. package/dist/engine/pipeline/stage_prechecks.d.ts.map +0 -1
  1115. package/dist/engine/pipeline/stage_prechecks.js +0 -199
  1116. package/dist/engine/pipeline/stage_prechecks.js.map +0 -1
  1117. package/dist/engine/workflow/legacy_type_migration.d.ts +0 -64
  1118. package/dist/engine/workflow/legacy_type_migration.d.ts.map +0 -1
  1119. package/dist/engine/workflow/legacy_type_migration.js +0 -233
  1120. package/dist/engine/workflow/legacy_type_migration.js.map +0 -1
  1121. package/dist/server/tools/tool_groups/classify_expand.d.ts +0 -3
  1122. package/dist/server/tools/tool_groups/classify_expand.d.ts.map +0 -1
  1123. package/dist/server/tools/tool_groups/classify_expand.js +0 -7
  1124. package/dist/server/tools/tool_groups/classify_expand.js.map +0 -1
  1125. package/dist/server/tools/tool_groups/classify_handler.d.ts +0 -3
  1126. package/dist/server/tools/tool_groups/classify_handler.d.ts.map +0 -1
  1127. package/dist/server/tools/tool_groups/classify_handler.js +0 -65
  1128. package/dist/server/tools/tool_groups/classify_handler.js.map +0 -1
  1129. package/dist/server/tools/tool_groups/expand_handler.d.ts +0 -3
  1130. package/dist/server/tools/tool_groups/expand_handler.d.ts.map +0 -1
  1131. package/dist/server/tools/tool_groups/expand_handler.js +0 -813
  1132. package/dist/server/tools/tool_groups/expand_handler.js.map +0 -1
  1133. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts +0 -4
  1134. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts.map +0 -1
  1135. package/dist/server/tools/tool_groups/status_plan_analyze_review.js +0 -421
  1136. package/dist/server/tools/tool_groups/status_plan_analyze_review.js.map +0 -1
  1137. package/dist/server/tools/tool_groups/verify_learn.d.ts +0 -3
  1138. package/dist/server/tools/tool_groups/verify_learn.d.ts.map +0 -1
  1139. package/dist/server/tools/tool_groups/verify_learn.js +0 -952
  1140. package/dist/server/tools/tool_groups/verify_learn.js.map +0 -1
  1141. package/templates/internal/patterns//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -64
@@ -0,0 +1,391 @@
1
+ /**
2
+ * 三级确定性门禁 — 状态机阶段执行前检查。
3
+ *
4
+ * 第一级:输入完备性(知识覆盖 + 必需输入 + 生命周期知识门禁)
5
+ * 第二级:方案风险扫描(8 种风险模式 + mini-brainstorm 触发 + 计划前置门禁)
6
+ * 第三级:决策确认(人类确认级别 + 设计产物门禁)
7
+ */
8
+ import { findStageContract } from "../../workflow/workflow_contract_registry.js";
9
+ import { scanRiskPatterns, getRiskPatternDefinition } from "./risk_pattern_scanner.js";
10
+ import { detectHumanUncertainty } from "./human_uncertainty_detector.js";
11
+ import { hasWriteSideEffect } from "../../contracts/tool_invocation_contract_registry.js";
12
+ import { TOOL_DIAGNOSTIC_CODES } from "../../audit/diagnostic_registry.js";
13
+ // ═══════════════════════════════════════════
14
+ // 阶段门禁配置
15
+ // ═══════════════════════════════════════════
16
+ /** 每阶段知识命中最低要求 */
17
+ const MIN_KNOWLEDGE_HITS = {
18
+ "需求分析": 0,
19
+ "现有系统分析": 2,
20
+ "架构设计": 3,
21
+ "详细设计": 2,
22
+ "任务规划": 2,
23
+ "编码与单元测试": 1,
24
+ "代码审查": 1,
25
+ "联调验证": 1,
26
+ };
27
+ /** 命中 hard_fail 风险模式时触发 mini-brainstorm 的阶段 */
28
+ const BRAINSTORM_STAGES = new Set([
29
+ "需求分析",
30
+ "编码与单元测试",
31
+ "架构设计",
32
+ ]);
33
+ /** 命中 hard_fail 风险模式时触发第一性原理的阶段 */
34
+ const FIRST_PRINCIPLES_STAGES = new Set([
35
+ "需求分析",
36
+ "架构设计",
37
+ "详细设计",
38
+ "编码与单元测试",
39
+ ]);
40
+ /** FP 规则到适用阶段的映射 */
41
+ const FP_RULE_STAGE_MAP = {
42
+ "FP-01": ["需求分析", "架构设计", "详细设计", "编码与单元测试"],
43
+ "FP-02": ["架构设计", "详细设计"],
44
+ "FP-03": ["编码与单元测试", "代码审查"],
45
+ "FP-04": ["编码与单元测试", "代码审查"],
46
+ };
47
+ /** FP 规则关键词模式 */
48
+ const FP_PATTERNS = [
49
+ {
50
+ rule: "FP-01",
51
+ pattern: /(?:做一个|实现一下|开发个|写个)(?!.*(?:目标|需求|用户))/,
52
+ description_zh: "工作描述含实现关键词但未声明用户目标(fundamental_need)",
53
+ },
54
+ {
55
+ rule: "FP-02",
56
+ pattern: /(?:因此|所以|于是)(?:采用|选择|决定)(?!.*(?:因为|由于|基于|依据))/,
57
+ description_zh: "推理链跳跃:直接得出结论但缺少中间推理步骤(推理链完整性不足)",
58
+ },
59
+ {
60
+ rule: "FP-03",
61
+ pattern: /(?:再次|重新|又一次|重复)(?:修复|处理|解决|修补)/,
62
+ description_zh: "检测到重复修复模式,可能为表面修复",
63
+ },
64
+ {
65
+ rule: "FP-04",
66
+ pattern: /(?:重命名|改名|改为|替换为)(?!.*(?:根因|原因|根本))/,
67
+ description_zh: "检测到关键词替换,可能未解决根本问题",
68
+ },
69
+ ];
70
+ /** 扫描 FP 规则模式命中 */
71
+ function scanFPPatterns(stage, workDescription) {
72
+ const triggered = [];
73
+ for (const { rule, pattern } of FP_PATTERNS) {
74
+ const applicableStages = FP_RULE_STAGE_MAP[rule];
75
+ if (applicableStages?.includes(stage) && pattern.test(workDescription)) {
76
+ triggered.push(rule);
77
+ }
78
+ }
79
+ return triggered;
80
+ }
81
+ /**
82
+ * 评估三级确定性门禁。
83
+ *
84
+ * @param params - 门禁评估参数
85
+ * @returns 三级门禁结果
86
+ */
87
+ export function evaluateCertaintyGate(params) {
88
+ const { stage, knowledgeIndex, workDescription, pipelineState } = params;
89
+ // 获取阶段契约(传入或从注册表查找)
90
+ const stageContract = params.stageContract ?? findStageContract(stage);
91
+ if (!stageContract) {
92
+ // 无阶段契约时仅返回基本信息,不阻断
93
+ return {
94
+ level1: { passed: true, knowledge_hits: 0, min_required: 0, missing_inputs: [] },
95
+ level2: { passed: true, risk_patterns_hit: [], brainstorm_required: false, brainstorm_template: null, first_principles_required: false, fp_rules_triggered: [] },
96
+ level3: { passed: true, confirmation_level: "auto_resolvable", pending_confirmations: [] },
97
+ overall_passed: true,
98
+ checks: [],
99
+ };
100
+ }
101
+ const minRequired = MIN_KNOWLEDGE_HITS[stage] ?? 1;
102
+ // ── 第一级:输入完备性 ──
103
+ const level1 = evaluateLevel1(stage, knowledgeIndex, stageContract, pipelineState, minRequired);
104
+ // ── 第二级:方案风险扫描 ──
105
+ const level2 = evaluateLevel2(stage, workDescription, pipelineState);
106
+ // ── 第三级:决策确认 ──
107
+ const level3 = evaluateLevel3(stageContract);
108
+ const overallPassed = level1.passed && level2.passed && level3.passed;
109
+ // 构建扁平 checks 数组
110
+ const checks = [
111
+ {
112
+ check_id: `gate-${stage}-knowledge-coverage`,
113
+ name_zh: "知识覆盖率",
114
+ passed: level1.knowledge_hits >= level1.min_required,
115
+ evidence: `命中 ${level1.knowledge_hits}/${level1.min_required}`,
116
+ blocking_reason: level1.knowledge_hits < level1.min_required ? "知识命中不足" : undefined,
117
+ fix_suggestion: level1.knowledge_hits < level1.min_required ? "补充阶段相关知识" : undefined,
118
+ },
119
+ {
120
+ check_id: `gate-${stage}-required-inputs`,
121
+ name_zh: "必需输入检查",
122
+ passed: level1.missing_inputs.length === 0,
123
+ evidence: level1.missing_inputs.length === 0 ? "全部输入已就绪" : `缺失: ${level1.missing_inputs.join(", ")}`,
124
+ blocking_reason: level1.missing_inputs.length > 0 ? `缺少输入: ${level1.missing_inputs.join(", ")}` : undefined,
125
+ fix_suggestion: level1.missing_inputs.length > 0 ? "先完成前置阶段的产出" : undefined,
126
+ },
127
+ {
128
+ check_id: `gate-${stage}-risk-patterns`,
129
+ name_zh: "风险模式扫描",
130
+ passed: level2.passed,
131
+ evidence: level2.risk_patterns_hit.length === 0 ? "无风险模式命中" : `命中: ${level2.risk_patterns_hit.join(", ")}`,
132
+ blocking_reason: !level2.passed ? `风险模式命中: ${level2.risk_patterns_hit.join(", ")}` : undefined,
133
+ fix_suggestion: !level2.passed ? "查看 brainstorm_template 中的建议" : undefined,
134
+ },
135
+ {
136
+ check_id: `gate-${stage}-confirmation-level`,
137
+ name_zh: "确认级别",
138
+ passed: true, // Phase 1 不阻断
139
+ evidence: `确认级别: ${level3.confirmation_level}`,
140
+ },
141
+ ];
142
+ return {
143
+ level1,
144
+ level2,
145
+ level3,
146
+ overall_passed: overallPassed,
147
+ block_reason: overallPassed ? undefined : buildBlockReason(level1, level2, level3),
148
+ checks,
149
+ };
150
+ }
151
+ // ═══════════════════════════════════════════
152
+ // 第一级:输入完备性
153
+ // ═══════════════════════════════════════════
154
+ function evaluateLevel1(stage, knowledgeIndex, stageContract, _pipelineState, minRequired) {
155
+ // 需求分析阶段无前置要求
156
+ if (stage === "需求分析") {
157
+ return { passed: true, knowledge_hits: 0, min_required: 0, missing_inputs: [] };
158
+ }
159
+ // 查询阶段相关知识的命中数量
160
+ let knowledgeHits = 0;
161
+ try {
162
+ const results = knowledgeIndex.query({ stages: [stage], limit: 100 });
163
+ knowledgeHits = results.length;
164
+ }
165
+ catch {
166
+ // 知识查询失败时降级为 0 命中(不伪造通过),由门禁自然判定
167
+ knowledgeHits = 0;
168
+ }
169
+ // 检查前置阶段的产出是否存在
170
+ const missingInputs = [];
171
+ if (stageContract.required_inputs.length > 0) {
172
+ for (const input of stageContract.required_inputs) {
173
+ // 简化检查:在 pipelineState.stages 的 outputs 中查找
174
+ const found = _pipelineState.stages.some((s) => s.status === "completed" && s.outputs.some((o) => o.includes(input)));
175
+ if (!found) {
176
+ missingInputs.push(input);
177
+ }
178
+ }
179
+ }
180
+ // 通过条件:知识命中 ≥ 最低要求 且 无缺失输入
181
+ const passed = knowledgeHits >= minRequired && missingInputs.length === 0;
182
+ return {
183
+ passed,
184
+ knowledge_hits: knowledgeHits,
185
+ min_required: minRequired,
186
+ missing_inputs: missingInputs,
187
+ };
188
+ }
189
+ // ═══════════════════════════════════════════
190
+ // 第二级:方案风险扫描
191
+ // ═══════════════════════════════════════════
192
+ function evaluateLevel2(stage, workDescription, pipelineState) {
193
+ const matches = scanRiskPatterns(workDescription);
194
+ const hardFailHits = matches.filter((m) => m.severity === "hard_fail");
195
+ const hitIds = matches.map((m) => m.pattern_id);
196
+ // FP 规则扫描(第一性原理推理规则命中检测)
197
+ const fpRulesTriggered = scanFPPatterns(stage, workDescription);
198
+ const fpErrorRules = fpRulesTriggered.filter((r) => r === "FP-01" || r === "FP-02");
199
+ const fpWarningRules = fpRulesTriggered.filter((r) => r === "FP-03" || r === "FP-04");
200
+ // FP error 规则触发第一性原理,FP warning 规则触发头脑风暴
201
+ const fpFirstPrinciples = fpErrorRules.length > 0;
202
+ const fpBrainstorm = fpWarningRules.length > 0;
203
+ // 人类不确定性信号检测(基于管线状态:回退率、停留时长、重复执行)
204
+ const uncertaintySignals = detectHumanUncertainty(pipelineState);
205
+ const hasWarningUncertainty = uncertaintySignals.some((s) => s.severity === "warning");
206
+ // 不确定性 warning 信号增强 brainstorm 触发(不独立阻断,而是附加触发)
207
+ const uncertaintyBrainstorm = hasWarningUncertainty && BRAINSTORM_STAGES.has(stage);
208
+ const brainstormRequired = (hardFailHits.length > 0 && BRAINSTORM_STAGES.has(stage)) || fpBrainstorm || uncertaintyBrainstorm;
209
+ const firstPrinciplesRequired = (hardFailHits.length > 0 && FIRST_PRINCIPLES_STAGES.has(stage)) || fpFirstPrinciples;
210
+ // brainstorm 模板(仅在有 hard_fail 且阶段匹配时生成)
211
+ let brainstormTemplate = null;
212
+ if (brainstormRequired && hardFailHits.length > 0) {
213
+ const hit = hardFailHits[0];
214
+ const patternDef = getRiskPatternDefinition(hit.pattern_id);
215
+ brainstormTemplate = {
216
+ option_a: `采用默认策略:${hit.default_strategy_zh}`,
217
+ option_b: "自行设计方案,需说明理由",
218
+ default_strategy: hit.default_strategy_zh,
219
+ risk_pattern_id: hit.pattern_id,
220
+ pros: patternDef?.brainstorm_template?.pros ?? ["复用已验证策略"],
221
+ cons: patternDef?.brainstorm_template?.cons ?? ["需要评估适用性"],
222
+ failure_conditions: patternDef?.brainstorm_template?.failure_conditions ?? ["未覆盖所有边界情况"],
223
+ verification_method: patternDef?.brainstorm_template?.verification_method ?? "编写针对性测试验证",
224
+ knowledge_asset_ref: "templates/procedures/不确定时头脑风暴流程.md",
225
+ };
226
+ }
227
+ else if (fpBrainstorm) {
228
+ // FP 规则触发的头脑风暴模板
229
+ brainstormTemplate = {
230
+ option_a: "按第一性原理推理规则重新审视",
231
+ option_b: "自行分析根因,需说明推理链",
232
+ default_strategy: "遵循 FP 规则检查清单",
233
+ risk_pattern_id: fpWarningRules[0],
234
+ pros: ["从根因出发避免表面修复"],
235
+ cons: ["需要更多分析时间"],
236
+ failure_conditions: ["推理链断裂或未覆盖所有影响面"],
237
+ verification_method: "对照 FP-03/FP-04 检查清单逐条验证",
238
+ knowledge_asset_ref: "templates/rules/shared/第一性原理推理规则.md",
239
+ };
240
+ }
241
+ // 通过条件:无 hard_fail 命中,或不属于 brainstorm 触发阶段
242
+ // 注意:hard_fail 命中时不阻断执行,而是标记 brainstorm_required
243
+ // 实际阻断逻辑由调用方(pipeline_state_machine)决定
244
+ const passed = hardFailHits.length === 0;
245
+ return {
246
+ passed,
247
+ risk_patterns_hit: hitIds,
248
+ brainstorm_required: brainstormRequired,
249
+ brainstorm_template: brainstormTemplate,
250
+ first_principles_required: firstPrinciplesRequired,
251
+ fp_rules_triggered: fpRulesTriggered,
252
+ };
253
+ }
254
+ // ═══════════════════════════════════════════
255
+ // 第三级:决策确认
256
+ // ═══════════════════════════════════════════
257
+ function evaluateLevel3(stageContract) {
258
+ const humanGates = stageContract.human_gate;
259
+ if (!humanGates || humanGates.length === 0) {
260
+ return { passed: true, confirmation_level: "auto_resolvable", pending_confirmations: [] };
261
+ }
262
+ // 包含 "require_user_confirm" 关键词的门禁为 must_confirm
263
+ const mustConfirm = humanGates.filter((g) => g.includes("require_user_confirm") || g.includes("must_confirm"));
264
+ const shouldConfirm = humanGates.filter((g) => !g.includes("require_user_confirm") && !g.includes("must_confirm"));
265
+ const confirmationLevel = mustConfirm.length > 0 ? "must_confirm" : shouldConfirm.length > 0 ? "should_confirm" : "auto_resolvable";
266
+ // Phase 1:第三级门禁不阻断执行,仅记录待确认项
267
+ // Phase 2 将引入强制确认机制
268
+ const pendingConfirmations = [...mustConfirm, ...shouldConfirm];
269
+ return {
270
+ passed: true, // Phase 1 不阻断
271
+ confirmation_level: confirmationLevel,
272
+ pending_confirmations: pendingConfirmations,
273
+ };
274
+ }
275
+ // ═══════════════════════════════════════════
276
+ // 辅助函数
277
+ // ═══════════════════════════════════════════
278
+ function buildBlockReason(level1, _level2, _level3) {
279
+ const reasons = [];
280
+ if (!level1.passed) {
281
+ if (level1.missing_inputs.length > 0) {
282
+ reasons.push(`缺少必需输入: ${level1.missing_inputs.join(", ")}`);
283
+ }
284
+ if (level1.knowledge_hits < level1.min_required) {
285
+ reasons.push(`知识命中不足: ${level1.knowledge_hits}/${level1.min_required}`);
286
+ }
287
+ }
288
+ return reasons.length > 0 ? reasons.join("; ") : "门禁未通过";
289
+ }
290
+ /**
291
+ * 计划前置门禁 — 写操作前必须有 plan_proposal_gate。
292
+ *
293
+ * 迁移自 gate_checks.ts:checkWriteToolPlanGate,集成到确定性门禁第二级。
294
+ * middleware.ts 从此模块导入,不再依赖 gate_checks.ts。
295
+ */
296
+ export function evaluatePlanProposalGate(params) {
297
+ if (!hasWriteSideEffect(params.sideEffects))
298
+ return { allowed: true };
299
+ if (!params.ctx || !params.ctx.plan_proposal_gate) {
300
+ return {
301
+ allowed: false,
302
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.planGate,
303
+ violation_type: "guard_blocked",
304
+ reason: `工具 ${params.toolName} 执行前缺少 Plan Proposal Gate`,
305
+ };
306
+ }
307
+ return { allowed: true };
308
+ }
309
+ /**
310
+ * 设计产物编码门禁 — 依赖设计包的任务,在真实复验完成前不得写入业务实现。
311
+ *
312
+ * 迁移自 gate_checks.ts:checkDesignArtifactWriteGate,集成到确定性门禁第三级。
313
+ * 仅阻断文件/配置/外部交付写入;任务状态、设计文档复验和讨论本身仍可推进。
314
+ */
315
+ export function evaluateDesignArtifactGate(params) {
316
+ const implementationWrite = params.sideEffects.some((effect) => ["file_write", "config_write", "external_write", "git_commit", "git_push", "pr_create"].includes(effect));
317
+ if (!implementationWrite || !params.ctx?.design_artifact_pack)
318
+ return { allowed: true };
319
+ if (params.ctx.design_artifact_pack.status === "implementation_ready")
320
+ return { allowed: true };
321
+ return {
322
+ allowed: false,
323
+ diagnostic_code: "SF-DESIGN-PACK-NOT-READY",
324
+ reason: `工具 ${params.toolName} 依赖的设计产物包状态为 ${params.ctx.design_artifact_pack.status},未完成真实复验,不得写入实现或交付`,
325
+ };
326
+ }
327
+ /**
328
+ * 生命周期知识门禁 — 检查项目知识 hard rule 是否满足。
329
+ *
330
+ * 迁移自 lifecycle_knowledge_contract.ts:evaluateLifecycleKnowledgeDecision,
331
+ * 集成到确定性门禁第一级。sf_stage_execute/sf_gate_check/sf_stage_advance 必经此门。
332
+ */
333
+ export async function evaluateLifecycleKnowledgeGate(params) {
334
+ // 仅对管线核心工具执行
335
+ if (!["sf_stage_execute", "sf_gate_check", "sf_stage_advance"].includes(params.toolName)) {
336
+ return {
337
+ allowed: true, hard_fail_count: 0, findings: [],
338
+ decision_summary_zh: "非管线核心工具,跳过生命周期知识门禁",
339
+ recovery_commands: [], contract_id: "", lifecycle_stage: "",
340
+ authoritative_paths: [],
341
+ };
342
+ }
343
+ const { evaluateLifecycleKnowledgeDecision } = await import("../../contracts/lifecycle_knowledge_contract.js");
344
+ const lifecycleStage = params.toolName === "sf_stage_execute" ? "implementation"
345
+ : params.toolName === "sf_gate_check" ? "testing" : "delivery";
346
+ const lifecycleDecision = evaluateLifecycleKnowledgeDecision({
347
+ projectPath: params.projectPath,
348
+ consumer: params.toolName,
349
+ intent: params.ctx?.intent ?? params.toolName,
350
+ route: params.toolName === "sf_stage_execute" ? "review"
351
+ : params.toolName === "sf_gate_check" ? "verification" : "delivery",
352
+ lifecycle_stage: lifecycleStage,
353
+ changed_files: params.changedFiles ?? params.ctx?.execution?.changed_files ?? [],
354
+ verified_files: params.changedFiles ?? params.ctx?.execution?.changed_files ?? [],
355
+ traceability_ids: [
356
+ ...(params.ctx?.traceability_binding?.requirement_ids ?? []),
357
+ ...(params.ctx?.traceability_binding?.prototype_ids ?? []),
358
+ ...(params.ctx?.traceability_binding?.architecture_ids ?? []),
359
+ ...(params.ctx?.traceability_binding?.detail_design_ids ?? []),
360
+ ...(params.ctx?.traceability_binding?.phase_ids ?? []),
361
+ ...(params.ctx?.traceability_binding?.slice_ids ?? []),
362
+ ...(params.ctx?.traceability_binding?.acceptance_ids ?? []),
363
+ ],
364
+ config: params.config,
365
+ task_id: params.taskId,
366
+ require_design_audit: false,
367
+ enforce_control_plane: params.toolName !== "sf_stage_execute",
368
+ generation_traces: [
369
+ ...(params.ctx?.classification ? [{ tool_name: "sf_stage_execute", task_id: params.taskId, status: "passed", evidence_kind: "result" }] : []),
370
+ ...(params.ctx?.expansion ? [{ tool_name: "sf_stage_execute", task_id: params.taskId, status: "passed", evidence_kind: "result" }] : []),
371
+ ...(params.toolName === "sf_gate_check" ? [{ tool_name: "sf_gate_check", task_id: params.taskId, status: "blocked", evidence_kind: "plan" }] : []),
372
+ ],
373
+ selection_limit: 8,
374
+ });
375
+ const hardFindings = lifecycleDecision.findings
376
+ .filter((f) => f.severity === "hard_fail")
377
+ .map((f) => `[${f.code}] ${f.message_zh}`);
378
+ return {
379
+ allowed: lifecycleDecision.hard_fail_count === 0,
380
+ hard_fail_count: lifecycleDecision.hard_fail_count,
381
+ findings: hardFindings,
382
+ decision_summary_zh: lifecycleDecision.decision_summary_zh,
383
+ recovery_commands: lifecycleDecision.recovery_commands,
384
+ contract_id: lifecycleDecision.contract_id,
385
+ lifecycle_stage: lifecycleDecision.lifecycle_stage ?? "",
386
+ authoritative_paths: Object.values(lifecycleDecision.authoritative_paths).flat(),
387
+ };
388
+ }
389
+ // 重导出安全阀映射,供外部消费门禁→能力级别映射
390
+ export { GATE_CHECK_TO_CAPABILITY, applyCapabilitySafetyValve } from "./capability_safety_valve.js";
391
+ //# sourceMappingURL=certainty_gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certainty_gate.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/certainty_gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * 命令状态校验器 — 基于管线阶段校验命令合法性。
3
+ * 基于管线阶段而非路由决策进行命令合法性校验。
4
+ */
5
+ import type { TaskStage } from "../../workflow/workflow_navigation_contract.js";
6
+ /** 校验输入 */
7
+ export interface CommandStateVerifyInput {
8
+ /** 当前管线阶段 */
9
+ current_stage: TaskStage;
10
+ /** 目标阶段(推进/跳转时) */
11
+ target_stage?: TaskStage;
12
+ /** 工具名称 */
13
+ tool_name: string;
14
+ /** 是否有活跃管线 */
15
+ has_active_pipeline: boolean;
16
+ /** 操作类型 */
17
+ action: "execute" | "advance" | "rollback" | "gate_check" | "status" | "init" | "command" | "next";
18
+ }
19
+ /** 校验发现 */
20
+ export interface CommandStateVerifyFinding {
21
+ rule_id: string;
22
+ severity: "hard_fail" | "warning";
23
+ message_zh: string;
24
+ recovery?: string;
25
+ }
26
+ /** 校验结果 */
27
+ export interface CommandStateVerifyResult {
28
+ valid: boolean;
29
+ findings: CommandStateVerifyFinding[];
30
+ allowed_actions: string[];
31
+ blocked_reason_zh: string | null;
32
+ }
33
+ /**
34
+ * 校验命令状态合法性 — 11 条规则驱动。
35
+ *
36
+ * 11 条规则:
37
+ * 1. init 只能在无活跃管线时调用
38
+ * 2. execute/advance/rollback 需要 active pipeline
39
+ * 3. advance 目标必须是合法下一阶段
40
+ * 4. execute 只在 EXECUTION_ALLOWED_STAGES 阶段允许
41
+ * 5. rollback 目标必须是合法回退目标
42
+ * 6. gate_check 任何阶段都可调用
43
+ * 7. status/command/next 任何状态都可调用
44
+ * 8. 不能从联调验证推进(最终阶段)
45
+ * 9. 需求分析阶段不允许 rollback(起始阶段)
46
+ * 10. 编码与单元测试阶段必须有切片计划才能 execute
47
+ * 11. 非编码阶段不能执行源码修改操作
48
+ */
49
+ export declare function verifyCommandState(input: CommandStateVerifyInput): CommandStateVerifyResult;
50
+ //# sourceMappingURL=command_state_verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command_state_verifier.d.ts","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/command_state_verifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAGhF,WAAW;AACX,MAAM,WAAW,uBAAuB;IACtC,aAAa;IACb,aAAa,EAAE,SAAS,CAAC;IACzB,mBAAmB;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW;IACX,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CACpG;AAED,WAAW;AACX,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,WAAW;AACX,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAgCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CAwH3F"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * 命令状态校验器 — 基于管线阶段校验命令合法性。
3
+ * 基于管线阶段而非路由决策进行命令合法性校验。
4
+ */
5
+ import { debug } from "../../core/logger.js";
6
+ /** 合法阶段推进路径 */
7
+ const VALID_ADVANCE_PATHS = {
8
+ "需求分析": ["架构设计", "现有系统分析"],
9
+ "现有系统分析": ["架构设计"],
10
+ "架构设计": ["详细设计"],
11
+ "详细设计": ["任务规划"],
12
+ "任务规划": ["编码与单元测试"],
13
+ "编码与单元测试": ["代码审查"],
14
+ "代码审查": ["联调验证"],
15
+ "联调验证": [],
16
+ };
17
+ /** 允许执行(源码修改)的阶段 */
18
+ const EXECUTION_ALLOWED_STAGES = ["编码与单元测试", "代码审查", "联调验证"];
19
+ /** 允许回退的阶段 */
20
+ function getRollbackTargets(stage) {
21
+ const rollbackMap = {
22
+ "需求分析": [],
23
+ "现有系统分析": ["需求分析"],
24
+ "架构设计": ["需求分析"],
25
+ "详细设计": ["架构设计"],
26
+ "任务规划": [],
27
+ "编码与单元测试": ["详细设计"],
28
+ "代码审查": ["编码与单元测试"],
29
+ "联调验证": ["编码与单元测试", "架构设计"],
30
+ };
31
+ return rollbackMap[stage] ?? [];
32
+ }
33
+ /**
34
+ * 校验命令状态合法性 — 11 条规则驱动。
35
+ *
36
+ * 11 条规则:
37
+ * 1. init 只能在无活跃管线时调用
38
+ * 2. execute/advance/rollback 需要 active pipeline
39
+ * 3. advance 目标必须是合法下一阶段
40
+ * 4. execute 只在 EXECUTION_ALLOWED_STAGES 阶段允许
41
+ * 5. rollback 目标必须是合法回退目标
42
+ * 6. gate_check 任何阶段都可调用
43
+ * 7. status/command/next 任何状态都可调用
44
+ * 8. 不能从联调验证推进(最终阶段)
45
+ * 9. 需求分析阶段不允许 rollback(起始阶段)
46
+ * 10. 编码与单元测试阶段必须有切片计划才能 execute
47
+ * 11. 非编码阶段不能执行源码修改操作
48
+ */
49
+ export function verifyCommandState(input) {
50
+ const findings = [];
51
+ const allowedActions = [];
52
+ // 规则 7: status/command/next 始终允许
53
+ if (input.action === "status" || input.action === "command" || input.action === "next") {
54
+ return { valid: true, findings: [], allowed_actions: [input.action], blocked_reason_zh: null };
55
+ }
56
+ // 规则 6: gate_check 任何阶段都可调用
57
+ if (input.action === "gate_check") {
58
+ return { valid: true, findings: [], allowed_actions: ["gate_check"], blocked_reason_zh: null };
59
+ }
60
+ // 规则 1: init 只能在无活跃管线时调用
61
+ if (input.action === "init") {
62
+ if (input.has_active_pipeline) {
63
+ findings.push({
64
+ rule_id: "CMD-01",
65
+ severity: "hard_fail",
66
+ message_zh: "已有活跃管线,不能重复初始化。请先完成或归档当前管线。",
67
+ recovery: "[sf] 状态 查看当前管线,或 [sf] 归档 归档陈旧管线",
68
+ });
69
+ }
70
+ return { valid: findings.length === 0, findings, allowed_actions: ["init"], blocked_reason_zh: findings.length > 0 ? findings[0].message_zh : null };
71
+ }
72
+ // 规则 2: execute/advance/rollback 需要 active pipeline
73
+ if (!input.has_active_pipeline) {
74
+ findings.push({
75
+ rule_id: "CMD-02",
76
+ severity: "hard_fail",
77
+ message_zh: "无活跃管线,请先初始化。",
78
+ recovery: "[sf] 开始 <任务描述>",
79
+ });
80
+ return { valid: false, findings, allowed_actions: ["init"], blocked_reason_zh: findings[0].message_zh };
81
+ }
82
+ // 规则 3: advance 目标必须是合法下一阶段
83
+ if (input.action === "advance" && input.target_stage) {
84
+ const validTargets = VALID_ADVANCE_PATHS[input.current_stage] ?? [];
85
+ if (!validTargets.includes(input.target_stage)) {
86
+ findings.push({
87
+ rule_id: "CMD-03",
88
+ severity: "hard_fail",
89
+ message_zh: `阶段 ${input.current_stage} 不能推进到 ${input.target_stage}。合法目标: ${validTargets.join("、") || "无(最终阶段)"}`,
90
+ recovery: `[sf] 状态 查看当前阶段,[sf] 推进 推进到下一阶段`,
91
+ });
92
+ }
93
+ }
94
+ // 规则 4: execute 只在允许的阶段可用
95
+ if (input.action === "execute" && !EXECUTION_ALLOWED_STAGES.includes(input.current_stage)) {
96
+ findings.push({
97
+ rule_id: "CMD-04",
98
+ severity: "hard_fail",
99
+ message_zh: `阶段 ${input.current_stage} 不允许执行操作。允许执行阶段: ${EXECUTION_ALLOWED_STAGES.join("、")}`,
100
+ recovery: `[sf] 推进 推进到执行阶段`,
101
+ });
102
+ }
103
+ // 规则 5: rollback 目标必须是合法回退目标
104
+ if (input.action === "rollback" && input.target_stage) {
105
+ const rollbackTargets = getRollbackTargets(input.current_stage);
106
+ if (!rollbackTargets.includes(input.target_stage)) {
107
+ findings.push({
108
+ rule_id: "CMD-05",
109
+ severity: "hard_fail",
110
+ message_zh: `阶段 ${input.current_stage} 不能回退到 ${input.target_stage}。合法回退目标: ${rollbackTargets.join("、") || "无(起始阶段)"}`,
111
+ recovery: `[sf] 状态 查看合法回退路径`,
112
+ });
113
+ }
114
+ }
115
+ // 规则 8: 最终阶段不能推进
116
+ if (input.action === "advance" && input.current_stage === "联调验证") {
117
+ findings.push({
118
+ rule_id: "CMD-08",
119
+ severity: "warning",
120
+ message_zh: "联调验证是最终阶段,无法继续推进。",
121
+ recovery: "[sf] 状态 查看管线完成情况",
122
+ });
123
+ }
124
+ // 规则 9: 起始阶段不能回退
125
+ if (input.action === "rollback" && input.current_stage === "需求分析") {
126
+ findings.push({
127
+ rule_id: "CMD-09",
128
+ severity: "warning",
129
+ message_zh: "需求分析是起始阶段,无回退目标。",
130
+ });
131
+ }
132
+ // 规则 11: 非编码阶段不能执行源码修改
133
+ if (input.action === "execute" && input.tool_name && input.tool_name.includes("write") && !EXECUTION_ALLOWED_STAGES.includes(input.current_stage)) {
134
+ findings.push({
135
+ rule_id: "CMD-11",
136
+ severity: "hard_fail",
137
+ message_zh: `当前阶段 ${input.current_stage} 不允许源码修改。`,
138
+ recovery: `推进到编码阶段后再执行修改`,
139
+ });
140
+ }
141
+ // 计算允许的操作
142
+ allowedActions.push("status", "command", "next");
143
+ if (input.current_stage !== "联调验证")
144
+ allowedActions.push("advance");
145
+ if (getRollbackTargets(input.current_stage).length > 0)
146
+ allowedActions.push("rollback");
147
+ allowedActions.push("gate_check");
148
+ if (EXECUTION_ALLOWED_STAGES.includes(input.current_stage))
149
+ allowedActions.push("execute");
150
+ const hardFailFindings = findings.filter(f => f.severity === "hard_fail");
151
+ const result = {
152
+ valid: hardFailFindings.length === 0,
153
+ findings,
154
+ allowed_actions: allowedActions,
155
+ blocked_reason_zh: hardFailFindings.length > 0 ? hardFailFindings[0].message_zh : null,
156
+ };
157
+ debug("命令状态校验", "阶段=%s 动作=%s 有效=%s 发现=%d", input.current_stage, input.action, result.valid, findings.length);
158
+ return result;
159
+ }
160
+ //# sourceMappingURL=command_state_verifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command_state_verifier.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/command_state_verifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAgC7C,eAAe;AACf,MAAM,mBAAmB,GAAmC;IAC1D,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,oBAAoB;AACpB,MAAM,wBAAwB,GAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1E,cAAc;AACd,SAAS,kBAAkB,CAAC,KAAgB;IAC1C,MAAM,WAAW,GAAmC;QAClD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,CAAC,SAAS,CAAC;QACnB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,iCAAiC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACvF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACjG,CAAC;IAED,4BAA4B;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACjG,CAAC;IAED,yBAAyB;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,WAAW;gBACrB,UAAU,EAAE,6BAA6B;gBACzC,QAAQ,EAAE,iCAAiC;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvJ,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,gBAAgB;SAC3B,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1G,CAAC;IAED,4BAA4B;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,WAAW;gBACrB,UAAU,EAAE,MAAM,KAAK,CAAC,aAAa,UAAU,KAAK,CAAC,YAAY,UAAU,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE;gBAChH,QAAQ,EAAE,gCAAgC;aAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1F,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,MAAM,KAAK,CAAC,aAAa,oBAAoB,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC7F,QAAQ,EAAE,iBAAiB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACtD,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,WAAW;gBACrB,UAAU,EAAE,MAAM,KAAK,CAAC,aAAa,UAAU,KAAK,CAAC,YAAY,YAAY,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE;gBACrH,QAAQ,EAAE,kBAAkB;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,mBAAmB;YAC/B,QAAQ,EAAE,kBAAkB;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IACjB,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,kBAAkB;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAClJ,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,QAAQ,KAAK,CAAC,aAAa,WAAW;YAClD,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,UAAU;IACV,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM;QAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,IAAI,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxF,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;QAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE3F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;IAC1E,MAAM,MAAM,GAA6B;QACvC,KAAK,EAAE,gBAAgB,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ;QACR,eAAe,EAAE,cAAc;QAC/B,iBAAiB,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;KACvF,CAAC;IAEF,KAAK,CAAC,QAAQ,EAAE,yBAAyB,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7G,OAAO,MAAM,CAAC;AAChB,CAAC"}