soloforge 1.2.8 → 1.2.9

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 (405) hide show
  1. package/README.md +105 -321
  2. package/dist/adapters/claude_code/claude_md.d.ts +5 -0
  3. package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
  4. package/dist/adapters/claude_code/claude_md.js +6 -0
  5. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  6. package/dist/adapters/claude_code/hooks.d.ts +4 -0
  7. package/dist/adapters/claude_code/hooks.d.ts.map +1 -1
  8. package/dist/adapters/claude_code/hooks.js +5 -0
  9. package/dist/adapters/claude_code/hooks.js.map +1 -1
  10. package/dist/adapters/claude_code/server.d.ts.map +1 -1
  11. package/dist/adapters/claude_code/server.js +9 -21
  12. package/dist/adapters/claude_code/server.js.map +1 -1
  13. package/dist/adapters/claude_code/tools.d.ts +5 -0
  14. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  15. package/dist/adapters/claude_code/tools.js +619 -205
  16. package/dist/adapters/claude_code/tools.js.map +1 -1
  17. package/dist/adapters/codex/codex_config.d.ts +9 -0
  18. package/dist/adapters/codex/codex_config.d.ts.map +1 -1
  19. package/dist/adapters/codex/codex_config.js +11 -3
  20. package/dist/adapters/codex/codex_config.js.map +1 -1
  21. package/dist/adapters/codex/codex_rules.d.ts +5 -0
  22. package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
  23. package/dist/adapters/codex/codex_rules.js +8 -1
  24. package/dist/adapters/codex/codex_rules.js.map +1 -1
  25. package/dist/adapters/shared/workflow_template.d.ts +5 -0
  26. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  27. package/dist/adapters/shared/workflow_template.js +32 -79
  28. package/dist/adapters/shared/workflow_template.js.map +1 -1
  29. package/dist/adapters/trae/trae_config.d.ts +4 -0
  30. package/dist/adapters/trae/trae_config.d.ts.map +1 -1
  31. package/dist/adapters/trae/trae_config.js +5 -7
  32. package/dist/adapters/trae/trae_config.js.map +1 -1
  33. package/dist/adapters/trae/trae_rules.d.ts +5 -0
  34. package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
  35. package/dist/adapters/trae/trae_rules.js +7 -1
  36. package/dist/adapters/trae/trae_rules.js.map +1 -1
  37. package/dist/bin/config_commands.d.ts +33 -0
  38. package/dist/bin/config_commands.d.ts.map +1 -0
  39. package/dist/bin/config_commands.js +222 -0
  40. package/dist/bin/config_commands.js.map +1 -0
  41. package/dist/bin/soloforge.js +609 -119
  42. package/dist/bin/soloforge.js.map +1 -1
  43. package/dist/engine/artifact_contract_registry.d.ts +138 -0
  44. package/dist/engine/artifact_contract_registry.d.ts.map +1 -0
  45. package/dist/engine/artifact_contract_registry.js +427 -0
  46. package/dist/engine/artifact_contract_registry.js.map +1 -0
  47. package/dist/engine/audit_pool.d.ts +40 -0
  48. package/dist/engine/audit_pool.d.ts.map +1 -1
  49. package/dist/engine/audit_pool.js +37 -1
  50. package/dist/engine/audit_pool.js.map +1 -1
  51. package/dist/engine/audit_sampler.d.ts +5 -0
  52. package/dist/engine/audit_sampler.d.ts.map +1 -1
  53. package/dist/engine/audit_sampler.js +6 -0
  54. package/dist/engine/audit_sampler.js.map +1 -1
  55. package/dist/engine/audit_verifier.d.ts.map +1 -1
  56. package/dist/engine/audit_verifier.js +5 -1
  57. package/dist/engine/audit_verifier.js.map +1 -1
  58. package/dist/engine/batch1_manifest.d.ts +61 -0
  59. package/dist/engine/batch1_manifest.d.ts.map +1 -0
  60. package/dist/engine/batch1_manifest.js +220 -0
  61. package/dist/engine/batch1_manifest.js.map +1 -0
  62. package/dist/engine/batch1_reality_gate.d.ts +40 -0
  63. package/dist/engine/batch1_reality_gate.d.ts.map +1 -0
  64. package/dist/engine/batch1_reality_gate.js +290 -0
  65. package/dist/engine/batch1_reality_gate.js.map +1 -0
  66. package/dist/engine/batch1_scenario_registry.d.ts +62 -0
  67. package/dist/engine/batch1_scenario_registry.d.ts.map +1 -0
  68. package/dist/engine/batch1_scenario_registry.js +392 -0
  69. package/dist/engine/batch1_scenario_registry.js.map +1 -0
  70. package/dist/engine/batch1_scenario_runners.d.ts +42 -0
  71. package/dist/engine/batch1_scenario_runners.d.ts.map +1 -0
  72. package/dist/engine/batch1_scenario_runners.js +292 -0
  73. package/dist/engine/batch1_scenario_runners.js.map +1 -0
  74. package/dist/engine/capability_action_advisor.d.ts +3 -0
  75. package/dist/engine/capability_action_advisor.d.ts.map +1 -1
  76. package/dist/engine/capability_action_advisor.js +10 -0
  77. package/dist/engine/capability_action_advisor.js.map +1 -1
  78. package/dist/engine/capability_registry.d.ts +21 -0
  79. package/dist/engine/capability_registry.d.ts.map +1 -1
  80. package/dist/engine/capability_registry.js +113 -0
  81. package/dist/engine/capability_registry.js.map +1 -1
  82. package/dist/engine/capability_state_store.d.ts +63 -0
  83. package/dist/engine/capability_state_store.d.ts.map +1 -1
  84. package/dist/engine/capability_state_store.js +49 -1
  85. package/dist/engine/capability_state_store.js.map +1 -1
  86. package/dist/engine/change_coordinator.d.ts.map +1 -1
  87. package/dist/engine/change_coordinator.js +5 -4
  88. package/dist/engine/change_coordinator.js.map +1 -1
  89. package/dist/engine/classifier.d.ts +15 -5
  90. package/dist/engine/classifier.d.ts.map +1 -1
  91. package/dist/engine/classifier.js +70 -69
  92. package/dist/engine/classifier.js.map +1 -1
  93. package/dist/engine/code_reviewer.d.ts +14 -0
  94. package/dist/engine/code_reviewer.d.ts.map +1 -1
  95. package/dist/engine/code_reviewer.js +109 -10
  96. package/dist/engine/code_reviewer.js.map +1 -1
  97. package/dist/engine/cognitive_anchor.d.ts +14 -0
  98. package/dist/engine/cognitive_anchor.d.ts.map +1 -1
  99. package/dist/engine/cognitive_anchor.js +26 -2
  100. package/dist/engine/cognitive_anchor.js.map +1 -1
  101. package/dist/engine/command_execution_contract.d.ts +226 -0
  102. package/dist/engine/command_execution_contract.d.ts.map +1 -0
  103. package/dist/engine/command_execution_contract.js +571 -0
  104. package/dist/engine/command_execution_contract.js.map +1 -0
  105. package/dist/engine/confidence_scorer.d.ts.map +1 -1
  106. package/dist/engine/confidence_scorer.js +1 -0
  107. package/dist/engine/confidence_scorer.js.map +1 -1
  108. package/dist/engine/config_precedence_contract.d.ts +269 -0
  109. package/dist/engine/config_precedence_contract.d.ts.map +1 -0
  110. package/dist/engine/config_precedence_contract.js +948 -0
  111. package/dist/engine/config_precedence_contract.js.map +1 -0
  112. package/dist/engine/conflict_gate.d.ts +13 -0
  113. package/dist/engine/conflict_gate.d.ts.map +1 -1
  114. package/dist/engine/conflict_gate.js +20 -2
  115. package/dist/engine/conflict_gate.js.map +1 -1
  116. package/dist/engine/consumable_asset_registry.d.ts +46 -0
  117. package/dist/engine/consumable_asset_registry.d.ts.map +1 -0
  118. package/dist/engine/consumable_asset_registry.js +758 -0
  119. package/dist/engine/consumable_asset_registry.js.map +1 -0
  120. package/dist/engine/contract_guard.d.ts +4 -0
  121. package/dist/engine/contract_guard.d.ts.map +1 -1
  122. package/dist/engine/contract_guard.js +15 -7
  123. package/dist/engine/contract_guard.js.map +1 -1
  124. package/dist/engine/convention_detector.d.ts.map +1 -1
  125. package/dist/engine/convention_detector.js +5 -2
  126. package/dist/engine/convention_detector.js.map +1 -1
  127. package/dist/engine/core_engineering_principles.d.ts +155 -0
  128. package/dist/engine/core_engineering_principles.d.ts.map +1 -0
  129. package/dist/engine/core_engineering_principles.js +426 -0
  130. package/dist/engine/core_engineering_principles.js.map +1 -0
  131. package/dist/engine/debt_reporter.d.ts.map +1 -1
  132. package/dist/engine/debt_reporter.js +3 -1
  133. package/dist/engine/debt_reporter.js.map +1 -1
  134. package/dist/engine/debt_tracker.d.ts.map +1 -1
  135. package/dist/engine/debt_tracker.js +9 -3
  136. package/dist/engine/debt_tracker.js.map +1 -1
  137. package/dist/engine/debugger.d.ts.map +1 -1
  138. package/dist/engine/debugger.js +2 -0
  139. package/dist/engine/debugger.js.map +1 -1
  140. package/dist/engine/decision_contract.d.ts +11 -2
  141. package/dist/engine/decision_contract.d.ts.map +1 -1
  142. package/dist/engine/decision_contract.js +17 -2
  143. package/dist/engine/decision_contract.js.map +1 -1
  144. package/dist/engine/delivery.d.ts +7 -0
  145. package/dist/engine/delivery.d.ts.map +1 -1
  146. package/dist/engine/delivery.js +89 -36
  147. package/dist/engine/delivery.js.map +1 -1
  148. package/dist/engine/dependency_scanner.d.ts.map +1 -1
  149. package/dist/engine/dependency_scanner.js +14 -9
  150. package/dist/engine/dependency_scanner.js.map +1 -1
  151. package/dist/engine/developer_sovereignty.d.ts.map +1 -1
  152. package/dist/engine/developer_sovereignty.js +8 -2
  153. package/dist/engine/developer_sovereignty.js.map +1 -1
  154. package/dist/engine/diff_ownership.d.ts.map +1 -1
  155. package/dist/engine/diff_ownership.js +8 -0
  156. package/dist/engine/diff_ownership.js.map +1 -1
  157. package/dist/engine/diff_ownership_store.d.ts +26 -10
  158. package/dist/engine/diff_ownership_store.d.ts.map +1 -1
  159. package/dist/engine/diff_ownership_store.js +47 -20
  160. package/dist/engine/diff_ownership_store.js.map +1 -1
  161. package/dist/engine/dual_layer_mechanism_registry.d.ts +66 -0
  162. package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -0
  163. package/dist/engine/dual_layer_mechanism_registry.js +1077 -0
  164. package/dist/engine/dual_layer_mechanism_registry.js.map +1 -0
  165. package/dist/engine/escape_report.d.ts +50 -0
  166. package/dist/engine/escape_report.d.ts.map +1 -1
  167. package/dist/engine/escape_report.js +38 -0
  168. package/dist/engine/escape_report.js.map +1 -1
  169. package/dist/engine/evolver.d.ts.map +1 -1
  170. package/dist/engine/evolver.js +12 -2
  171. package/dist/engine/evolver.js.map +1 -1
  172. package/dist/engine/exploration.d.ts.map +1 -1
  173. package/dist/engine/exploration.js +87 -0
  174. package/dist/engine/exploration.js.map +1 -1
  175. package/dist/engine/failure_classifier.d.ts.map +1 -1
  176. package/dist/engine/failure_classifier.js +8 -0
  177. package/dist/engine/failure_classifier.js.map +1 -1
  178. package/dist/engine/feasibility_checker.d.ts +8 -0
  179. package/dist/engine/feasibility_checker.d.ts.map +1 -1
  180. package/dist/engine/feasibility_checker.js +12 -0
  181. package/dist/engine/feasibility_checker.js.map +1 -1
  182. package/dist/engine/git_deps.d.ts +4 -1
  183. package/dist/engine/git_deps.d.ts.map +1 -1
  184. package/dist/engine/git_deps.js +5 -1
  185. package/dist/engine/git_deps.js.map +1 -1
  186. package/dist/engine/governance_report.d.ts +57 -1
  187. package/dist/engine/governance_report.d.ts.map +1 -1
  188. package/dist/engine/governance_report.js +91 -1
  189. package/dist/engine/governance_report.js.map +1 -1
  190. package/dist/engine/impact_analyzer.d.ts.map +1 -1
  191. package/dist/engine/impact_analyzer.js +5 -1
  192. package/dist/engine/impact_analyzer.js.map +1 -1
  193. package/dist/engine/implementation_roadmap_registry.d.ts +105 -0
  194. package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -0
  195. package/dist/engine/implementation_roadmap_registry.js +813 -0
  196. package/dist/engine/implementation_roadmap_registry.js.map +1 -0
  197. package/dist/engine/input_material_contract_registry.d.ts +185 -0
  198. package/dist/engine/input_material_contract_registry.d.ts.map +1 -0
  199. package/dist/engine/input_material_contract_registry.js +563 -0
  200. package/dist/engine/input_material_contract_registry.js.map +1 -0
  201. package/dist/engine/intent_expander.d.ts +8 -27
  202. package/dist/engine/intent_expander.d.ts.map +1 -1
  203. package/dist/engine/intent_expander.js +1170 -139
  204. package/dist/engine/intent_expander.js.map +1 -1
  205. package/dist/engine/intent_router.d.ts +82 -0
  206. package/dist/engine/intent_router.d.ts.map +1 -0
  207. package/dist/engine/intent_router.js +458 -0
  208. package/dist/engine/intent_router.js.map +1 -0
  209. package/dist/engine/io_controller.d.ts.map +1 -1
  210. package/dist/engine/io_controller.js +25 -13
  211. package/dist/engine/io_controller.js.map +1 -1
  212. package/dist/engine/java_quality_guard.d.ts.map +1 -1
  213. package/dist/engine/java_quality_guard.js +8 -4
  214. package/dist/engine/java_quality_guard.js.map +1 -1
  215. package/dist/engine/job_manager.d.ts +35 -0
  216. package/dist/engine/job_manager.d.ts.map +1 -1
  217. package/dist/engine/job_manager.js +53 -9
  218. package/dist/engine/job_manager.js.map +1 -1
  219. package/dist/engine/knowledge_config_loader.d.ts +12 -1
  220. package/dist/engine/knowledge_config_loader.d.ts.map +1 -1
  221. package/dist/engine/knowledge_config_loader.js +50 -10
  222. package/dist/engine/knowledge_config_loader.js.map +1 -1
  223. package/dist/engine/knowledge_injection_boundary.d.ts +56 -0
  224. package/dist/engine/knowledge_injection_boundary.d.ts.map +1 -0
  225. package/dist/engine/knowledge_injection_boundary.js +561 -0
  226. package/dist/engine/knowledge_injection_boundary.js.map +1 -0
  227. package/dist/engine/knowledge_manager.d.ts +73 -0
  228. package/dist/engine/knowledge_manager.d.ts.map +1 -1
  229. package/dist/engine/knowledge_manager.js +163 -21
  230. package/dist/engine/knowledge_manager.js.map +1 -1
  231. package/dist/engine/knowledge_sovereignty.d.ts +1 -0
  232. package/dist/engine/knowledge_sovereignty.d.ts.map +1 -1
  233. package/dist/engine/knowledge_sovereignty.js +8 -3
  234. package/dist/engine/knowledge_sovereignty.js.map +1 -1
  235. package/dist/engine/llm_gateway.d.ts +74 -3
  236. package/dist/engine/llm_gateway.d.ts.map +1 -1
  237. package/dist/engine/llm_gateway.js +75 -4
  238. package/dist/engine/llm_gateway.js.map +1 -1
  239. package/dist/engine/main_path_integration_contract.d.ts +383 -0
  240. package/dist/engine/main_path_integration_contract.d.ts.map +1 -0
  241. package/dist/engine/main_path_integration_contract.js +1581 -0
  242. package/dist/engine/main_path_integration_contract.js.map +1 -0
  243. package/dist/engine/mechanism_contract_registry.d.ts +59 -0
  244. package/dist/engine/mechanism_contract_registry.d.ts.map +1 -0
  245. package/dist/engine/mechanism_contract_registry.js +484 -0
  246. package/dist/engine/mechanism_contract_registry.js.map +1 -0
  247. package/dist/engine/migration_guard.d.ts.map +1 -1
  248. package/dist/engine/migration_guard.js +24 -15
  249. package/dist/engine/migration_guard.js.map +1 -1
  250. package/dist/engine/mutation_audit.d.ts +10 -0
  251. package/dist/engine/mutation_audit.d.ts.map +1 -1
  252. package/dist/engine/mutation_audit.js +19 -2
  253. package/dist/engine/mutation_audit.js.map +1 -1
  254. package/dist/engine/observability.d.ts.map +1 -1
  255. package/dist/engine/observability.js +17 -6
  256. package/dist/engine/observability.js.map +1 -1
  257. package/dist/engine/onboarding.d.ts.map +1 -1
  258. package/dist/engine/onboarding.js +20 -4
  259. package/dist/engine/onboarding.js.map +1 -1
  260. package/dist/engine/policy_drift_detector.d.ts +6 -0
  261. package/dist/engine/policy_drift_detector.d.ts.map +1 -1
  262. package/dist/engine/policy_drift_detector.js +16 -0
  263. package/dist/engine/policy_drift_detector.js.map +1 -1
  264. package/dist/engine/privacy_secret_contract.d.ts +320 -0
  265. package/dist/engine/privacy_secret_contract.d.ts.map +1 -0
  266. package/dist/engine/privacy_secret_contract.js +874 -0
  267. package/dist/engine/privacy_secret_contract.js.map +1 -0
  268. package/dist/engine/regression_matrix.d.ts +21 -8
  269. package/dist/engine/regression_matrix.d.ts.map +1 -1
  270. package/dist/engine/regression_matrix.js +37 -8
  271. package/dist/engine/regression_matrix.js.map +1 -1
  272. package/dist/engine/risk_sampler.d.ts +6 -0
  273. package/dist/engine/risk_sampler.d.ts.map +1 -1
  274. package/dist/engine/risk_sampler.js +9 -0
  275. package/dist/engine/risk_sampler.js.map +1 -1
  276. package/dist/engine/runtime_safety.d.ts.map +1 -1
  277. package/dist/engine/runtime_safety.js +7 -3
  278. package/dist/engine/runtime_safety.js.map +1 -1
  279. package/dist/engine/scaffolder.d.ts.map +1 -1
  280. package/dist/engine/scaffolder.js +7 -1
  281. package/dist/engine/scaffolder.js.map +1 -1
  282. package/dist/engine/scope_controller.d.ts.map +1 -1
  283. package/dist/engine/scope_controller.js +12 -1
  284. package/dist/engine/scope_controller.js.map +1 -1
  285. package/dist/engine/scope_lease.d.ts +43 -0
  286. package/dist/engine/scope_lease.d.ts.map +1 -1
  287. package/dist/engine/scope_lease.js +44 -0
  288. package/dist/engine/scope_lease.js.map +1 -1
  289. package/dist/engine/semantic_evidence.d.ts +6 -0
  290. package/dist/engine/semantic_evidence.d.ts.map +1 -1
  291. package/dist/engine/semantic_evidence.js +9 -0
  292. package/dist/engine/semantic_evidence.js.map +1 -1
  293. package/dist/engine/task_context.d.ts +36 -1
  294. package/dist/engine/task_context.d.ts.map +1 -1
  295. package/dist/engine/task_context.js +252 -13
  296. package/dist/engine/task_context.js.map +1 -1
  297. package/dist/engine/task_planner.d.ts.map +1 -1
  298. package/dist/engine/task_planner.js +13 -3
  299. package/dist/engine/task_planner.js.map +1 -1
  300. package/dist/engine/team_awareness.d.ts.map +1 -1
  301. package/dist/engine/team_awareness.js +8 -7
  302. package/dist/engine/team_awareness.js.map +1 -1
  303. package/dist/engine/template_mechanism_auditor.d.ts +93 -0
  304. package/dist/engine/template_mechanism_auditor.d.ts.map +1 -0
  305. package/dist/engine/template_mechanism_auditor.js +622 -0
  306. package/dist/engine/template_mechanism_auditor.js.map +1 -0
  307. package/dist/engine/test_generator.d.ts.map +1 -1
  308. package/dist/engine/test_generator.js +6 -0
  309. package/dist/engine/test_generator.js.map +1 -1
  310. package/dist/engine/test_quality.d.ts +6 -0
  311. package/dist/engine/test_quality.d.ts.map +1 -1
  312. package/dist/engine/test_quality.js +26 -10
  313. package/dist/engine/test_quality.js.map +1 -1
  314. package/dist/engine/tool_invocation_contract_registry.d.ts +136 -0
  315. package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -0
  316. package/dist/engine/tool_invocation_contract_registry.js +731 -0
  317. package/dist/engine/tool_invocation_contract_registry.js.map +1 -0
  318. package/dist/engine/traceability.d.ts +3 -0
  319. package/dist/engine/traceability.d.ts.map +1 -1
  320. package/dist/engine/traceability.js +12 -4
  321. package/dist/engine/traceability.js.map +1 -1
  322. package/dist/engine/user_feedback_contract.d.ts +162 -0
  323. package/dist/engine/user_feedback_contract.d.ts.map +1 -0
  324. package/dist/engine/user_feedback_contract.js +356 -0
  325. package/dist/engine/user_feedback_contract.js.map +1 -0
  326. package/dist/engine/verifier.d.ts +6 -1
  327. package/dist/engine/verifier.d.ts.map +1 -1
  328. package/dist/engine/verifier.js +114 -1
  329. package/dist/engine/verifier.js.map +1 -1
  330. package/dist/engine/workflow_contract_registry.d.ts +70 -0
  331. package/dist/engine/workflow_contract_registry.d.ts.map +1 -0
  332. package/dist/engine/workflow_contract_registry.js +501 -0
  333. package/dist/engine/workflow_contract_registry.js.map +1 -0
  334. package/dist/engine/workspace_resumer.d.ts.map +1 -1
  335. package/dist/engine/workspace_resumer.js +8 -0
  336. package/dist/engine/workspace_resumer.js.map +1 -1
  337. package/dist/engine/zero_config_init.d.ts +67 -2
  338. package/dist/engine/zero_config_init.d.ts.map +1 -1
  339. package/dist/engine/zero_config_init.js +410 -28
  340. package/dist/engine/zero_config_init.js.map +1 -1
  341. package/dist/git/operations.d.ts +101 -0
  342. package/dist/git/operations.d.ts.map +1 -1
  343. package/dist/git/operations.js +125 -9
  344. package/dist/git/operations.js.map +1 -1
  345. package/dist/index.d.ts +1 -1
  346. package/dist/index.js +16 -5
  347. package/dist/index.js.map +1 -1
  348. package/dist/knowledge/conflict_detector.d.ts +6 -0
  349. package/dist/knowledge/conflict_detector.d.ts.map +1 -1
  350. package/dist/knowledge/conflict_detector.js +7 -0
  351. package/dist/knowledge/conflict_detector.js.map +1 -1
  352. package/dist/knowledge/health_checker.d.ts +16 -0
  353. package/dist/knowledge/health_checker.d.ts.map +1 -1
  354. package/dist/knowledge/health_checker.js +24 -1
  355. package/dist/knowledge/health_checker.js.map +1 -1
  356. package/dist/knowledge/index_manager.d.ts +140 -2
  357. package/dist/knowledge/index_manager.d.ts.map +1 -1
  358. package/dist/knowledge/index_manager.js +186 -26
  359. package/dist/knowledge/index_manager.js.map +1 -1
  360. package/dist/knowledge/loader.d.ts +8 -1
  361. package/dist/knowledge/loader.d.ts.map +1 -1
  362. package/dist/knowledge/loader.js +56 -2
  363. package/dist/knowledge/loader.js.map +1 -1
  364. package/dist/knowledge/writer.d.ts +49 -1
  365. package/dist/knowledge/writer.d.ts.map +1 -1
  366. package/dist/knowledge/writer.js +55 -1
  367. package/dist/knowledge/writer.js.map +1 -1
  368. package/dist/types.d.ts +255 -1
  369. package/dist/types.d.ts.map +1 -1
  370. package/dist/utils/logger.d.ts +3 -0
  371. package/dist/utils/logger.d.ts.map +1 -0
  372. package/dist/utils/logger.js +29 -0
  373. package/dist/utils/logger.js.map +1 -0
  374. package/package.json +7 -7
  375. package/templates/knowledge/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 +16 -0
  376. package/templates/knowledge/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +17 -0
  377. package/templates/knowledge/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 +43 -0
  378. package/templates/knowledge/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 +17 -0
  379. package/templates/knowledge/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +15 -0
  380. package/templates/knowledge/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +16 -0
  381. package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +1 -0
  382. package/templates/knowledge/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 +23 -0
  383. package/templates/knowledge/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +19 -0
  384. package/templates/knowledge/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +15 -0
  385. package/templates/knowledge/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +15 -0
  386. package/templates/knowledge/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 +1 -1
  387. package/templates/knowledge/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +53 -0
  388. package/templates/knowledge/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +21 -0
  389. package/templates/knowledge/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +25 -0
  390. package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +20 -0
  391. package/templates/knowledge/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +25 -0
  392. package/templates/knowledge/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +26 -0
  393. package/templates/knowledge/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 +24 -0
  394. package/templates/knowledge/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 +20 -0
  395. package/templates/knowledge/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 +125 -0
  396. package/templates/knowledge/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 +26 -0
  397. package/templates/knowledge/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 +22 -0
  398. package/templates/knowledge/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 +25 -0
  399. package/templates/knowledge/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 +27 -0
  400. package/templates/knowledge/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +22 -0
  401. package/templates/knowledge/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +24 -0
  402. package/templates/knowledge/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 +28 -0
  403. package/templates/knowledge/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +25 -0
  404. package/templates/knowledge/templates/{review_summary.md → /345/256/241/346/237/245/346/221/230/350/246/201.md} +1 -1
  405. package/templates/config.yaml +0 -53
