soloforge 1.1.36 → 1.1.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (847) hide show
  1. package/README.md +6 -6
  2. package/dist/adapters/claude_code/claude_md.js +2 -2
  3. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  4. package/dist/adapters/codex/codex_rules.js +1 -1
  5. package/dist/adapters/codex/codex_rules.js.map +1 -1
  6. package/dist/adapters/shared/workflow_template.js +1 -1
  7. package/dist/adapters/trae/trae_rules.js +1 -1
  8. package/dist/adapters/trae/trae_rules.js.map +1 -1
  9. package/dist/bin/commands/audit.js +1 -1
  10. package/dist/bin/commands/audit.js.map +1 -1
  11. package/dist/bin/commands/check_bash.d.ts.map +1 -1
  12. package/dist/bin/commands/check_bash.js +19 -1
  13. package/dist/bin/commands/check_bash.js.map +1 -1
  14. package/dist/bin/commands/check_write.d.ts.map +1 -1
  15. package/dist/bin/commands/check_write.js +115 -2
  16. package/dist/bin/commands/check_write.js.map +1 -1
  17. package/dist/bin/commands/sync.js +3 -3
  18. package/dist/bin/commands/sync.js.map +1 -1
  19. package/dist/bin/commands/validate.d.ts.map +1 -1
  20. package/dist/bin/commands/validate.js +24 -5
  21. package/dist/bin/commands/validate.js.map +1 -1
  22. package/dist/engine/adapter_prompt_contract.d.ts +1 -1
  23. package/dist/engine/adapter_prompt_contract.d.ts.map +1 -1
  24. package/dist/engine/adapter_prompt_contract.js +1 -1
  25. package/dist/engine/adapter_prompt_contract.js.map +1 -1
  26. package/dist/engine/audit/audit_sampler.d.ts +1 -1
  27. package/dist/engine/audit/confidence_scorer.d.ts +16 -0
  28. package/dist/engine/audit/confidence_scorer.d.ts.map +1 -1
  29. package/dist/engine/audit/confidence_scorer.js +19 -0
  30. package/dist/engine/audit/confidence_scorer.js.map +1 -1
  31. package/dist/engine/audit/core_engineering_principles.d.ts +4 -4
  32. package/dist/engine/audit/core_engineering_principles.d.ts.map +1 -1
  33. package/dist/engine/audit/core_engineering_principles.js +18 -21
  34. package/dist/engine/audit/core_engineering_principles.js.map +1 -1
  35. package/dist/engine/audit/core_experience_principle.js +3 -3
  36. package/dist/engine/audit/core_experience_principle.js.map +1 -1
  37. package/dist/engine/audit/debt_reporter.d.ts +1 -1
  38. package/dist/engine/audit/debugger.d.ts +1 -1
  39. package/dist/engine/audit/delivery_readiness.d.ts +2 -2
  40. package/dist/engine/audit/delivery_readiness.js +2 -2
  41. package/dist/engine/audit/diagnostic_registry.js +4 -4
  42. package/dist/engine/audit/diagnostic_registry.js.map +1 -1
  43. package/dist/engine/audit/evolver.d.ts.map +1 -1
  44. package/dist/engine/audit/evolver.js +29 -2
  45. package/dist/engine/audit/evolver.js.map +1 -1
  46. package/dist/engine/audit/observability.d.ts +1 -1
  47. package/dist/engine/audit/observability.js +1 -1
  48. package/dist/engine/audit/risk_sampler.d.ts +1 -1
  49. package/dist/engine/audit/risk_sampler.js +1 -1
  50. package/dist/engine/audit/semantic_evidence.d.ts +1 -1
  51. package/dist/engine/audit/semantic_evidence.js +1 -1
  52. package/dist/engine/audit/test_generator.js +1 -1
  53. package/dist/engine/audit/test_quality.d.ts +1 -1
  54. package/dist/engine/audit/test_quality.js +1 -1
  55. package/dist/engine/config/regression_matrix.d.ts.map +1 -1
  56. package/dist/engine/config/regression_matrix.js +9 -35
  57. package/dist/engine/config/regression_matrix.js.map +1 -1
  58. package/dist/engine/contracts/architecture_decision_workshop.d.ts +7 -2
  59. package/dist/engine/contracts/architecture_decision_workshop.d.ts.map +1 -1
  60. package/dist/engine/contracts/architecture_decision_workshop.js +6 -2
  61. package/dist/engine/contracts/architecture_decision_workshop.js.map +1 -1
  62. package/dist/engine/contracts/capability_registry.d.ts.map +1 -1
  63. package/dist/engine/contracts/capability_registry.js +4 -5
  64. package/dist/engine/contracts/capability_registry.js.map +1 -1
  65. package/dist/engine/contracts/code_maintainability_observability_contract.js +2 -2
  66. package/dist/engine/contracts/code_maintainability_observability_contract.js.map +1 -1
  67. package/dist/engine/contracts/command_execution_contract.d.ts +1 -1
  68. package/dist/engine/contracts/command_execution_contract.js +3 -3
  69. package/dist/engine/contracts/command_execution_contract.js.map +1 -1
  70. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js +12 -12
  71. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js.map +1 -1
  72. package/dist/engine/contracts/control_plane_contract.d.ts.map +1 -1
  73. package/dist/engine/contracts/control_plane_contract.js +27 -13
  74. package/dist/engine/contracts/control_plane_contract.js.map +1 -1
  75. package/dist/engine/contracts/decision_contract.d.ts +1 -1
  76. package/dist/engine/contracts/decision_contract.js +1 -1
  77. package/dist/engine/contracts/decision_workshop.d.ts +1 -3
  78. package/dist/engine/contracts/decision_workshop.d.ts.map +1 -1
  79. package/dist/engine/contracts/decision_workshop.js.map +1 -1
  80. package/dist/engine/contracts/design_lifecycle_contract.d.ts +2 -2
  81. package/dist/engine/contracts/design_lifecycle_contract.d.ts.map +1 -1
  82. package/dist/engine/contracts/design_lifecycle_contract.js +12 -12
  83. package/dist/engine/contracts/design_lifecycle_contract.js.map +1 -1
  84. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js +11 -11
  85. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js.map +1 -1
  86. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js +3 -3
  87. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js.map +1 -1
  88. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.d.ts.map +1 -1
  89. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js +68 -28
  90. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js.map +1 -1
  91. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js +11 -11
  92. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js.map +1 -1
  93. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js +10 -10
  94. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js.map +1 -1
  95. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js +8 -8
  96. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js.map +1 -1
  97. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js +18 -18
  98. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js.map +1 -1
  99. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js +12 -12
  100. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js.map +1 -1
  101. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js +2 -2
  102. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.d.ts.map +1 -1
  103. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js +4 -3
  104. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js.map +1 -1
  105. package/dist/engine/contracts/enforcement_guard.d.ts +1 -1
  106. package/dist/engine/contracts/enforcement_guard.js +3 -3
  107. package/dist/engine/contracts/enforcement_guard.js.map +1 -1
  108. package/dist/engine/contracts/evolution_regression_gate.d.ts +1 -1
  109. package/dist/engine/contracts/evolution_regression_gate.js +1 -1
  110. package/dist/engine/contracts/instruction_contract.js +1 -1
  111. package/dist/engine/contracts/instruction_contract.js.map +1 -1
  112. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts +2 -2
  113. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
  114. package/dist/engine/contracts/lifecycle_knowledge_contract.js +10 -10
  115. package/dist/engine/contracts/lifecycle_knowledge_contract.js.map +1 -1
  116. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +1 -1
  117. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js +18 -17
  118. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js.map +1 -1
  119. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js +30 -30
  120. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js.map +1 -1
  121. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +3 -2
  122. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +1 -1
  123. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js +75 -52
  124. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js.map +1 -1
  125. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js +20 -20
  126. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js.map +1 -1
  127. package/dist/engine/contracts/mechanism_health_check.d.ts +1 -1
  128. package/dist/engine/contracts/mechanism_health_check.js +1 -1
  129. package/dist/engine/contracts/omission_scanner.d.ts +1 -1
  130. package/dist/engine/contracts/omission_scanner.js +1 -1
  131. package/dist/engine/contracts/platform_context.d.ts +1 -1
  132. package/dist/engine/contracts/platform_context.js +1 -1
  133. package/dist/engine/contracts/project_knowledge_contract.d.ts +2 -2
  134. package/dist/engine/contracts/project_knowledge_contract.d.ts.map +1 -1
  135. package/dist/engine/contracts/project_knowledge_contract.js +6 -6
  136. package/dist/engine/contracts/project_knowledge_contract.js.map +1 -1
  137. package/dist/engine/contracts/state_machine_contracts.d.ts +17 -0
  138. package/dist/engine/contracts/state_machine_contracts.d.ts.map +1 -0
  139. package/dist/engine/contracts/state_machine_contracts.js +97 -0
  140. package/dist/engine/contracts/state_machine_contracts.js.map +1 -0
  141. package/dist/engine/contracts/technology_decision.d.ts +18 -0
  142. package/dist/engine/contracts/technology_decision.d.ts.map +1 -1
  143. package/dist/engine/contracts/technology_decision.js +38 -0
  144. package/dist/engine/contracts/technology_decision.js.map +1 -1
  145. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts +2 -3
  146. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  147. package/dist/engine/contracts/tool_invocation_contract_registry.js +163 -186
  148. package/dist/engine/contracts/tool_invocation_contract_registry.js.map +1 -1
  149. package/dist/engine/contracts/user_feedback_contract.d.ts +1 -1
  150. package/dist/engine/contracts/user_feedback_contract.d.ts.map +1 -1
  151. package/dist/engine/contracts/user_feedback_contract.js +6 -9
  152. package/dist/engine/contracts/user_feedback_contract.js.map +1 -1
  153. package/dist/engine/contracts/workflow_template_pack.d.ts +1 -1
  154. package/dist/engine/contracts/workflow_template_pack.js +5 -5
  155. package/dist/engine/contracts/workflow_template_pack.js.map +1 -1
  156. package/dist/engine/core/debug_log.d.ts +1 -1
  157. package/dist/engine/core/debug_log.js +1 -1
  158. package/dist/engine/knowledge/knowledge_asset_audit.d.ts.map +1 -1
  159. package/dist/engine/knowledge/knowledge_asset_audit.js +4 -2
  160. package/dist/engine/knowledge/knowledge_asset_audit.js.map +1 -1
  161. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts +21 -20
  162. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts.map +1 -1
  163. package/dist/engine/knowledge/knowledge_asset_consumer.js +24 -22
  164. package/dist/engine/knowledge/knowledge_asset_consumer.js.map +1 -1
  165. package/dist/engine/knowledge/knowledge_asset_migration.js +1 -1
  166. package/dist/engine/knowledge/knowledge_asset_migration.js.map +1 -1
  167. package/dist/engine/knowledge/knowledge_asset_schema.d.ts +2 -1
  168. package/dist/engine/knowledge/knowledge_asset_schema.d.ts.map +1 -1
  169. package/dist/engine/knowledge/knowledge_asset_schema.js +25 -7
  170. package/dist/engine/knowledge/knowledge_asset_schema.js.map +1 -1
  171. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts +3 -3
  172. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts.map +1 -1
  173. package/dist/engine/knowledge/knowledge_consumption_snapshot.js +5 -5
  174. package/dist/engine/knowledge/knowledge_consumption_snapshot.js.map +1 -1
  175. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts +36 -5
  176. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -1
  177. package/dist/engine/knowledge/knowledge_injection_boundary.js +95 -40
  178. package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -1
  179. package/dist/engine/knowledge/knowledge_scenario_registry.js +1 -1
  180. package/dist/engine/knowledge/knowledge_scenario_registry.js.map +1 -1
  181. package/dist/engine/knowledge/knowledge_writer.js +3 -3
  182. package/dist/engine/knowledge/knowledge_writer.js.map +1 -1
  183. package/dist/engine/knowledge/language_policy.d.ts +2 -2
  184. package/dist/engine/knowledge/language_policy.js +2 -2
  185. package/dist/engine/onboarding.d.ts +1 -1
  186. package/dist/engine/onboarding.js +2 -2
  187. package/dist/engine/onboarding.js.map +1 -1
  188. package/dist/engine/pipeline/artifact_aliases.d.ts +19 -0
  189. package/dist/engine/pipeline/artifact_aliases.d.ts.map +1 -0
  190. package/dist/engine/pipeline/artifact_aliases.js +39 -0
  191. package/dist/engine/pipeline/artifact_aliases.js.map +1 -0
  192. package/dist/engine/pipeline/input_material_extractor.d.ts +1 -1
  193. package/dist/engine/pipeline/input_material_extractor.d.ts.map +1 -1
  194. package/dist/engine/pipeline/intent_expander/helpers.d.ts +15 -29
  195. package/dist/engine/pipeline/intent_expander/helpers.d.ts.map +1 -1
  196. package/dist/engine/pipeline/intent_expander/helpers.js +15 -158
  197. package/dist/engine/pipeline/intent_expander/helpers.js.map +1 -1
  198. package/dist/engine/pipeline/intent_expander/index.d.ts +1 -2
  199. package/dist/engine/pipeline/intent_expander/index.d.ts.map +1 -1
  200. package/dist/engine/pipeline/intent_expander/index.js +1 -3
  201. package/dist/engine/pipeline/intent_expander/index.js.map +1 -1
  202. package/dist/engine/pipeline/intent_expander/knowledge.d.ts +4 -13
  203. package/dist/engine/pipeline/intent_expander/knowledge.d.ts.map +1 -1
  204. package/dist/engine/pipeline/intent_expander/knowledge.js +14 -169
  205. package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -1
  206. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts +7 -5
  207. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts.map +1 -1
  208. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js +84 -30
  209. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js.map +1 -1
  210. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts +13 -100
  211. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts.map +1 -1
  212. package/dist/engine/pipeline/intent_expander/privacy_gates.js +18 -268
  213. package/dist/engine/pipeline/intent_expander/privacy_gates.js.map +1 -1
  214. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts +9 -5
  215. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts.map +1 -1
  216. package/dist/engine/pipeline/intent_expander/scope_acceptance.js +13 -31
  217. package/dist/engine/pipeline/intent_expander/scope_acceptance.js.map +1 -1
  218. package/dist/engine/pipeline/intent_expander/templates.d.ts +2 -1
  219. package/dist/engine/pipeline/intent_expander/templates.d.ts.map +1 -1
  220. package/dist/engine/pipeline/intent_expander/templates.js +73 -0
  221. package/dist/engine/pipeline/intent_expander/templates.js.map +1 -1
  222. package/dist/engine/pipeline/intent_expander/types.d.ts +0 -2
  223. package/dist/engine/pipeline/intent_expander/types.d.ts.map +1 -1
  224. package/dist/engine/pipeline/intent_expander.d.ts +5 -3
  225. package/dist/engine/pipeline/intent_expander.d.ts.map +1 -1
  226. package/dist/engine/pipeline/intent_expander.js +4 -3
  227. package/dist/engine/pipeline/intent_expander.js.map +1 -1
  228. package/dist/engine/pipeline/job_manager.d.ts +1 -1
  229. package/dist/engine/pipeline/job_manager.js +1 -1
  230. package/dist/engine/pipeline/prompt_template_resolver.d.ts +13 -0
  231. package/dist/engine/pipeline/prompt_template_resolver.d.ts.map +1 -0
  232. package/dist/engine/pipeline/prompt_template_resolver.js +25 -0
  233. package/dist/engine/pipeline/prompt_template_resolver.js.map +1 -0
  234. package/dist/engine/pipeline/rollback_router.d.ts +1 -1
  235. package/dist/engine/pipeline/rollback_router.d.ts.map +1 -1
  236. package/dist/engine/pipeline/scope_resolver.d.ts +9 -2
  237. package/dist/engine/pipeline/scope_resolver.d.ts.map +1 -1
  238. package/dist/engine/pipeline/scope_resolver.js +29 -15
  239. package/dist/engine/pipeline/scope_resolver.js.map +1 -1
  240. package/dist/engine/pipeline/slice_executor.d.ts +5 -1
  241. package/dist/engine/pipeline/slice_executor.d.ts.map +1 -1
  242. package/dist/engine/pipeline/slice_executor.js +4 -1
  243. package/dist/engine/pipeline/slice_executor.js.map +1 -1
  244. package/dist/engine/pipeline/state_machine/audit_logger.d.ts +42 -0
  245. package/dist/engine/pipeline/state_machine/audit_logger.d.ts.map +1 -0
  246. package/dist/engine/pipeline/state_machine/audit_logger.js +65 -0
  247. package/dist/engine/pipeline/state_machine/audit_logger.js.map +1 -0
  248. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts +51 -0
  249. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts.map +1 -0
  250. package/dist/engine/pipeline/state_machine/capability_safety_valve.js +131 -0
  251. package/dist/engine/pipeline/state_machine/capability_safety_valve.js.map +1 -0
  252. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts +92 -0
  253. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts.map +1 -0
  254. package/dist/engine/pipeline/state_machine/certainty_gate.js +317 -0
  255. package/dist/engine/pipeline/state_machine/certainty_gate.js.map +1 -0
  256. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts +50 -0
  257. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts.map +1 -0
  258. package/dist/engine/pipeline/state_machine/command_state_verifier.js +160 -0
  259. package/dist/engine/pipeline/state_machine/command_state_verifier.js.map +1 -0
  260. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts +58 -0
  261. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts.map +1 -0
  262. package/dist/engine/pipeline/state_machine/hook_classifier.js +123 -0
  263. package/dist/engine/pipeline/state_machine/hook_classifier.js.map +1 -0
  264. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts +33 -0
  265. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts.map +1 -0
  266. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js +72 -0
  267. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js.map +1 -0
  268. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts +21 -0
  269. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts.map +1 -0
  270. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js +33 -0
  271. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js.map +1 -0
  272. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts +154 -0
  273. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts.map +1 -0
  274. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js +1089 -0
  275. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js.map +1 -0
  276. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts +34 -0
  277. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts.map +1 -0
  278. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js +152 -0
  279. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js.map +1 -0
  280. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts +28 -0
  281. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts.map +1 -0
  282. package/dist/engine/pipeline/state_machine/route_usage_stats.js +76 -0
  283. package/dist/engine/pipeline/state_machine/route_usage_stats.js.map +1 -0
  284. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts +22 -0
  285. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts.map +1 -0
  286. package/dist/engine/pipeline/state_machine/sf_command_parser.js +170 -0
  287. package/dist/engine/pipeline/state_machine/sf_command_parser.js.map +1 -0
  288. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts +38 -0
  289. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts.map +1 -0
  290. package/dist/engine/pipeline/state_machine/stage_command_registry.js +218 -0
  291. package/dist/engine/pipeline/state_machine/stage_command_registry.js.map +1 -0
  292. package/dist/engine/pipeline/state_machine/stage_executor.d.ts +37 -0
  293. package/dist/engine/pipeline/state_machine/stage_executor.d.ts.map +1 -0
  294. package/dist/engine/pipeline/state_machine/stage_executor.js +67 -0
  295. package/dist/engine/pipeline/state_machine/stage_executor.js.map +1 -0
  296. package/dist/engine/pipeline/state_machine/state_migrator.d.ts +21 -0
  297. package/dist/engine/pipeline/state_machine/state_migrator.d.ts.map +1 -0
  298. package/dist/engine/pipeline/state_machine/state_migrator.js +130 -0
  299. package/dist/engine/pipeline/state_machine/state_migrator.js.map +1 -0
  300. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts +48 -0
  301. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts.map +1 -0
  302. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js +566 -0
  303. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js.map +1 -0
  304. package/dist/engine/pipeline/state_machine/static_route_table.d.ts +36 -0
  305. package/dist/engine/pipeline/state_machine/static_route_table.d.ts.map +1 -0
  306. package/dist/engine/pipeline/state_machine/static_route_table.js +112 -0
  307. package/dist/engine/pipeline/state_machine/static_route_table.js.map +1 -0
  308. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts +45 -0
  309. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts.map +1 -0
  310. package/dist/engine/pipeline/state_machine/strong_confirmation.js +57 -0
  311. package/dist/engine/pipeline/state_machine/strong_confirmation.js.map +1 -0
  312. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts +55 -0
  313. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts.map +1 -0
  314. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js +48 -0
  315. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js.map +1 -0
  316. package/dist/engine/pipeline/task_context/manager.d.ts +40 -1
  317. package/dist/engine/pipeline/task_context/manager.d.ts.map +1 -1
  318. package/dist/engine/pipeline/task_context/manager.js +348 -114
  319. package/dist/engine/pipeline/task_context/manager.js.map +1 -1
  320. package/dist/engine/pipeline/task_context/manager_setters.d.ts +23 -1
  321. package/dist/engine/pipeline/task_context/manager_setters.d.ts.map +1 -1
  322. package/dist/engine/pipeline/task_context/manager_setters.js +237 -119
  323. package/dist/engine/pipeline/task_context/manager_setters.js.map +1 -1
  324. package/dist/engine/pipeline/task_context/status_transitions.d.ts +7 -2
  325. package/dist/engine/pipeline/task_context/status_transitions.d.ts.map +1 -1
  326. package/dist/engine/pipeline/task_context/status_transitions.js +9 -14
  327. package/dist/engine/pipeline/task_context/status_transitions.js.map +1 -1
  328. package/dist/engine/pipeline/task_planner.js +14 -8
  329. package/dist/engine/pipeline/task_planner.js.map +1 -1
  330. package/dist/engine/pipeline/task_stage_detector.d.ts +2 -0
  331. package/dist/engine/pipeline/task_stage_detector.d.ts.map +1 -1
  332. package/dist/engine/pipeline/task_stage_detector.js +34 -3
  333. package/dist/engine/pipeline/task_stage_detector.js.map +1 -1
  334. package/dist/engine/pipeline/workspace_lease.d.ts +1 -1
  335. package/dist/engine/pipeline/workspace_lease.js +1 -1
  336. package/dist/engine/pipeline/workspace_resumer.js +2 -2
  337. package/dist/engine/pipeline/workspace_resumer.js.map +1 -1
  338. package/dist/engine/release/foundation_scenario_registry.js +45 -45
  339. package/dist/engine/release/foundation_scenario_registry.js.map +1 -1
  340. package/dist/engine/release/foundation_scenario_runners.d.ts +3 -3
  341. package/dist/engine/release/foundation_scenario_runners.d.ts.map +1 -1
  342. package/dist/engine/release/foundation_scenario_runners.js +27 -485
  343. package/dist/engine/release/foundation_scenario_runners.js.map +1 -1
  344. package/dist/engine/release/gate_checks/checkControlPlaneTrust.d.ts.map +1 -1
  345. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js +23 -21
  346. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js.map +1 -1
  347. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.d.ts.map +1 -1
  348. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js +8 -9
  349. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js.map +1 -1
  350. package/dist/engine/release/gate_checks/checkMainlineConsumption.js +3 -3
  351. package/dist/engine/release/gate_checks/checkMainlineConsumption.js.map +1 -1
  352. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.d.ts.map +1 -1
  353. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js +8 -56
  354. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js.map +1 -1
  355. package/dist/engine/release/release_gate_scenario_registry.js +2 -2
  356. package/dist/engine/release/release_gate_scenario_registry.js.map +1 -1
  357. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js +39 -39
  358. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js.map +1 -1
  359. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js +19 -19
  360. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js.map +1 -1
  361. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js +60 -60
  362. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js.map +1 -1
  363. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.d.ts.map +1 -1
  364. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js +39 -43
  365. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js.map +1 -1
  366. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.d.ts.map +1 -1
  367. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js +104 -27
  368. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js.map +1 -1
  369. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js +15 -15
  370. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js.map +1 -1
  371. package/dist/engine/release/types.d.ts +2 -2
  372. package/dist/engine/release/types.d.ts.map +1 -1
  373. package/dist/engine/release/verifier.js +7 -7
  374. package/dist/engine/release/verifier.js.map +1 -1
  375. package/dist/engine/state_fact_classifier.d.ts +3 -3
  376. package/dist/engine/state_fact_classifier.js +4 -4
  377. package/dist/engine/state_fact_classifier.js.map +1 -1
  378. package/dist/engine/templates/asset_manifest.d.ts.map +1 -1
  379. package/dist/engine/templates/asset_manifest.js +18 -16
  380. package/dist/engine/templates/asset_manifest.js.map +1 -1
  381. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js +11 -11
  382. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js.map +1 -1
  383. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts +1 -1
  384. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts.map +1 -1
  385. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js +34 -10
  386. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js.map +1 -1
  387. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js +10 -10
  388. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js.map +1 -1
  389. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js +18 -18
  390. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js.map +1 -1
  391. package/dist/engine/templates/consumable_asset_registry/types.js +4 -4
  392. package/dist/engine/templates/consumable_asset_registry/types.js.map +1 -1
  393. package/dist/engine/templates/consumption_trace_store.d.ts +3 -3
  394. package/dist/engine/templates/consumption_trace_store.d.ts.map +1 -1
  395. package/dist/engine/templates/consumption_trace_store.js +4 -4
  396. package/dist/engine/templates/consumption_trace_store.js.map +1 -1
  397. package/dist/engine/templates/explicit_asset_registry/adapters.js +4 -4
  398. package/dist/engine/templates/explicit_asset_registry/adapters.js.map +1 -1
  399. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js +10 -10
  400. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js.map +1 -1
  401. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js +25 -25
  402. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js.map +1 -1
  403. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js +5 -5
  404. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js.map +1 -1
  405. package/dist/engine/templates/explicit_asset_registry/checklists.js +7 -7
  406. package/dist/engine/templates/explicit_asset_registry/contributing.js +1 -1
  407. package/dist/engine/templates/explicit_asset_registry/domain.js +9 -9
  408. package/dist/engine/templates/explicit_asset_registry/gates.js +20 -20
  409. package/dist/engine/templates/explicit_asset_registry/gates.js.map +1 -1
  410. package/dist/engine/templates/explicit_asset_registry/internal_patterns.js +27 -27
  411. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.d.ts.map +1 -1
  412. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js +42 -26
  413. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js.map +1 -1
  414. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js +20 -20
  415. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js.map +1 -1
  416. package/dist/engine/templates/explicit_asset_registry/patterns_part1.js +25 -25
  417. package/dist/engine/templates/explicit_asset_registry/patterns_part2.js +25 -25
  418. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js +2 -2
  419. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js.map +1 -1
  420. package/dist/engine/templates/explicit_asset_registry/procedures_part1.d.ts.map +1 -1
  421. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js +42 -26
  422. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js.map +1 -1
  423. package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts.map +1 -1
  424. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +29 -12
  425. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -1
  426. package/dist/engine/templates/explicit_asset_registry/profiles.js +3 -3
  427. package/dist/engine/templates/explicit_asset_registry/profiles.js.map +1 -1
  428. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js +9 -9
  429. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js.map +1 -1
  430. package/dist/engine/templates/explicit_asset_registry/rules_shared.js +16 -16
  431. package/dist/engine/templates/explicit_asset_registry/rules_shared.js.map +1 -1
  432. package/dist/engine/templates/explicit_asset_registry/scaffolds.js +22 -22
  433. package/dist/engine/templates/explicit_asset_registry/scaffolds.js.map +1 -1
  434. package/dist/engine/templates/explicit_asset_registry/types.d.ts +1 -1
  435. package/dist/engine/templates/observed_consumption.d.ts +2 -2
  436. package/dist/engine/templates/observed_consumption.d.ts.map +1 -1
  437. package/dist/engine/templates/observed_consumption.js +5 -22
  438. package/dist/engine/templates/observed_consumption.js.map +1 -1
  439. package/dist/engine/templates/scaffolder.js +8 -8
  440. package/dist/engine/templates/scaffolder.js.map +1 -1
  441. package/dist/engine/templates/standard_asset_contract.d.ts +5 -5
  442. package/dist/engine/templates/standard_asset_contract.d.ts.map +1 -1
  443. package/dist/engine/templates/standard_asset_contract.js +18 -18
  444. package/dist/engine/templates/standard_asset_contract.js.map +1 -1
  445. package/dist/engine/templates/standard_asset_coverage.js +12 -12
  446. package/dist/engine/templates/standard_asset_coverage.js.map +1 -1
  447. package/dist/engine/templates/template_asset_contract_registry.d.ts +2 -2
  448. package/dist/engine/templates/template_asset_contract_registry.js +23 -23
  449. package/dist/engine/templates/template_asset_contract_registry.js.map +1 -1
  450. package/dist/engine/templates/template_asset_visibility.d.ts +1 -1
  451. package/dist/engine/templates/template_asset_visibility.js +4 -4
  452. package/dist/engine/templates/template_asset_visibility.js.map +1 -1
  453. package/dist/engine/templates/template_init_sync.js +11 -11
  454. package/dist/engine/templates/template_init_sync.js.map +1 -1
  455. package/dist/engine/templates/template_manifest_io.js +6 -6
  456. package/dist/engine/templates/template_manifest_io.js.map +1 -1
  457. package/dist/engine/templates/template_mechanism_auditor.d.ts.map +1 -1
  458. package/dist/engine/templates/template_mechanism_auditor.js +6 -5
  459. package/dist/engine/templates/template_mechanism_auditor.js.map +1 -1
  460. package/dist/engine/templates/workflow_rule_generator.d.ts.map +1 -1
  461. package/dist/engine/templates/workflow_rule_generator.js +8 -10
  462. package/dist/engine/templates/workflow_rule_generator.js.map +1 -1
  463. package/dist/engine/workflow/index.d.ts +2 -2
  464. package/dist/engine/workflow/index.d.ts.map +1 -1
  465. package/dist/engine/workflow/index.js +1 -1
  466. package/dist/engine/workflow/index.js.map +1 -1
  467. package/dist/engine/workflow/next_action_planner.js +11 -9
  468. package/dist/engine/workflow/next_action_planner.js.map +1 -1
  469. package/dist/engine/workflow/workflow_contract_registry.d.ts +49 -31
  470. package/dist/engine/workflow/workflow_contract_registry.d.ts.map +1 -1
  471. package/dist/engine/workflow/workflow_contract_registry.js +81 -642
  472. package/dist/engine/workflow/workflow_contract_registry.js.map +1 -1
  473. package/dist/knowledge/index_manager.d.ts +6 -1
  474. package/dist/knowledge/index_manager.d.ts.map +1 -1
  475. package/dist/knowledge/index_manager.js +156 -74
  476. package/dist/knowledge/index_manager.js.map +1 -1
  477. package/dist/knowledge/writer.d.ts +10 -0
  478. package/dist/knowledge/writer.d.ts.map +1 -1
  479. package/dist/knowledge/writer.js +40 -0
  480. package/dist/knowledge/writer.js.map +1 -1
  481. package/dist/server/tools/cep_assessment.d.ts +1 -1
  482. package/dist/server/tools/cep_assessment.d.ts.map +1 -1
  483. package/dist/server/tools/cep_assessment.js +15 -6
  484. package/dist/server/tools/cep_assessment.js.map +1 -1
  485. package/dist/server/tools/gate_checks.d.ts +9 -0
  486. package/dist/server/tools/gate_checks.d.ts.map +1 -1
  487. package/dist/server/tools/gate_checks.js +55 -1
  488. package/dist/server/tools/gate_checks.js.map +1 -1
  489. package/dist/server/tools/index.d.ts.map +1 -1
  490. package/dist/server/tools/index.js +8 -29
  491. package/dist/server/tools/index.js.map +1 -1
  492. package/dist/server/tools/lazy_loaders.d.ts +0 -3
  493. package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
  494. package/dist/server/tools/lazy_loaders.js +0 -3
  495. package/dist/server/tools/lazy_loaders.js.map +1 -1
  496. package/dist/server/tools/middleware.d.ts.map +1 -1
  497. package/dist/server/tools/middleware.js +419 -394
  498. package/dist/server/tools/middleware.js.map +1 -1
  499. package/dist/server/tools/schemas.d.ts +40 -7
  500. package/dist/server/tools/schemas.d.ts.map +1 -1
  501. package/dist/server/tools/schemas.js +27 -11
  502. package/dist/server/tools/schemas.js.map +1 -1
  503. package/dist/server/tools/tool_groups/admin.d.ts.map +1 -1
  504. package/dist/server/tools/tool_groups/admin.js +4 -107
  505. package/dist/server/tools/tool_groups/admin.js.map +1 -1
  506. package/dist/server/tools/tool_groups/auxiliary.d.ts.map +1 -1
  507. package/dist/server/tools/tool_groups/auxiliary.js +4 -21
  508. package/dist/server/tools/tool_groups/auxiliary.js.map +1 -1
  509. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts +0 -1
  510. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts.map +1 -1
  511. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js +5 -427
  512. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js.map +1 -1
  513. package/dist/server/tools/tool_groups/state_machine.d.ts +13 -0
  514. package/dist/server/tools/tool_groups/state_machine.d.ts.map +1 -0
  515. package/dist/server/tools/tool_groups/state_machine.js +422 -0
  516. package/dist/server/tools/tool_groups/state_machine.js.map +1 -0
  517. package/dist/server/tools/tool_names.d.ts +19 -19
  518. package/dist/server/tools/tool_names.d.ts.map +1 -1
  519. package/dist/server/tools/tool_names.js +23 -24
  520. package/dist/server/tools/tool_names.js.map +1 -1
  521. package/dist/types/dual_layer.d.ts +3 -3
  522. package/dist/types/index.d.ts +1 -0
  523. package/dist/types/index.d.ts.map +1 -1
  524. package/dist/types/index.js +1 -0
  525. package/dist/types/index.js.map +1 -1
  526. package/dist/types/pipeline.d.ts +17 -7
  527. package/dist/types/pipeline.d.ts.map +1 -1
  528. package/dist/types/pipeline.js +4 -0
  529. package/dist/types/pipeline.js.map +1 -1
  530. package/dist/types/state_machine.d.ts +344 -0
  531. package/dist/types/state_machine.d.ts.map +1 -0
  532. package/dist/types/state_machine.js +47 -0
  533. package/dist/types/state_machine.js.map +1 -0
  534. package/dist/types/task.d.ts +35 -8
  535. package/dist/types/task.d.ts.map +1 -1
  536. package/package.json +3 -3
  537. package/templates/artifacts/existing-system//345/216/206/345/217/262/346/225/260/346/215/256/346/270/205/346/264/227/350/204/232/346/234/254/346/250/241/347/211/210.md +0 -2
  538. package/templates/artifacts/existing-system//345/216/206/345/217/262/351/201/227/347/225/231/351/233/267/345/214/272/346/270/205/345/215/225/346/250/241/347/211/210.md +0 -2
  539. package/templates/artifacts/existing-system//345/220/221/345/220/216/345/205/274/345/256/271/346/200/247/345/220/210/350/247/204/346/212/245/345/221/212/346/250/241/347/211/210.md +0 -2
  540. package/templates/artifacts/existing-system//345/242/236/351/207/217/350/276/271/347/225/214/347/225/214/345/256/232/346/226/207/346/241/243/346/250/241/347/211/210.md +0 -2
  541. package/templates/artifacts/existing-system//346/224/271/351/200/240/345/275/261/345/223/215/350/214/203/345/233/264/350/257/204/344/274/260/346/250/241/347/211/210.md +0 -2
  542. package/templates/artifacts/existing-system//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276/346/250/241/347/211/210.md +0 -2
  543. package/templates/artifacts/existing-system//346/226/260/350/200/201/351/200/273/350/276/221/346/257/224/345/257/271/346/227/245/345/277/227/346/250/241/347/211/210.md +0 -2
  544. package/templates/artifacts/existing-system//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214/346/250/241/347/211/210.md +0 -2
  545. package/templates/artifacts/existing-system//351/232/224/347/246/273/351/200/202/351/205/215/345/231/250/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
  546. package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +0 -2
  547. package/templates/artifacts/shared/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243/346/250/241/347/211/210.md +0 -2
  548. package/templates/artifacts/shared/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
  549. package/templates/artifacts/shared/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +0 -3
  550. package/templates/artifacts/shared/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +0 -2
  551. package/templates/artifacts/shared//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212/346/250/241/347/211/210.md +0 -2
  552. package/templates/artifacts/shared//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/351/252/214/346/224/266/346/250/241/347/211/210.md +0 -1
  553. package/templates/artifacts/shared//345/210/207/347/211/207/350/256/241/345/210/222/346/250/241/347/211/210.md +0 -3
  554. package/templates/artifacts/shared//345/211/215/347/253/257/351/241/265/351/235/242/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
  555. package/templates/artifacts/shared//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +0 -2
  556. package/templates/artifacts/shared//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
  557. package/templates/artifacts/shared//345/220/216/347/253/257/345/256/236/347/216/260/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
  558. package/templates/artifacts/shared//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +0 -2
  559. package/templates/artifacts/shared//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -2
  560. package/templates/artifacts/shared//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
  561. package/templates/artifacts/shared//346/212/200/346/234/257/351/200/211/345/236/213/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
  562. package/templates/artifacts/shared//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
  563. package/templates/artifacts/shared//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +0 -2
  564. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
  565. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
  566. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243/346/250/241/347/211/210.md +0 -2
  567. package/templates/artifacts/shared//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -2
  568. package/templates/artifacts/shared//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +0 -2
  569. package/templates/artifacts/shared//350/256/276/350/256/241/344/270/200/350/207/264/346/200/247/351/252/214/346/224/266/346/212/245/345/221/212/346/250/241/347/211/210.md +0 -1
  570. package/templates/artifacts/shared//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -2
  571. package/templates/artifacts/shared//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +0 -2
  572. package/templates/artifacts/shared//351/200/232/347/224/250/350/264/250/351/207/217/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
  573. package/templates/artifacts/shared//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
  574. package/templates/artifacts/shared//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
  575. package/templates/artifacts/shared//351/234/200/346/261/202/345/216/237/345/236/213/350/256/276/350/256/241/345/256/236/347/216/260/350/277/275/350/270/252/347/237/251/351/230/265/346/250/241/347/211/210.md +0 -1
  576. package/templates/checklists//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
  577. package/templates/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -1
  578. package/templates/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
  579. package/templates/checklists//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
  580. package/templates/checklists//347/237/245/350/257/206/346/263/250/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
  581. package/templates/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +0 -1
  582. package/templates/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
  583. package/templates/domain//345/244/232/347/247/237/346/210/267.md +0 -2
  584. package/templates/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -2
  585. package/templates/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +0 -2
  586. package/templates/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -2
  587. package/templates/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -2
  588. package/templates/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +0 -2
  589. package/templates/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -2
  590. package/templates/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -2
  591. package/templates/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +0 -2
  592. package/templates/internal/patterns/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -2
  593. package/templates/internal/patterns/Hook/345/261/202/344/272/247/347/211/251/347/273/223/346/236/204/346/240/241/351/252/214.md +0 -2
  594. package/templates/internal/patterns/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -2
  595. package/templates/internal/patterns/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -2
  596. package/templates/internal/patterns//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +0 -2
  597. package/templates/internal/patterns//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -2
  598. package/templates/internal/patterns//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -2
  599. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/344/270/216/345/257/206/351/222/245/346/213/246/346/210/252.md +0 -2
  600. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -2
  601. package/templates/internal/patterns//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -2
  602. package/templates/internal/patterns//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -2
  603. package/templates/internal/patterns//345/210/206/345/234/272/346/231/257/350/277/207/347/250/213/350/247/204/345/210/231.md +0 -2
  604. package/templates/internal/patterns//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -2
  605. package/templates/internal/patterns//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -2
  606. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -2
  607. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -2
  608. package/templates/internal/patterns//345/271/266/345/217/221/351/224/201.md +0 -2
  609. package/templates/internal/patterns//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +1 -3
  610. package/templates/internal/patterns//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -2
  611. package/templates/internal/patterns//346/250/241/347/211/210Frontmatter/350/247/243/346/236/220.md +0 -2
  612. package/templates/internal/patterns//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +0 -2
  613. package/templates/internal/patterns//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -2
  614. package/templates/internal/patterns//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -2
  615. package/templates/internal/patterns//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -2
  616. package/templates/internal/patterns//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -2
  617. package/templates/internal/patterns//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -2
  618. package/templates/internal/patterns//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -2
  619. package/templates/internal/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +0 -1
  620. package/templates/internal/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -2
  621. package/templates/internal/rules//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
  622. package/templates/internal/rules//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +0 -1
  623. package/templates/internal/rules//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
  624. package/templates/internal/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +0 -1
  625. package/templates/internal/rules//345/221/275/344/273/244/350/267/257/347/224/261/350/247/204/345/210/231.md +36 -0
  626. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
  627. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246/350/247/204/345/210/231.md +6 -7
  628. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/346/250/241/347/211/210/345/214/205/350/247/204/345/210/231.md +0 -1
  629. package/templates/internal/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +0 -1
  630. package/templates/internal/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +4 -3
  631. package/templates/internal/rules//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260/350/247/204/345/210/231.md +3 -4
  632. package/templates/internal/rules//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +0 -1
  633. package/templates/internal/rules//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203/350/247/204/345/210/231.md +0 -1
  634. package/templates/internal/rules//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206/350/247/204/345/210/231.md +0 -1
  635. package/templates/internal/rules//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
  636. package/templates/internal/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -1
  637. package/templates/internal/rules//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -1
  638. package/templates/internal/rules//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +0 -2
  639. package/templates/internal/rules//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226/350/247/204/345/210/231.md +2 -6
  640. package/templates/internal/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -1
  641. package/templates/internal/rules//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +0 -1
  642. package/templates/internal/rules//346/250/241/347/211/210Frontmatter/350/247/204/350/214/203.md +2 -3
  643. package/templates/internal/rules//346/250/241/347/211/210/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247/350/247/204/345/210/231.md +0 -4
  644. package/templates/internal/rules//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275/350/247/204/345/210/231.md +0 -1
  645. package/templates/internal/rules//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247/350/247/204/345/210/231.md +0 -1
  646. package/templates/internal/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +3 -4
  647. package/templates/internal/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -1
  648. package/templates/internal/rules//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214/350/247/204/345/210/231.md +0 -1
  649. package/templates/internal/rules//347/237/245/350/257/206/350/265/204/344/272/247/346/262/273/347/220/206/350/247/204/345/210/231.md +1 -2
  650. package/templates/internal/rules//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +0 -1
  651. package/templates/internal/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +0 -1
  652. package/templates/internal/rules//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242/350/247/204/345/210/231.md +0 -1
  653. package/templates/internal/rules//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250/350/247/204/345/210/231.md +0 -5
  654. package/templates/internal/rules//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205/350/247/204/345/210/231.md +0 -3
  655. package/templates/internal/rules//350/257/201/346/215/256/351/251/261/345/212/250/344/270/216/345/217/215/345/271/273/350/247/211/350/247/204/345/210/231.md +0 -1
  656. package/templates/internal/rules//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250/350/247/204/345/210/231.md +0 -1
  657. package/templates/internal/rules//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
  658. package/templates/internal/rules//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +0 -4
  659. package/templates/internal/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +0 -1
  660. package/templates/internal/rules//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214/350/247/204/345/210/231.md +0 -2
  661. package/templates/internal/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +0 -1
  662. package/templates/internal/rules//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226/350/247/204/345/210/231.md +0 -1
  663. package/templates/internal/rules//351/252/214/346/224/266/346/250/241/347/211/210/350/276/223/345/207/272/345/245/221/347/272/246/350/247/204/345/210/231.md +2 -3
  664. package/templates/internal/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
  665. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
  666. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +0 -2
  667. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +0 -2
  668. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +0 -2
  669. package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +0 -2
  670. package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +0 -2
  671. package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
  672. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +0 -2
  673. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +0 -2
  674. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +0 -2
  675. package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
  676. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +0 -2
  677. package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
  678. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +0 -2
  679. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +0 -2
  680. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +0 -2
  681. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +0 -2
  682. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +0 -2
  683. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -2
  684. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +0 -2
  685. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +0 -2
  686. package/templates/patterns//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/350/247/204/350/214/203.md +0 -2
  687. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +0 -2
  688. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +0 -2
  689. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +0 -2
  690. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +0 -2
  691. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +0 -2
  692. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +0 -2
  693. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +0 -2
  694. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -2
  695. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +0 -2
  696. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +0 -2
  697. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +0 -2
  698. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +0 -2
  699. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +0 -2
  700. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +0 -2
  701. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +0 -2
  702. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +0 -2
  703. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +0 -2
  704. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +0 -2
  705. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +0 -2
  706. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +0 -2
  707. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +0 -2
  708. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +0 -2
  709. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +0 -2
  710. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +0 -2
  711. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
  712. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -2
  713. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +0 -2
  714. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +0 -2
  715. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +0 -2
  716. package/templates/patterns//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
  717. package/templates/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +0 -3
  718. package/templates/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +4 -6
  719. package/templates/procedures//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201/346/265/201/347/250/213.md +0 -2
  720. package/templates/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +0 -2
  721. package/templates/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +0 -2
  722. package/templates/procedures//344/274/232/350/257/235/346/201/242/345/244/215/346/265/201/347/250/213.md +0 -3
  723. package/templates/procedures//345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201/345/257/274/350/210/252.md +1 -2
  724. package/templates/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +0 -2
  725. package/templates/procedures//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260/345/267/245/344/275/234/346/265/201.md +0 -3
  726. package/templates/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +0 -2
  727. package/templates/procedures//345/221/275/344/273/244/350/267/257/347/224/261/346/265/201/347/250/213.md +38 -0
  728. package/templates/procedures//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +3 -5
  729. package/templates/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +0 -2
  730. package/templates/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +3 -5
  731. package/templates/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +3 -3
  732. package/templates/procedures//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +4 -6
  733. package/templates/procedures//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md +0 -2
  734. package/templates/procedures//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266/345/267/245/344/275/234/346/265/201.md +0 -2
  735. package/templates/procedures//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/345/267/245/344/275/234/346/265/201.md +0 -2
  736. package/templates/procedures//346/236/266/346/236/204/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +0 -2
  737. package/templates/procedures//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +3 -5
  738. package/templates/procedures//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201/345/267/245/344/275/234/346/265/201.md +0 -2
  739. package/templates/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +2 -4
  740. package/templates/procedures//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220/345/267/245/344/275/234/346/265/201.md +0 -2
  741. package/templates/procedures//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +2 -4
  742. package/templates/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +5 -7
  743. package/templates/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +0 -2
  744. package/templates/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +1 -3
  745. package/templates/procedures//350/256/276/350/256/241/344/272/247/347/211/251/347/224/237/346/210/220/344/270/216/345/244/215/351/252/214/345/267/245/344/275/234/346/265/201.md +0 -2
  746. package/templates/procedures//350/256/276/350/256/241/345/256/241/350/256/241/346/265/201/347/250/213.md +184 -0
  747. package/templates/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +0 -2
  748. package/templates/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +0 -2
  749. package/templates/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +3 -5
  750. package/templates/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +0 -2
  751. package/templates/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +3 -5
  752. package/templates/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +0 -2
  753. package/templates/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +2 -4
  754. package/templates/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -2
  755. package/templates/rules/existing-system//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245/350/247/204/345/210/231.md +0 -3
  756. package/templates/rules/existing-system//350/200/246/345/220/210/346/243/200/346/265/213/350/247/204/345/210/231.md +0 -3
  757. package/templates/rules/existing-system//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255/350/247/204/345/210/231.md +0 -2
  758. package/templates/rules/existing-system//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201/350/247/204/345/210/231.md +0 -2
  759. package/templates/rules/existing-system//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217/346/270/205/345/215/225.md +0 -3
  760. package/templates/rules/new-system//350/201/224/350/260/203/350/256/276/350/256/241/347/274/272/351/231/267/345/210/244/345/256/232/350/247/204/345/210/231.md +0 -2
  761. package/templates/rules/shared/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  762. package/templates/rules/shared//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214/350/247/204/345/210/231.md +0 -1
  763. package/templates/rules/shared//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  764. package/templates/rules/shared//344/273/243/347/240/201/345/217/257/347/273/264/346/212/244/346/200/247/344/270/216/345/217/257/350/247/202/346/265/213/346/200/247/345/256/241/346/237/245.md +0 -3
  765. package/templates/rules/shared//345/206/263/347/255/226/345/256/214/346/225/264/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -1
  766. package/templates/rules/shared//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  767. package/templates/rules/shared//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  768. package/templates/rules/shared//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  769. package/templates/rules/shared//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  770. package/templates/rules/shared//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  771. package/templates/rules/shared//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  772. package/templates/rules/shared//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  773. package/templates/rules/shared//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  774. package/templates/rules/shared//350/201/224/350/260/203/351/252/214/350/257/201/346/270/205/345/215/225.md +0 -2
  775. package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -1
  776. package/templates/rules/shared//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  777. package/templates/rules/shared//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -2
  778. package/templates/rules/shared//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
  779. package/templates//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -3
  780. package/dist/engine/contracts/route_decision_contract_verifier.d.ts +0 -44
  781. package/dist/engine/contracts/route_decision_contract_verifier.d.ts.map +0 -1
  782. package/dist/engine/contracts/route_decision_contract_verifier.js +0 -154
  783. package/dist/engine/contracts/route_decision_contract_verifier.js.map +0 -1
  784. package/dist/engine/pipeline/classifier.d.ts +0 -24
  785. package/dist/engine/pipeline/classifier.d.ts.map +0 -1
  786. package/dist/engine/pipeline/classifier.js +0 -209
  787. package/dist/engine/pipeline/classifier.js.map +0 -1
  788. package/dist/engine/pipeline/expand_pipeline.d.ts +0 -122
  789. package/dist/engine/pipeline/expand_pipeline.d.ts.map +0 -1
  790. package/dist/engine/pipeline/expand_pipeline.js +0 -141
  791. package/dist/engine/pipeline/expand_pipeline.js.map +0 -1
  792. package/dist/engine/pipeline/hook_context_types.d.ts +0 -66
  793. package/dist/engine/pipeline/hook_context_types.d.ts.map +0 -1
  794. package/dist/engine/pipeline/hook_context_types.js +0 -118
  795. package/dist/engine/pipeline/hook_context_types.js.map +0 -1
  796. package/dist/engine/pipeline/intent_expander/expand.d.ts +0 -16
  797. package/dist/engine/pipeline/intent_expander/expand.d.ts.map +0 -1
  798. package/dist/engine/pipeline/intent_expander/expand.js +0 -308
  799. package/dist/engine/pipeline/intent_expander/expand.js.map +0 -1
  800. package/dist/engine/pipeline/intent_route_scorer.d.ts +0 -45
  801. package/dist/engine/pipeline/intent_route_scorer.d.ts.map +0 -1
  802. package/dist/engine/pipeline/intent_route_scorer.js +0 -341
  803. package/dist/engine/pipeline/intent_route_scorer.js.map +0 -1
  804. package/dist/engine/pipeline/intent_router.d.ts +0 -132
  805. package/dist/engine/pipeline/intent_router.d.ts.map +0 -1
  806. package/dist/engine/pipeline/intent_router.js +0 -608
  807. package/dist/engine/pipeline/intent_router.js.map +0 -1
  808. package/dist/engine/pipeline/intent_signal_extractor.d.ts +0 -91
  809. package/dist/engine/pipeline/intent_signal_extractor.d.ts.map +0 -1
  810. package/dist/engine/pipeline/intent_signal_extractor.js +0 -296
  811. package/dist/engine/pipeline/intent_signal_extractor.js.map +0 -1
  812. package/dist/engine/pipeline/route_types.d.ts +0 -10
  813. package/dist/engine/pipeline/route_types.d.ts.map +0 -1
  814. package/dist/engine/pipeline/route_types.js +0 -9
  815. package/dist/engine/pipeline/route_types.js.map +0 -1
  816. package/dist/engine/pipeline/stage_gate_engine.d.ts +0 -34
  817. package/dist/engine/pipeline/stage_gate_engine.d.ts.map +0 -1
  818. package/dist/engine/pipeline/stage_gate_engine.js +0 -123
  819. package/dist/engine/pipeline/stage_gate_engine.js.map +0 -1
  820. package/dist/engine/pipeline/stage_prechecks.d.ts +0 -83
  821. package/dist/engine/pipeline/stage_prechecks.d.ts.map +0 -1
  822. package/dist/engine/pipeline/stage_prechecks.js +0 -199
  823. package/dist/engine/pipeline/stage_prechecks.js.map +0 -1
  824. package/dist/engine/workflow/legacy_type_migration.d.ts +0 -64
  825. package/dist/engine/workflow/legacy_type_migration.d.ts.map +0 -1
  826. package/dist/engine/workflow/legacy_type_migration.js +0 -228
  827. package/dist/engine/workflow/legacy_type_migration.js.map +0 -1
  828. package/dist/server/tools/tool_groups/classify_expand.d.ts +0 -3
  829. package/dist/server/tools/tool_groups/classify_expand.d.ts.map +0 -1
  830. package/dist/server/tools/tool_groups/classify_expand.js +0 -7
  831. package/dist/server/tools/tool_groups/classify_expand.js.map +0 -1
  832. package/dist/server/tools/tool_groups/classify_handler.d.ts +0 -3
  833. package/dist/server/tools/tool_groups/classify_handler.d.ts.map +0 -1
  834. package/dist/server/tools/tool_groups/classify_handler.js +0 -65
  835. package/dist/server/tools/tool_groups/classify_handler.js.map +0 -1
  836. package/dist/server/tools/tool_groups/expand_handler.d.ts +0 -3
  837. package/dist/server/tools/tool_groups/expand_handler.d.ts.map +0 -1
  838. package/dist/server/tools/tool_groups/expand_handler.js +0 -823
  839. package/dist/server/tools/tool_groups/expand_handler.js.map +0 -1
  840. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts +0 -4
  841. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts.map +0 -1
  842. package/dist/server/tools/tool_groups/status_plan_analyze_review.js +0 -395
  843. package/dist/server/tools/tool_groups/status_plan_analyze_review.js.map +0 -1
  844. package/dist/server/tools/tool_groups/verify_learn.d.ts +0 -3
  845. package/dist/server/tools/tool_groups/verify_learn.d.ts.map +0 -1
  846. package/dist/server/tools/tool_groups/verify_learn.js +0 -804
  847. package/dist/server/tools/tool_groups/verify_learn.js.map +0 -1