@@ -0,0 +1,484 @@
1
+ /**
2
+ * Mechanism Contract Registry — P0 self-governance contracts.
3
+ *
4
+ * Every P0 mechanism on the main pipeline is registered here with
5
+ * precise inputs, outputs, failure modes, and test anchors so that
6
+ * validateMechanismContracts() can enforce structural invariants.
7
+ */
8
+ import fs from "node:fs";
9
+ import path from "node:path";
10
+ // ── P0 Contracts ──
11
+ /** P0 级机制契约列表 */
12
+ export const P0_MECHANISM_CONTRACTS = [
13
+ // ── 1. intent_router ──
14
+ {
15
+ id: "mc-intent-router",
16
+ name: "Intent Router",
17
+ owner_module: "src/engine/intent_router.ts",
18
+ owner_exports: ["routeIntent"],
19
+ mechanism_type: "routing",
20
+ status: "enforced",
21
+ trigger: "sf_classify 调用后、classifier 分类前",
22
+ required_inputs: ["intent"],
23
+ preconditions: ["intent 非空字符串"],
24
+ outputs: ["route_decision", "route", "execution_shape", "mutation_allowed", "input_materials", "output_artifact", "pipeline_hint", "missing_required_inputs"],
25
+ downstream_consumers: ["classifier", "intent_expander", "task_planner"],
26
+ failure_modes: [
27
+ "artifact_generation 被 skip(应路由到 code_change 或 artifact_generation)",
28
+ "source_extraction 允许 mutation(应为 read-only)",
29
+ "direct_answer 与产物语义混淆(应区分回答与生成)",
30
+ ],
31
+ degradation_behavior: "路由失败时默认降级为 code_change,写入 route_decision.degraded=true",
32
+ tests: ["tests/engine/intent_router.test.ts"],
33
+ lifecycle_tests: ["tests/adapters/tools_lifecycle.test.ts"],
34
+ },
35
+ // ── 2. classifier ──
36
+ {
37
+ id: "mc-classifier",
38
+ name: "Classifier",
39
+ owner_module: "src/engine/classifier.ts",
40
+ owner_exports: ["classify"],
41
+ mechanism_type: "classification",
42
+ status: "advisory",
43
+ trigger: "sf_classify 调用时,routeIntent 之后",
44
+ required_inputs: ["intent", "route_decision"],
45
+ preconditions: ["route_decision 已由 intent_router 生成"],
46
+ outputs: ["task_type", "risk", "complexity", "ambiguity", "affected_repos", "mode", "strategy", "route_decision"],
47
+ downstream_consumers: ["intent_router (compatibility display)", "task_context", "compatibility display"],
48
+ failure_modes: [
49
+ "task_type 覆盖 route_decision 的裁决结果",
50
+ "strategy 字段被当作入口裁决而非兼容展示",
51
+ ],
52
+ degradation_behavior: "classifier 仅提供兼容字段和辅助分类,不能重新夺回入口裁决权;route_decision 始终由 intent_router 决定",
53
+ tests: ["tests/engine/classifier.test.ts"],
54
+ lifecycle_tests: ["tests/adapters/tools_lifecycle.test.ts"],
55
+ notes: "classifier 不能重新夺回入口裁决权,route_decision 才是入口裁决的唯一来源",
56
+ },
57
+ // ── 3. intent_expander ──
58
+ {
59
+ id: "mc-intent-expander",
60
+ name: "Intent Expander",
61
+ owner_module: "src/engine/intent_expander.ts",
62
+ owner_exports: ["expand"],
63
+ mechanism_type: "expansion",
64
+ status: "enforced",
65
+ trigger: "sf_expand 调用时",
66
+ required_inputs: ["classification", "route_decision", "matched_knowledge"],
67
+ preconditions: ["任务处于 classifying 或 clarifying 状态", "route_decision 已生成"],
68
+ outputs: ["expansion", "prompt", "scope", "acceptance_criteria"],
69
+ downstream_consumers: ["sf_expand handler", "executor", "verifier"],
70
+ failure_modes: [
71
+ "source_extraction 路由的 prompt 包含代码修改指令而非产物提取指令",
72
+ "read_only_analysis 生成的 prompt 包含修改源码的指令",
73
+ "circuit breaker 置信度不足时仍生成执行指令而非澄清请求",
74
+ ],
75
+ degradation_behavior: "confidence < 阈值时返回 clarification prompt 而非执行指令,consumption_mode=required 的模板缺失时报错",
76
+ tests: ["tests/engine/intent_expander_integration.test.ts"],
77
+ lifecycle_tests: ["tests/adapters/tools_lifecycle.test.ts"],
78
+ },
79
+ // ── 4. knowledge_matching ──
80
+ {
81
+ id: "mc-knowledge-matching",
82
+ name: "Knowledge Matching",
83
+ owner_module: "src/knowledge/index_manager.ts",
84
+ owner_exports: ["KnowledgeIndexManager"],
85
+ mechanism_type: "knowledge_matching",
86
+ status: "advisory",
87
+ trigger: "expand() 内部调用 knowledgeIndex.query()",
88
+ required_inputs: ["route_decision", "output_artifact.kind", "pipeline_hint", "knowledge_index"],
89
+ preconditions: ["knowledge index 已 build"],
90
+ outputs: ["matched_patterns", "injected_templates"],
91
+ downstream_consumers: ["intent_expander prompt builder"],
92
+ failure_modes: [
93
+ "prototype_spec output_artifact 未命中原型说明模版",
94
+ "required knowledge 缺失时退回 code prompt 而非报错",
95
+ "draft/quarantine 状态知识默认注入 prompt",
96
+ "三道门过滤后无注入结果但无注入报告",
97
+ ],
98
+ degradation_behavior: "整体 advisory,但 required branch(prototype_spec → 原型说明模版)为 enforced:缺失时必须报错而非静默降级。其他分支缺失时优雅降级为空匹配",
99
+ tests: ["tests/engine/intent_expander_integration.test.ts"],
100
+ lifecycle_tests: ["tests/adapters/tools_lifecycle.test.ts"],
101
+ notes: "整体 advisory,required branch enforced。prototype_spec 对应的 acceptance_template 不可缺失",
102
+ },
103
+ // ── 5. knowledge_injection_boundary ──
104
+ {
105
+ id: "mc-knowledge-injection-boundary",
106
+ name: "Knowledge Injection Boundary",
107
+ owner_module: "src/engine/knowledge_injection_boundary.ts",
108
+ owner_exports: ["enforceKnowledgeInjectionBoundary", "validateInjectionReport"],
109
+ mechanism_type: "safety",
110
+ status: "enforced",
111
+ trigger: "expand() 内 queryKnowledgeForRoute 后的三道门过滤",
112
+ required_inputs: ["knowledge_entries", "route_decision", "consumable_assets", "budget"],
113
+ preconditions: ["knowledge index 已 build", "route_decision 已生成"],
114
+ outputs: ["KnowledgeInjectionReport (indexed, injectable, injected_required, injected_supporting, advisory_only, excluded, missing_required_knowledge, governance_findings, conflicts, budget)"],
115
+ downstream_consumers: ["prompt builder", "intent_expander ExpandResult"],
116
+ failure_modes: [
117
+ "draft/quarantine/deprecated 状态知识绕过边界进入 prompt",
118
+ "错误 route 注入错误模板(如 code_change 注入了 source_extraction 模板)",
119
+ "consumption_mode=required 资产缺失时静默降级而非报错",
120
+ "pending_review 知识出现在 injected 而非 advisory_only",
121
+ "core 知识被 normal 知识静默覆盖无 conflict 记录",
122
+ "budget 不足时 required 被 supporting 挤掉",
123
+ "无 KnowledgeInjectionReport 生成",
124
+ ],
125
+ degradation_behavior: "draft/quarantine/deprecated 知识被过滤,不进入 prompt。pending_review 进入 advisory_only 带 warning。route 不匹配时跳过模板注入。budget 不足时优先保留 required",
126
+ tests: [
127
+ "tests/engine/knowledge_injection_boundary.test.ts",
128
+ "tests/engine/intent_expander_integration.test.ts",
129
+ "tests/engine/knowledge_isolation.test.ts",
130
+ "tests/engine/knowledge_sovereignty.test.ts",
131
+ ],
132
+ lifecycle_tests: ["tests/adapters/tools_lifecycle.test.ts"],
133
+ },
134
+ // ── 6. task_context_lifecycle ──
135
+ {
136
+ id: "mc-task-context-lifecycle",
137
+ name: "Task Context Lifecycle",
138
+ owner_module: "src/engine/task_context.ts",
139
+ owner_exports: ["TaskContextManager"],
140
+ mechanism_type: "state_lifecycle",
141
+ status: "enforced",
142
+ trigger: "sf_classify/sf_expand/sf_verify/sf_learn 调用时",
143
+ required_inputs: ["intent", "product_profile", "classification_before_expand", "expansion_before_executing", "execution_before_verifying"],
144
+ preconditions: ["stateDir 已初始化"],
145
+ outputs: ["task_state", "task_id", "current_status"],
146
+ downstream_consumers: ["sf_expand", "sf_verify", "sf_learn", "sf_status", "workspace_resumer"],
147
+ state_transitions: [
148
+ "init → classifying",
149
+ "classifying → expanding",
150
+ "classifying → clarifying",
151
+ "clarifying → expanding",
152
+ "expanding → executing",
153
+ "executing → verifying",
154
+ "verifying → learning",
155
+ "learning → done",
156
+ "learning → retrying",
157
+ "retrying → expanding",
158
+ ],
159
+ cleanup_hooks: [
160
+ "clear_diff_ownership",
161
+ "release_scope_lease",
162
+ "clear_current_active_task_pointer",
163
+ ],
164
+ failure_modes: [
165
+ "classifying 状态直接调用 sf_verify(应先 expand)",
166
+ "executing 状态再次 sf_expand(不可重入)",
167
+ "done 状态调用 sf_expand(任务已结束)",
168
+ ],
169
+ degradation_behavior: "非法状态转换返回 isError,不静默忽略",
170
+ tests: ["tests/engine/task_context.test.ts"],
171
+ lifecycle_tests: ["tests/adapters/tools_lifecycle.test.ts"],
172
+ },
173
+ // ── 7. verifier ──
174
+ {
175
+ id: "mc-verifier",
176
+ name: "Verifier",
177
+ owner_module: "src/engine/verifier.ts",
178
+ owner_exports: ["generateVerifyCommands"],
179
+ mechanism_type: "verification",
180
+ status: "enforced",
181
+ trigger: "sf_verify 调用时",
182
+ required_inputs: ["expansion", "execution_shape", "changed_files_or_output_artifact"],
183
+ preconditions: ["任务处于 executing 状态", "已有 expansion 结果"],
184
+ outputs: ["verify_commands", "verification_result", "evidence"],
185
+ downstream_consumers: ["sf_verify handler", "task_context", "sf_learn"],
186
+ failure_modes: [
187
+ "single_artifact/source_extraction 默认要求 build+test(应为轻量验证)",
188
+ "verification 结果未保存到 task context 就标记 done/learning",
189
+ ],
190
+ degradation_behavior: "execution_shape 决定验证策略:code_execution 用完整 build+test,single_artifact/source_extraction 用轻量检查",
191
+ tests: ["tests/engine/verifier_phase25.test.ts"],
192
+ lifecycle_tests: ["tests/adapters/tools_lifecycle.test.ts"],
193
+ },
194
+ // ── 8. workspace_resumer ──
195
+ {
196
+ id: "mc-workspace-resumer",
197
+ name: "Workspace Resumer",
198
+ owner_module: "src/engine/workspace_resumer.ts",
199
+ owner_exports: ["scanAndResume", "cleanupStaleTasks"],
200
+ mechanism_type: "state_lifecycle",
201
+ status: "enforced",
202
+ trigger: "sf_status action=resume 或会话启动时",
203
+ required_inputs: ["task_state_directory", "current_task_pointer", "active_task_list"],
204
+ preconditions: ["stateDir 存在"],
205
+ outputs: ["resume_report", "active_task_candidates", "cleanup_report"],
206
+ downstream_consumers: ["sf_status", "sf_resume_workspace", "TaskContextManager"],
207
+ state_transitions: [
208
+ "found_executing → resume_to_executing",
209
+ "found_verifying → resume_to_verifying",
210
+ "found_retrying → resume_to_retrying",
211
+ ],
212
+ cleanup_hooks: [
213
+ "cleanupOrphanLeases",
214
+ "cleanupStaleTasks",
215
+ "current_pointer_repair",
216
+ ],
217
+ failure_modes: [
218
+ "中断后 current pointer 指向已完成的任务",
219
+ "orphan scope lease 未清理导致 scope 被永久占用",
220
+ ],
221
+ degradation_behavior: "corrupt task 标记为 unrecoverable,不阻塞其他任务恢复",
222
+ tests: ["tests/engine/workspace_resumer.test.ts"],
223
+ lifecycle_tests: ["tests/engine/workspace_resumer.test.ts", "tests/adapters/tools_lifecycle.test.ts"],
224
+ },
225
+ // ── 9. core_engineering_principles ──
226
+ {
227
+ id: "mc-core-engineering-principles",
228
+ name: "Core Engineering Principles",
229
+ owner_module: "src/engine/core_engineering_principles.ts",
230
+ owner_exports: ["checkCorePrinciples", "checkThinkBeforeCoding", "checkSimplicityFirst", "checkSurgicalChanges", "checkGoalDrivenExecution", "validateAntiCircumvention"],
231
+ mechanism_type: "governance",
232
+ status: "enforced",
233
+ trigger: "sf_verify 验证阶段 / sf_governance_report 治理报告",
234
+ required_inputs: ["route", "execution_shape", "changed_files", "declared_scope"],
235
+ preconditions: ["分类已完成,route 和 execution_shape 已确定"],
236
+ outputs: ["CorePrinciplesReport", "CorePrinciplesCheckResult[]", "task_level"],
237
+ downstream_consumers: ["verifier", "governance_report", "adapter_tools"],
238
+ state_transitions: [
239
+ "principles_failed → repair_reverify",
240
+ "principles_passed → advance_next",
241
+ ],
242
+ failure_modes: [
243
+ "required 原则检查失败但被忽略",
244
+ "伪满足: 声称 passed 但无证据引用",
245
+ "blocking 不确定被伪装为 assumption",
246
+ ],
247
+ degradation_behavior: "检查模块不可用时降级为 advisory,不阻断主链路",
248
+ tests: ["tests/engine/core_engineering_principles.test.ts"],
249
+ lifecycle_tests: ["tests/engine/core_engineering_principles.test.ts", "tests/engine/dual_layer_mechanism_registry.test.ts"],
250
+ },
251
+ // ── delivery ──
252
+ {
253
+ id: "mc-delivery",
254
+ name: "Delivery",
255
+ owner_module: "src/engine/delivery.ts",
256
+ owner_exports: ["deliver", "generateChangelogEntry"],
257
+ mechanism_type: "delivery",
258
+ status: "enforced",
259
+ trigger: "sf_deliver 调用时,verify 通过后",
260
+ required_inputs: ["taskContext", "config"],
261
+ preconditions: ["verification passed", "no active write lease conflict"],
262
+ outputs: ["DeliveryResult", "ChangelogEntry"],
263
+ downstream_consumers: ["adapter_tools", "developer_sovereignty"],
264
+ failure_modes: [
265
+ "delivery without verification",
266
+ "commit conflict during push",
267
+ "PR creation failure",
268
+ ],
269
+ degradation_behavior: "delivery 失败时降级为 manual_required,保留 commit",
270
+ tests: ["tests/engine/delivery.test.ts"],
271
+ lifecycle_tests: ["tests/engine/delivery.test.ts"],
272
+ },
273
+ // ── 11. zero_config_init ──
274
+ {
275
+ id: "mc-zero-config-init",
276
+ name: "零配置初始化",
277
+ owner_module: "src/engine/zero_config_init.ts",
278
+ owner_exports: ["detectFingerprint", "generateConfigDraft", "validateConfigDraft"],
279
+ mechanism_type: "initialization",
280
+ status: "enforced",
281
+ trigger: "sf_init",
282
+ required_inputs: ["project_path"],
283
+ preconditions: [],
284
+ outputs: ["ProjectConfig"],
285
+ downstream_consumers: ["sf_expand", "sf_verify", "sf_validate"],
286
+ state_transitions: [],
287
+ cleanup_hooks: [],
288
+ failure_modes: ["fingerprint_collision", "config_parse_error"],
289
+ degradation_behavior: "manual config fallback",
290
+ tests: ["tests/engine/zero_config_init.test.ts"],
291
+ lifecycle_tests: ["tests/engine/zero_config_init.test.ts"],
292
+ },
293
+ // ── 12. input_material_contract ──
294
+ {
295
+ id: "mc-input-material-contract",
296
+ name: "输入材料契约",
297
+ owner_module: "src/engine/input_material_contract_registry.ts",
298
+ owner_exports: ["canSupportStrongConclusion", "isWriteAllowed"],
299
+ mechanism_type: "safety",
300
+ status: "enforced",
301
+ trigger: "sf_expand",
302
+ required_inputs: ["input_materials"],
303
+ preconditions: ["privacy_gate_pass"],
304
+ outputs: ["InputMaterialContract"],
305
+ downstream_consumers: ["sf_expand", "privacy_gate"],
306
+ state_transitions: [],
307
+ cleanup_hooks: [],
308
+ failure_modes: ["unregistered_source", "invalid_material_type"],
309
+ degradation_behavior: "permissive mode fallback",
310
+ tests: ["tests/engine/input_material_contract_registry.test.ts"],
311
+ lifecycle_tests: ["tests/engine/input_material_contract_registry.test.ts"],
312
+ },
313
+ // ── 13. user_feedback ──
314
+ {
315
+ id: "mc-user-feedback",
316
+ name: "用户反馈契约",
317
+ owner_module: "src/engine/user_feedback_contract.ts",
318
+ owner_exports: ["createUserFeedbackMessage", "validateUserFeedbackContract", "getAllowedFeedbackKinds"],
319
+ mechanism_type: "feedback",
320
+ status: "enforced",
321
+ trigger: "sf_verify",
322
+ required_inputs: ["verification_result"],
323
+ preconditions: [],
324
+ outputs: ["UserFeedbackMessage"],
325
+ downstream_consumers: ["sf_learn", "sf_deliver"],
326
+ state_transitions: [],
327
+ cleanup_hooks: [],
328
+ failure_modes: ["forbidden_wording", "severity_mismatch"],
329
+ degradation_behavior: "simple message fallback",
330
+ tests: ["tests/engine/user_feedback_contract.test.ts"],
331
+ lifecycle_tests: ["tests/engine/user_feedback_contract.test.ts"],
332
+ },
333
+ // ── 14. artifact_contract ──
334
+ {
335
+ id: "mc-artifact-contract",
336
+ name: "产物契约",
337
+ owner_module: "src/engine/artifact_contract_registry.ts",
338
+ owner_exports: ["canTransition", "transitionRequiresVerification"],
339
+ mechanism_type: "artifact_management",
340
+ status: "enforced",
341
+ trigger: "sf_expand",
342
+ required_inputs: ["output_artifact"],
343
+ preconditions: [],
344
+ outputs: ["ArtifactContract", "OutputArtifact"],
345
+ downstream_consumers: ["sf_deliver", "sf_verify"],
346
+ state_transitions: [],
347
+ cleanup_hooks: [],
348
+ failure_modes: ["missing_contract", "overwrite_violation"],
349
+ degradation_behavior: "manual artifact management fallback",
350
+ tests: ["tests/engine/artifact_contract_registry.test.ts"],
351
+ lifecycle_tests: ["tests/engine/artifact_contract_registry.test.ts"],
352
+ },
353
+ // ── 15. config_precedence ──
354
+ {
355
+ id: "mc-config-precedence",
356
+ name: "配置优先级契约",
357
+ owner_module: "src/engine/config_precedence_contract.ts",
358
+ owner_exports: ["listPrecedenceRules", "getPrecedenceRank"],
359
+ mechanism_type: "governance",
360
+ status: "enforced",
361
+ trigger: "sf_init",
362
+ required_inputs: ["field_key"],
363
+ preconditions: [],
364
+ outputs: ["ConfigPrecedenceResult"],
365
+ downstream_consumers: ["sf_init", "sf_validate"],
366
+ state_transitions: [],
367
+ cleanup_hooks: [],
368
+ failure_modes: ["invalid_override", "circular_dependency"],
369
+ degradation_behavior: "default config fallback",
370
+ tests: ["tests/engine/config_precedence_contract.test.ts"],
371
+ lifecycle_tests: ["tests/engine/config_precedence_contract.test.ts"],
372
+ },
373
+ ];
374
+ // ── Query functions ──
375
+ /**
376
+ * 执行 listMechanismContracts 操作
377
+ */
378
+ export function listMechanismContracts() {
379
+ console.error("[soloForge] 机制契约: listMechanismContracts() 列出所有机制契约");
380
+ return P0_MECHANISM_CONTRACTS;
381
+ }
382
+ /**
383
+ * 根据契约 ID 查找机制契约。
384
+ * @param id - 机制契约 ID
385
+ * @returns 匹配的机制契约,未找到时返回 undefined
386
+ */
387
+ export function findMechanismContractById(id) {
388
+ console.error("[soloForge] 机制契约: findMechanismContractById() 查找契约, id=%s", id);
389
+ return P0_MECHANISM_CONTRACTS.find((c) => c.id === id);
390
+ }
391
+ /**
392
+ * 执行 listMechanismContractsByStatus 操作
393
+ */
394
+ export function listMechanismContractsByStatus(status) {
395
+ console.error("[soloForge] 机制契约: listMechanismContractsByStatus() 按状态筛选, status=%s", status);
396
+ return P0_MECHANISM_CONTRACTS.filter((c) => c.status === status);
397
+ }
398
+ // ── Governance validation ──
399
+ /**
400
+ * 校验机制契约的结构完整性和一致性。
401
+ * @param contracts - 待校验的契约列表,默认使用内置 P0 契约
402
+ * @param rootDir - 项目根目录,默认为当前工作目录
403
+ * @returns 治理发现列表(hard_fail 为硬性错误,advisory 为建议项)
404
+ */
405
+ export function validateMechanismContracts(contracts = P0_MECHANISM_CONTRACTS, rootDir = process.cwd()) {
406
+ console.error("[soloForge] 机制契约: validateMechanismContracts() 开始执行");
407
+ const findings = [];
408
+ const seenIds = new Set();
409
+ for (const c of contracts) {
410
+ // duplicate id
411
+ if (seenIds.has(c.id)) {
412
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "id", message: `Duplicate id: ${c.id}` });
413
+ }
414
+ seenIds.add(c.id);
415
+ // owner_module exists
416
+ if (!fs.existsSync(path.join(rootDir, c.owner_module))) {
417
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "owner_module", message: `Module not found: ${c.owner_module}` });
418
+ }
419
+ // owner_exports validation: each export must exist in the module file
420
+ if (c.owner_exports?.length && fs.existsSync(path.join(rootDir, c.owner_module))) {
421
+ const moduleContent = fs.readFileSync(path.join(rootDir, c.owner_module), "utf-8");
422
+ for (const exp of c.owner_exports) {
423
+ if (!moduleContent.includes(exp)) {
424
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "owner_exports", message: `Export not found in module: ${exp}` });
425
+ }
426
+ }
427
+ }
428
+ // enforced must have lifecycle_tests
429
+ if (c.status === "enforced" && c.lifecycle_tests.length === 0) {
430
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "lifecycle_tests", message: "Enforced mechanism must have lifecycle_tests" });
431
+ }
432
+ // tests files exist
433
+ for (const t of c.tests) {
434
+ if (!fs.existsSync(path.join(rootDir, t))) {
435
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "tests", message: `Test file not found: ${t}` });
436
+ }
437
+ }
438
+ // lifecycle_tests files exist
439
+ for (const t of c.lifecycle_tests) {
440
+ if (!fs.existsSync(path.join(rootDir, t))) {
441
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "lifecycle_tests", message: `Lifecycle test file not found: ${t}` });
442
+ }
443
+ }
444
+ // required_inputs non-empty
445
+ if (c.required_inputs.length === 0) {
446
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "required_inputs", message: "required_inputs must not be empty" });
447
+ }
448
+ // outputs non-empty
449
+ if (c.outputs.length === 0) {
450
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "outputs", message: "outputs must not be empty" });
451
+ }
452
+ // downstream_consumers non-empty
453
+ if (c.downstream_consumers.length === 0) {
454
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "downstream_consumers", message: "downstream_consumers must not be empty" });
455
+ }
456
+ // state_lifecycle must have state_transitions
457
+ if (c.mechanism_type === "state_lifecycle" && (!c.state_transitions || c.state_transitions.length === 0)) {
458
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "state_transitions", message: "state_lifecycle mechanism must have state_transitions" });
459
+ }
460
+ // 清理_hooks without lifecycle_tests
461
+ if (c.cleanup_hooks && c.cleanup_hooks.length > 0 && c.lifecycle_tests.length === 0) {
462
+ findings.push({ severity: "hard_fail", contract_id: c.id, field: "lifecycle_tests", message: "Mechanism with cleanup_hooks must have lifecycle_tests" });
463
+ }
464
+ // ── Advisory checks ──
465
+ // failure_modes empty
466
+ if (c.failure_modes.length === 0) {
467
+ findings.push({ severity: "advisory", contract_id: c.id, field: "failure_modes", message: "failure_modes is empty" });
468
+ }
469
+ // degradation_behavior empty or too short
470
+ if (!c.degradation_behavior || c.degradation_behavior.length < 10) {
471
+ findings.push({ severity: "advisory", contract_id: c.id, field: "degradation_behavior", message: "degradation_behavior is empty or too short" });
472
+ }
473
+ // generic downstream_consumers
474
+ if (c.downstream_consumers.includes("unknown")) {
475
+ findings.push({ severity: "advisory", contract_id: c.id, field: "downstream_consumers", message: "downstream_consumers contains generic 'unknown'" });
476
+ }
477
+ // 已废弃 without notes
478
+ if (c.status === "deprecated" && !c.notes) {
479
+ findings.push({ severity: "advisory", contract_id: c.id, field: "notes", message: "Deprecated mechanism must have notes explaining removal" });
480
+ }
481
+ }
482
+ return findings;
483
+ }
484
+ //# sourceMappingURL=mechanism_contract_registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mechanism_contract_registry.js","sourceRoot":"","sources":["../../src/engine/mechanism_contract_registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migration_guard.d.ts","sourceRoot":"","sources":["../../src/engine/migration_guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAoMzE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAsErF"}
1
+ {"version":3,"file":"migration_guard.d.ts","sourceRoot":"","sources":["../../src/engine/migration_guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAoMzE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CA8ErF"}