@@ -23,11 +23,57 @@ import { DiffOwnershipStore } from "../diff_ownership_store.js";
23
23
  import { ScopeLeaseStore } from "../scope_lease.js";
24
24
  import { ConflictGate } from "../conflict_gate.js";
25
25
  import { debug } from "../../core/logger.js";
26
- import { migrateTaskContext } from "../../workflow/legacy_type_migration.js";
27
- import { VALID_TRANSITIONS } from "./constants.js";
26
+ import { VALID_TRANSITIONS, MAX_TASKS } from "./constants.js";
28
27
  import { validateAndUpdateStatus } from "./status_transitions.js";
29
- import { createSetterMethods } from "./manager_setters.js";
28
+ import { createSetterMethods, maybeApplyRollbackDirective } from "./manager_setters.js";
29
+ import { computePhaseDirective } from "./phase_directive.js";
30
30
  import { errorMessage, safeJsonParse } from "../../core/helpers.js";
31
+ /**
32
+ * 迁移旧版 TaskContext 格式。
33
+ * 原地修改并返回,不创建新对象。
34
+ */
35
+ function migrateTaskContext(ctx) {
36
+ // schema_version 缺失视为 1(旧任务文件)
37
+ const currentVersion = ctx.schema_version ?? 1;
38
+ if (!ctx.schema_version) {
39
+ ctx.schema_version = currentVersion;
40
+ }
41
+ // 迁移阶段指令
42
+ if (ctx.phase_directive) {
43
+ const PHASE_DIRECTIVE_MIGRATION = {
44
+ continue_current: "门禁阻断",
45
+ advance_next: "推进下一阶段",
46
+ repair_reverify: "回退",
47
+ rework_upstream: "回退并标注",
48
+ stop_escalate: "停止升级",
49
+ completed: "完成",
50
+ };
51
+ const migrated = PHASE_DIRECTIVE_MIGRATION[ctx.phase_directive] ?? ctx.phase_directive;
52
+ if (migrated !== ctx.phase_directive) {
53
+ ctx.phase_directive = migrated;
54
+ }
55
+ }
56
+ // 迁移修复重验指令中的 contract_id 如果包含旧机制ID
57
+ if (ctx.repair_reverify_directive) {
58
+ const MECHANISM_ID_MIGRATION = {
59
+ "mc-knowledge-injection-boundary": "模板引擎",
60
+ "mc-intent-router": "命令路由",
61
+ "mc-intent-expander": "意图扩展器",
62
+ "mc-verifier": "验证器",
63
+ "mc-task-context-lifecycle": "任务上下文生命周期",
64
+ "mc-core-engineering-principles": "核心工程原则",
65
+ "mc-classifier": "意图路由器",
66
+ "mc-knowledge-matching": "模板引擎",
67
+ "mc-workspace-resumer": "任务上下文生命周期",
68
+ };
69
+ const dir = ctx.repair_reverify_directive;
70
+ const migratedContractId = MECHANISM_ID_MIGRATION[dir.contract_id] ?? dir.contract_id;
71
+ if (migratedContractId !== dir.contract_id) {
72
+ dir.contract_id = migratedContractId;
73
+ }
74
+ }
75
+ return ctx;
76
+ }
31
77
  export class TaskContextManager {
32
78
  stateDir;
33
79
  auditPool;
@@ -37,6 +83,34 @@ export class TaskContextManager {
37
83
  templatesDir;
38
84
  systemType;
39
85
  _setters;
86
+ /**
87
+ * P0-B1: Per-task mutex — 防止并发 load-modify-save 静默丢失数据。
88
+ * 每个 task-id 对应一个 promise chain,串行化该任务的所有写入操作。
89
+ */
90
+ _taskLocks = new Map();
91
+ /** P0-B1: 在 per-task 锁内执行 fn,保证 load-modify-save 原子性 */
92
+ async withTaskLock(taskId, fn) {
93
+ const prev = this._taskLocks.get(taskId) ?? Promise.resolve();
94
+ let release;
95
+ const next = new Promise((r) => { release = r; });
96
+ this._taskLocks.set(taskId, prev.then(() => next, () => next));
97
+ try {
98
+ await prev;
99
+ }
100
+ catch {
101
+ // 前一个锁出错不应阻塞当前操作
102
+ }
103
+ try {
104
+ return await fn();
105
+ }
106
+ finally {
107
+ release();
108
+ // 清理:如果 next 已 settled 且没有后续等待者,删除 map 项
109
+ if (this._taskLocks.get(taskId) === prev.then(() => next, () => next)) {
110
+ this._taskLocks.delete(taskId);
111
+ }
112
+ }
113
+ }
40
114
  constructor(stateDir, options) {
41
115
  this.stateDir = stateDir;
42
116
  fss.mkdirSync(stateDir, { recursive: true });
@@ -46,7 +120,8 @@ export class TaskContextManager {
46
120
  this.conflictGate = new ConflictGate(this.diffOwnership, this.scopeLease);
47
121
  this.templatesDir = options?.templatesDir;
48
122
  this.systemType = options?.systemType;
49
- this._setters = createSetterMethods(this.load.bind(this), this.save.bind(this));
123
+ // P0-B1: setters 通过 withTaskLock 串行化 load-modify-save
124
+ this._setters = createSetterMethods(this.load.bind(this), this.save.bind(this), this.withTaskLock.bind(this));
50
125
  }
51
126
  /** 获取状态存储目录路径 */
52
127
  getStateDir() {
@@ -72,6 +147,18 @@ export class TaskContextManager {
72
147
  * 创建新任务上下文,生成唯一 ID 并持久化到磁盘。
73
148
  */
74
149
  async create(intent, productProfile) {
150
+ // P3-C: 创建前强制 MAX_TASKS 上限 — 旧任务超额时先清理最旧的非终态任务,避免磁盘膨胀
151
+ try {
152
+ const files = await fs.readdir(this.stateDir);
153
+ const taskFiles = files.filter((f) => f.startsWith("task-") && f.endsWith(".json"));
154
+ if (taskFiles.length >= MAX_TASKS) {
155
+ debug("任务上下文", `任务数 ${taskFiles.length} 已达 MAX_TASKS=${MAX_TASKS},触发自动清理`);
156
+ await this.cleanup(false);
157
+ }
158
+ }
159
+ catch {
160
+ // 读取目录失败不阻断创建
161
+ }
75
162
  const taskId = `task-${crypto.randomUUID().slice(0, 8)}`;
76
163
  const ctx = {
77
164
  task_id: taskId,
@@ -146,124 +233,142 @@ export class TaskContextManager {
146
233
  * 更新任务状态,严格校验状态转换合法性。
147
234
  */
148
235
  async updateStatus(taskId, status, existingCtx) {
149
- const ctx = existingCtx ?? await this.load(taskId);
150
- if (!ctx)
151
- return null;
152
- // 委托给提取的验证和转换函数
153
- validateAndUpdateStatus(ctx, status, this.templatesDir, this.systemType);
154
- const prevStatus = ctx.status;
155
- ctx.status = status;
156
- await this.save(ctx);
157
- debug("任务上下文", "任务 " + taskId + " 状态转换 " + prevStatus + " → " + status);
158
- if (status === "executing") {
159
- // CAP-011: 进入执行阶段时自动从膨胀范围捕获 baseline
160
- const scopePaths = ctx.expansion?.scope?.allowed_paths;
161
- if (scopePaths && scopePaths.length > 0) {
162
- this.diffOwnership.captureBaselineFromScope(taskId, scopePaths);
163
- this.scopeLease.acquire(taskId, scopePaths);
236
+ return this.withTaskLock(taskId, async () => {
237
+ const ctx = existingCtx ?? await this.load(taskId);
238
+ if (!ctx)
239
+ return null;
240
+ // 委托给提取的验证和转换函数
241
+ validateAndUpdateStatus(ctx, status, this.templatesDir, this.systemType);
242
+ const prevStatus = ctx.status;
243
+ ctx.status = status;
244
+ await this.save(ctx);
245
+ debug("任务上下文", "任务 " + taskId + " 状态转换 " + prevStatus + " → " + status);
246
+ if (status === "executing") {
247
+ // CAP-011: 进入执行阶段时自动从膨胀范围捕获 baseline
248
+ const scopePaths = ctx.expansion?.scope?.allowed_paths;
249
+ if (scopePaths && scopePaths.length > 0) {
250
+ this.diffOwnership.captureBaselineFromScope(taskId, scopePaths);
251
+ this.scopeLease.acquire(taskId, scopePaths);
252
+ }
164
253
  }
165
- }
166
- if (status === "done" || status === "failed") {
167
- if (status === "done") {
168
- this.auditPool.append({
169
- task_id: ctx.task_id,
170
- risk: (ctx.classification?.risk ?? "low"),
171
- changed_files: ctx.execution?.changed_files ?? [],
172
- evidence: ctx.classification?.strategy ?? "",
173
- capability_refs: [],
174
- created_at: new Date().toISOString(),
175
- });
254
+ if (status === "done" || status === "failed") {
255
+ if (status === "done") {
256
+ this.auditPool.append({
257
+ task_id: ctx.task_id,
258
+ risk: (ctx.classification?.risk ?? "low"),
259
+ changed_files: ctx.execution?.changed_files ?? [],
260
+ evidence: ctx.classification?.strategy ?? "",
261
+ capability_refs: [],
262
+ created_at: new Date().toISOString(),
263
+ });
264
+ }
265
+ // CAP-011: 终态时清理 Diff 归属和 Scope Lease
266
+ this.diffOwnership.clearTask(taskId);
267
+ this.scopeLease.release(taskId);
268
+ await this.clearCurrentPointerIfMatches(taskId);
176
269
  }
177
- // CAP-011: 终态时清理 Diff 归属和 Scope Lease
178
- this.diffOwnership.clearTask(taskId);
179
- this.scopeLease.release(taskId);
180
- await this.clearCurrentPointerIfMatches(taskId);
181
- }
182
- return ctx;
270
+ return ctx;
271
+ });
183
272
  }
184
273
  /**
185
274
  * 设置任务的分类结果。
186
275
  */
187
276
  async setClassification(taskId, result) {
188
- const ctx = await this.load(taskId);
189
- if (!ctx)
190
- return null;
191
- ctx.classification = result;
192
- if (result.route_decision) {
193
- ctx.route_decision = result.route_decision;
194
- }
195
- await this.save(ctx);
196
- return ctx;
277
+ return this.withTaskLock(taskId, async () => {
278
+ const ctx = await this.load(taskId);
279
+ if (!ctx)
280
+ return null;
281
+ ctx.classification = result;
282
+ // 并行写入 pipeline_state(管线状态机优先数据源)
283
+ if (result.pipeline_state) {
284
+ ctx.pipeline_state = result.pipeline_state;
285
+ }
286
+ // 并行写入 task_stage(管线状态机优先数据源,stage-native 路径)
287
+ if (result.task_stage) {
288
+ ctx.task_stage = result.task_stage;
289
+ }
290
+ await this.save(ctx);
291
+ return ctx;
292
+ });
197
293
  }
198
294
  /**
199
295
  * 设置任务的意图膨胀结果。
200
296
  */
201
297
  async setExpansion(taskId, result, existingCtx) {
202
- const ctx = existingCtx ?? await this.load(taskId);
203
- if (!ctx)
204
- return null;
205
- // 使用提取的隐私扫描函数处理膨胀结果
206
- const { result: scannedResult, allLabels, promptRedactionRecords } = scanExpansionForPrivacy(result);
207
- result = scannedResult;
208
- ctx.expansion = result;
209
- if (result.workflow_trace) {
210
- ctx.workflow_trace = result.workflow_trace;
211
- }
212
- ctx.ingestion_evidences = result.ingestion_evidences?.length ? result.ingestion_evidences : undefined;
213
- if (result.sensitivity_labels && result.sensitivity_labels.length > 0) {
214
- const existingLabels = ctx.sensitivity_labels ?? [];
215
- const all = [...existingLabels, ...result.sensitivity_labels, ...allLabels];
216
- ctx.sensitivity_labels = [...new Map(all.map((l) => [`${l.label}:${l.source_ref}`, l])).values()];
217
- }
218
- else if (allLabels.length > 0) {
219
- const existingLabels = ctx.sensitivity_labels ?? [];
220
- ctx.sensitivity_labels = [...existingLabels, ...allLabels];
221
- }
222
- const existingRecords = ctx.redaction_records ?? [];
223
- const resultRecords = result.redaction_records ?? [];
224
- const allRecords = [...existingRecords, ...resultRecords, ...promptRedactionRecords];
225
- ctx.redaction_records = allRecords.length > 0 ? allRecords : undefined;
226
- await this.save(ctx);
227
- return ctx;
298
+ return this.withTaskLock(taskId, async () => {
299
+ const ctx = existingCtx ?? await this.load(taskId);
300
+ if (!ctx)
301
+ return null;
302
+ // 使用提取的隐私扫描函数处理膨胀结果
303
+ const { result: scannedResult, allLabels, promptRedactionRecords } = scanExpansionForPrivacy(result);
304
+ result = scannedResult;
305
+ ctx.expansion = result;
306
+ if (result.workflow_trace) {
307
+ ctx.workflow_trace = result.workflow_trace;
308
+ }
309
+ ctx.ingestion_evidences = result.ingestion_evidences?.length ? result.ingestion_evidences : undefined;
310
+ if (result.sensitivity_labels && result.sensitivity_labels.length > 0) {
311
+ const existingLabels = ctx.sensitivity_labels ?? [];
312
+ const all = [...existingLabels, ...result.sensitivity_labels, ...allLabels];
313
+ ctx.sensitivity_labels = [...new Map(all.map((l) => [`${l.label}:${l.source_ref}`, l])).values()];
314
+ }
315
+ else if (allLabels.length > 0) {
316
+ const existingLabels = ctx.sensitivity_labels ?? [];
317
+ ctx.sensitivity_labels = [...existingLabels, ...allLabels];
318
+ }
319
+ const existingRecords = ctx.redaction_records ?? [];
320
+ const resultRecords = result.redaction_records ?? [];
321
+ const allRecords = [...existingRecords, ...resultRecords, ...promptRedactionRecords];
322
+ ctx.redaction_records = allRecords.length > 0 ? allRecords : undefined;
323
+ await this.save(ctx);
324
+ return ctx;
325
+ });
228
326
  }
229
327
  /**
230
328
  * 记录执行结果: 变更文件列表和可选的失败记录。
231
329
  */
232
330
  async setExecution(taskId, changedFiles, failure) {
233
- const ctx = await this.load(taskId);
234
- if (!ctx)
235
- return null;
236
- if (!ctx.execution) {
237
- ctx.execution = {
238
- changed_files: [],
239
- attempt_count: 0,
240
- max_attempts: 3,
241
- failure_history: [],
242
- };
243
- }
244
- ctx.execution.changed_files = [
245
- ...new Set([...ctx.execution.changed_files, ...changedFiles]),
246
- ];
247
- if (failure) {
248
- ctx.execution.attempt_count++;
249
- ctx.execution.failure_history.push(failure);
250
- }
251
- for (const f of changedFiles) {
252
- this.diffOwnership.recordWrite(taskId, f);
253
- }
254
- await this.save(ctx);
255
- return ctx;
331
+ return this.withTaskLock(taskId, async () => {
332
+ const ctx = await this.load(taskId);
333
+ if (!ctx)
334
+ return null;
335
+ if (!ctx.execution) {
336
+ ctx.execution = {
337
+ changed_files: [],
338
+ attempt_count: 0,
339
+ max_attempts: 3,
340
+ failure_history: [],
341
+ };
342
+ }
343
+ ctx.execution.changed_files = [
344
+ ...new Set([...ctx.execution.changed_files, ...changedFiles]),
345
+ ];
346
+ if (failure) {
347
+ ctx.execution.attempt_count++;
348
+ ctx.execution.failure_history.push(failure);
349
+ }
350
+ for (const f of changedFiles) {
351
+ this.diffOwnership.recordWrite(taskId, f);
352
+ }
353
+ await this.save(ctx);
354
+ return ctx;
355
+ });
256
356
  }
257
357
  /**
258
358
  * 设置任务的验证结果。
259
359
  */
260
360
  async setVerification(taskId, result) {
261
- const ctx = await this.load(taskId);
262
- if (!ctx)
263
- return null;
264
- ctx.verification = result;
265
- await this.save(ctx);
266
- return ctx;
361
+ return this.withTaskLock(taskId, async () => {
362
+ const ctx = await this.load(taskId);
363
+ if (!ctx)
364
+ return null;
365
+ ctx.verification = result;
366
+ // P2-B1: 主链路集成失败可能触发回退 — 同步计算 phase_directive 并填充 rollback_directive
367
+ ctx.phase_directive = computePhaseDirective(ctx);
368
+ await maybeApplyRollbackDirective(ctx);
369
+ await this.save(ctx);
370
+ return ctx;
371
+ });
267
372
  }
268
373
  /**
269
374
  * 获取当前活跃任务。
@@ -309,6 +414,17 @@ export class TaskContextManager {
309
414
  debug("任务上下文", `无法从 ${ctx.status} 取消到 failed`);
310
415
  return false;
311
416
  }
417
+ // P1-B4: 记录已写入的产物文件清单到 ctx,便于后续选择性清理
418
+ const artifactPaths = [];
419
+ if (ctx.artifact_output?.path)
420
+ artifactPaths.push(ctx.artifact_output.path);
421
+ if (ctx.execution?.changed_files && ctx.execution.changed_files.length > 0) {
422
+ artifactPaths.push(...ctx.execution.changed_files);
423
+ }
424
+ if (artifactPaths.length > 0) {
425
+ ctx.cancelled_artifact_files = artifactPaths;
426
+ debug("任务上下文", `任务 ${taskId} 取消时记录 ${artifactPaths.length} 个产物文件待清理`);
427
+ }
312
428
  ctx.status = "failed";
313
429
  await this.save(ctx);
314
430
  this.diffOwnership.clearTask(taskId);
@@ -318,7 +434,98 @@ export class TaskContextManager {
318
434
  return true;
319
435
  }
320
436
  /**
321
- * 将失败任务恢复到 expanding 状态以重试 sf_expand。
437
+ * P1-B4: 清理已取消任务的产物文件。
438
+ * 用户通过 sf_pipeline_status action=cleanup_cancelled_artifacts 触发,避免误删。
439
+ */
440
+ async cleanupCancelledArtifacts(taskId) {
441
+ const ctx = await this.load(taskId);
442
+ if (!ctx || ctx.status !== "failed") {
443
+ return { cleaned: [], missing: [] };
444
+ }
445
+ const files = ctx.cancelled_artifact_files ?? [];
446
+ const cleaned = [];
447
+ const missing = [];
448
+ for (const f of files) {
449
+ try {
450
+ await fs.unlink(f);
451
+ cleaned.push(f);
452
+ }
453
+ catch {
454
+ missing.push(f);
455
+ }
456
+ }
457
+ // 清理完毕后清除记录
458
+ ctx.cancelled_artifact_files = undefined;
459
+ await this.save(ctx);
460
+ debug("任务上下文", `清理任务 ${taskId} 产物文件 — 清理 ${cleaned.length},缺失 ${missing.length}`);
461
+ return { cleaned, missing };
462
+ }
463
+ /**
464
+ * P2-B2: 在变更前记录业务源码 baseline(文件 sha256)。
465
+ * sf_gate_check 验证失败时,可通过 rollbackFilesFromBaseline 恢复到本快照。
466
+ */
467
+ async recordFileBaseline(taskId, files) {
468
+ const crypto = await import("node:crypto");
469
+ const snapshots = [];
470
+ for (const f of files) {
471
+ try {
472
+ const content = await fs.readFile(f);
473
+ const hash = crypto.createHash("sha256").update(content).digest("hex");
474
+ snapshots.push({ path: f, sha256: hash });
475
+ }
476
+ catch {
477
+ // 文件不存在则跳过 — baseline 只记录可读取的文件
478
+ }
479
+ }
480
+ return this.withTaskLock(taskId, async () => {
481
+ const ctx = await this.load(taskId);
482
+ if (!ctx)
483
+ return false;
484
+ ctx.file_baseline = {
485
+ recorded_at: new Date().toISOString(),
486
+ files: snapshots,
487
+ };
488
+ await this.save(ctx);
489
+ debug("任务上下文", `记录文件 baseline — 任务 ${taskId} 文件数 ${snapshots.length}`);
490
+ return true;
491
+ });
492
+ }
493
+ /**
494
+ * P2-B2: 从 baseline 恢复文件内容。
495
+ * 失败时返回 missing 列表,已成功恢复的文件不回滚。
496
+ */
497
+ async rollbackFilesFromBaseline(taskId) {
498
+ const ctx = await this.load(taskId);
499
+ if (!ctx?.file_baseline || ctx.file_baseline.files.length === 0) {
500
+ return { restored: [], missing: [], no_baseline: true };
501
+ }
502
+ // 注意: baseline 只存了 sha256,未存内容 — 此处只能"标记为待恢复"并给出提示。
503
+ // 完整恢复需要外部 git checkpoint 或 file backup 配合(P2-B3)。
504
+ // 当前实现: 检测哪些文件相对 baseline 发生了变化,输出指导信息。
505
+ const crypto = await import("node:crypto");
506
+ const restored = [];
507
+ const missing = [];
508
+ for (const snap of ctx.file_baseline.files) {
509
+ try {
510
+ const content = await fs.readFile(snap.path);
511
+ const currentHash = crypto.createHash("sha256").update(content).digest("hex");
512
+ if (currentHash !== snap.sha256) {
513
+ // 文件已变更 — 提示用户手动 git checkout <path> 恢复
514
+ missing.push(`${snap.path} (baseline=${snap.sha256.slice(0, 8)}.., current=${currentHash.slice(0, 8)}..)`);
515
+ }
516
+ else {
517
+ restored.push(snap.path);
518
+ }
519
+ }
520
+ catch {
521
+ missing.push(`${snap.path} (文件已删除)`);
522
+ }
523
+ }
524
+ debug("任务上下文", `baseline 回滚检查 — 任务 ${taskId} 未变更 ${restored.length},需恢复 ${missing.length}`);
525
+ return { restored, missing, no_baseline: false };
526
+ }
527
+ /**
528
+ * 将失败任务恢复到 expanding 状态以重试 sf_stage_execute。
322
529
  */
323
530
  async retryExpand(taskId) {
324
531
  const ctx = await this.load(taskId);
@@ -356,11 +563,11 @@ export class TaskContextManager {
356
563
  */
357
564
  getResumeHint(ctx) {
358
565
  const hints = {
359
- expanding: "意图膨胀未完成,需重新执行 sf_expand",
566
+ expanding: "阶段执行未完成,需重新执行 sf_stage_execute",
360
567
  executing: "代码执行中断,需重新执行代码修改",
361
- verifying: "验证未完成,需调用 sf_verify",
568
+ verifying: "验证未完成,需调用 sf_gate_check",
362
569
  retrying: "重试中断,需继续修复",
363
- learning: "自进化未完成,需调用 sf_learn",
570
+ learning: "阶段推进未完成,需调用 sf_stage_advance",
364
571
  reworking: "返工中,需回溯到上游阶段重新执行",
365
572
  };
366
573
  return hints[ctx.status] || "未知状态";
@@ -369,19 +576,39 @@ export class TaskContextManager {
369
576
  * 列出最近的任务。
370
577
  */
371
578
  async listRecent(limit = 10) {
579
+ // P2-E: 性能优化 — 用 mtime 排序,仅读取 limit 数量的文件,避免全扫 O(n) 文件 IO
372
580
  const files = await fs.readdir(this.stateDir);
373
581
  const taskFiles = files.filter((f) => f.startsWith("task-") && f.endsWith(".json"));
374
- const tasks = await Promise.all(taskFiles.map(async (f) => {
375
- const data = await fs.readFile(path.join(this.stateDir, f), "utf-8");
376
- const ctx = safeJsonParse(data);
377
- if (!ctx)
582
+ // mtime 降序排列(最新在前)
583
+ const filesWithMtime = await Promise.all(taskFiles.map(async (f) => {
584
+ const filePath = path.join(this.stateDir, f);
585
+ try {
586
+ const stat = await fs.stat(filePath);
587
+ return { file: filePath, mtime: stat.mtimeMs };
588
+ }
589
+ catch {
590
+ return { file: filePath, mtime: 0 };
591
+ }
592
+ }));
593
+ filesWithMtime.sort((a, b) => b.mtime - a.mtime);
594
+ // 仅读取前 limit*2 个文件(多读一些容错,过滤解析失败后仍能返回 limit 个)
595
+ const candidates = filesWithMtime.slice(0, Math.max(limit * 2, limit + 5));
596
+ const tasks = await Promise.all(candidates.map(async (entry) => {
597
+ try {
598
+ const data = await fs.readFile(entry.file, "utf-8");
599
+ const ctx = safeJsonParse(data);
600
+ if (!ctx)
601
+ return null;
602
+ return {
603
+ task_id: ctx.task_id,
604
+ intent: ctx.intent,
605
+ status: ctx.status,
606
+ created_at: ctx.created_at,
607
+ };
608
+ }
609
+ catch {
378
610
  return null;
379
- return {
380
- task_id: ctx.task_id,
381
- intent: ctx.intent,
382
- status: ctx.status,
383
- created_at: ctx.created_at,
384
- };
611
+ }
385
612
  }));
386
613
  return tasks.filter((t) => t !== null)
387
614
  .sort((a, b) => b.created_at.localeCompare(a.created_at))
@@ -467,6 +694,13 @@ export class TaskContextManager {
467
694
  async setArtifact(taskId, artifact, existingCtx) {
468
695
  return this._setters.setArtifact(taskId, artifact, existingCtx);
469
696
  }
697
+ /**
698
+ * P1-B3: 扩展阶段事务化持久化。
699
+ * 单次锁内合并 expansion/artifact/status/plan_proposal_gate 四项变更,失败时回滚到事务前快照。
700
+ */
701
+ async applyExpansionTransaction(taskId, ops) {
702
+ return this._setters.applyExpansionTransaction(taskId, ops);
703
+ }
470
704
  /** 更新产物状态并追加 evidence_ref */
471
705
  async updateArtifactStatus(taskId, params) {
472
706
  return this._setters.updateArtifactStatus(taskId, params);