soloforge 1.4.16 → 2.0.0

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 (2666) hide show
  1. package/CHANGELOG.md +279 -0
  2. package/README.md +162 -50
  3. package/dist/adapters/claude_code/claude_md.d.ts +2 -1
  4. package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
  5. package/dist/adapters/claude_code/claude_md.js +6 -6
  6. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  7. package/dist/adapters/claude_code/hooks.d.ts.map +1 -1
  8. package/dist/adapters/claude_code/hooks.js +2 -2
  9. package/dist/adapters/claude_code/hooks.js.map +1 -1
  10. package/dist/adapters/claude_code/tools.d.ts +9 -327
  11. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  12. package/dist/adapters/claude_code/tools.js +7 -4202
  13. package/dist/adapters/claude_code/tools.js.map +1 -1
  14. package/dist/adapters/codex/codex_config.d.ts.map +1 -1
  15. package/dist/adapters/codex/codex_config.js +2 -2
  16. package/dist/adapters/codex/codex_config.js.map +1 -1
  17. package/dist/adapters/codex/codex_rules.d.ts +2 -1
  18. package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
  19. package/dist/adapters/codex/codex_rules.js +25 -25
  20. package/dist/adapters/codex/codex_rules.js.map +1 -1
  21. package/dist/adapters/shared/hook_command.d.ts +20 -0
  22. package/dist/adapters/shared/hook_command.d.ts.map +1 -0
  23. package/dist/adapters/shared/hook_command.js +80 -0
  24. package/dist/adapters/shared/hook_command.js.map +1 -0
  25. package/dist/adapters/shared/workflow_template.d.ts +8 -12
  26. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  27. package/dist/adapters/shared/workflow_template.js +17 -80
  28. package/dist/adapters/shared/workflow_template.js.map +1 -1
  29. package/dist/adapters/trae/trae_config.d.ts +17 -1
  30. package/dist/adapters/trae/trae_config.d.ts.map +1 -1
  31. package/dist/adapters/trae/trae_config.js +3 -3
  32. package/dist/adapters/trae/trae_config.js.map +1 -1
  33. package/dist/adapters/trae/trae_rules.d.ts +2 -1
  34. package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
  35. package/dist/adapters/trae/trae_rules.js +25 -11
  36. package/dist/adapters/trae/trae_rules.js.map +1 -1
  37. package/dist/bin/args.d.ts +13 -0
  38. package/dist/bin/args.d.ts.map +1 -0
  39. package/dist/bin/args.js +52 -0
  40. package/dist/bin/args.js.map +1 -0
  41. package/dist/bin/commands/analyze.d.ts +7 -0
  42. package/dist/bin/commands/analyze.d.ts.map +1 -0
  43. package/dist/bin/commands/analyze.js +52 -0
  44. package/dist/bin/commands/analyze.js.map +1 -0
  45. package/dist/bin/commands/audit.d.ts +11 -0
  46. package/dist/bin/commands/audit.d.ts.map +1 -0
  47. package/dist/bin/commands/audit.js +468 -0
  48. package/dist/bin/commands/audit.js.map +1 -0
  49. package/dist/bin/commands/check_bash.d.ts +15 -0
  50. package/dist/bin/commands/check_bash.d.ts.map +1 -0
  51. package/dist/bin/commands/check_bash.js +264 -0
  52. package/dist/bin/commands/check_bash.js.map +1 -0
  53. package/dist/bin/commands/check_write.d.ts +41 -0
  54. package/dist/bin/commands/check_write.d.ts.map +1 -0
  55. package/dist/bin/commands/check_write.js +437 -0
  56. package/dist/bin/commands/check_write.js.map +1 -0
  57. package/dist/bin/commands/hooks.d.ts +8 -0
  58. package/dist/bin/commands/hooks.d.ts.map +1 -0
  59. package/dist/bin/commands/hooks.js +83 -0
  60. package/dist/bin/commands/hooks.js.map +1 -0
  61. package/dist/bin/commands/init.d.ts +38 -0
  62. package/dist/bin/commands/init.d.ts.map +1 -0
  63. package/dist/bin/commands/init.js +406 -0
  64. package/dist/bin/commands/init.js.map +1 -0
  65. package/dist/bin/commands/modify.d.ts +7 -0
  66. package/dist/bin/commands/modify.d.ts.map +1 -0
  67. package/dist/bin/commands/modify.js +74 -0
  68. package/dist/bin/commands/modify.js.map +1 -0
  69. package/dist/bin/commands/reasoning.d.ts +14 -0
  70. package/dist/bin/commands/reasoning.d.ts.map +1 -0
  71. package/dist/bin/commands/reasoning.js +158 -0
  72. package/dist/bin/commands/reasoning.js.map +1 -0
  73. package/dist/bin/commands/review.d.ts +7 -0
  74. package/dist/bin/commands/review.d.ts.map +1 -0
  75. package/dist/bin/commands/review.js +79 -0
  76. package/dist/bin/commands/review.js.map +1 -0
  77. package/dist/bin/commands/status.d.ts +12 -0
  78. package/dist/bin/commands/status.d.ts.map +1 -0
  79. package/dist/bin/commands/status.js +614 -0
  80. package/dist/bin/commands/status.js.map +1 -0
  81. package/dist/bin/commands/sync.d.ts +11 -0
  82. package/dist/bin/commands/sync.d.ts.map +1 -0
  83. package/dist/bin/commands/sync.js +517 -0
  84. package/dist/bin/commands/sync.js.map +1 -0
  85. package/dist/bin/commands/validate.d.ts +10 -0
  86. package/dist/bin/commands/validate.d.ts.map +1 -0
  87. package/dist/bin/commands/validate.js +504 -0
  88. package/dist/bin/commands/validate.js.map +1 -0
  89. package/dist/bin/config_commands.d.ts +21 -20
  90. package/dist/bin/config_commands.d.ts.map +1 -1
  91. package/dist/bin/config_commands.js +214 -227
  92. package/dist/bin/config_commands.js.map +1 -1
  93. package/dist/bin/soloforge.d.ts +1 -1
  94. package/dist/bin/soloforge.d.ts.map +1 -1
  95. package/dist/bin/soloforge.js +100 -2833
  96. package/dist/bin/soloforge.js.map +1 -1
  97. package/dist/engine/adapter_prompt_contract.d.ts +2 -2
  98. package/dist/engine/adapter_prompt_contract.d.ts.map +1 -1
  99. package/dist/engine/adapter_prompt_contract.js +1 -1
  100. package/dist/engine/adapter_prompt_contract.js.map +1 -1
  101. package/dist/engine/audit/audit_pool.d.ts.map +1 -0
  102. package/dist/engine/audit/audit_pool.js +121 -0
  103. package/dist/engine/audit/audit_pool.js.map +1 -0
  104. package/dist/engine/audit/audit_sampler.d.ts +22 -0
  105. package/dist/engine/audit/audit_sampler.d.ts.map +1 -0
  106. package/dist/engine/audit/audit_sampler.js +29 -0
  107. package/dist/engine/audit/audit_sampler.js.map +1 -0
  108. package/dist/engine/audit/code_reviewer.d.ts +73 -0
  109. package/dist/engine/audit/code_reviewer.d.ts.map +1 -0
  110. package/dist/engine/audit/code_reviewer.js +632 -0
  111. package/dist/engine/audit/code_reviewer.js.map +1 -0
  112. package/dist/engine/audit/confidence_scorer.d.ts +48 -0
  113. package/dist/engine/audit/confidence_scorer.d.ts.map +1 -0
  114. package/dist/engine/audit/confidence_scorer.js +64 -0
  115. package/dist/engine/audit/confidence_scorer.js.map +1 -0
  116. package/dist/engine/audit/core_engineering_principles.d.ts +155 -0
  117. package/dist/engine/audit/core_engineering_principles.d.ts.map +1 -0
  118. package/dist/engine/audit/core_engineering_principles.js +414 -0
  119. package/dist/engine/audit/core_engineering_principles.js.map +1 -0
  120. package/dist/engine/audit/core_experience_principle.d.ts +194 -0
  121. package/dist/engine/audit/core_experience_principle.d.ts.map +1 -0
  122. package/dist/engine/audit/core_experience_principle.js +349 -0
  123. package/dist/engine/audit/core_experience_principle.js.map +1 -0
  124. package/dist/engine/audit/debt_reporter.d.ts +12 -0
  125. package/dist/engine/audit/debt_reporter.d.ts.map +1 -0
  126. package/dist/engine/audit/debt_reporter.js +94 -0
  127. package/dist/engine/audit/debt_reporter.js.map +1 -0
  128. package/dist/engine/audit/debt_tracker.d.ts +72 -0
  129. package/dist/engine/audit/debt_tracker.d.ts.map +1 -0
  130. package/dist/engine/audit/debt_tracker.js +231 -0
  131. package/dist/engine/audit/debt_tracker.js.map +1 -0
  132. package/dist/engine/audit/debugger.d.ts +15 -0
  133. package/dist/engine/audit/debugger.d.ts.map +1 -0
  134. package/dist/engine/audit/debugger.js +415 -0
  135. package/dist/engine/audit/debugger.js.map +1 -0
  136. package/dist/engine/audit/degradation.d.ts.map +1 -0
  137. package/dist/engine/audit/degradation.js.map +1 -0
  138. package/dist/engine/audit/delivery.d.ts +49 -0
  139. package/dist/engine/audit/delivery.d.ts.map +1 -0
  140. package/dist/engine/audit/delivery.js +405 -0
  141. package/dist/engine/audit/delivery.js.map +1 -0
  142. package/dist/engine/audit/delivery_readiness.d.ts +72 -0
  143. package/dist/engine/audit/delivery_readiness.d.ts.map +1 -0
  144. package/dist/engine/audit/delivery_readiness.js +200 -0
  145. package/dist/engine/audit/delivery_readiness.js.map +1 -0
  146. package/dist/engine/audit/developer_sovereignty.d.ts +24 -0
  147. package/dist/engine/audit/developer_sovereignty.d.ts.map +1 -0
  148. package/dist/engine/audit/developer_sovereignty.js +137 -0
  149. package/dist/engine/audit/developer_sovereignty.js.map +1 -0
  150. package/dist/engine/audit/diagnostic_registry.d.ts.map +1 -0
  151. package/dist/engine/audit/diagnostic_registry.js +288 -0
  152. package/dist/engine/audit/diagnostic_registry.js.map +1 -0
  153. package/dist/engine/audit/evolver.d.ts +78 -0
  154. package/dist/engine/audit/evolver.d.ts.map +1 -0
  155. package/dist/engine/audit/evolver.js +402 -0
  156. package/dist/engine/audit/evolver.js.map +1 -0
  157. package/dist/engine/audit/failure_classifier.d.ts +39 -0
  158. package/dist/engine/audit/failure_classifier.d.ts.map +1 -0
  159. package/dist/engine/audit/failure_classifier.js +175 -0
  160. package/dist/engine/audit/failure_classifier.js.map +1 -0
  161. package/dist/engine/audit/failure_report.d.ts.map +1 -0
  162. package/dist/engine/audit/failure_report.js.map +1 -0
  163. package/dist/engine/audit/governance_report.d.ts +101 -0
  164. package/dist/engine/audit/governance_report.d.ts.map +1 -0
  165. package/dist/engine/audit/governance_report.js +185 -0
  166. package/dist/engine/audit/governance_report.js.map +1 -0
  167. package/dist/engine/audit/java_quality_guard.d.ts.map +1 -0
  168. package/dist/engine/audit/java_quality_guard.js +228 -0
  169. package/dist/engine/audit/java_quality_guard.js.map +1 -0
  170. package/dist/engine/audit/main_path_integration_contract/constants.d.ts +27 -0
  171. package/dist/engine/audit/main_path_integration_contract/constants.d.ts.map +1 -0
  172. package/dist/engine/audit/main_path_integration_contract/constants.js +71 -0
  173. package/dist/engine/audit/main_path_integration_contract/constants.js.map +1 -0
  174. package/dist/engine/audit/main_path_integration_contract/factories.d.ts +35 -0
  175. package/dist/engine/audit/main_path_integration_contract/factories.d.ts.map +1 -0
  176. package/dist/engine/audit/main_path_integration_contract/factories.js +62 -0
  177. package/dist/engine/audit/main_path_integration_contract/factories.js.map +1 -0
  178. package/dist/engine/audit/main_path_integration_contract/gates.d.ts +25 -0
  179. package/dist/engine/audit/main_path_integration_contract/gates.d.ts.map +1 -0
  180. package/dist/engine/audit/main_path_integration_contract/gates.js +307 -0
  181. package/dist/engine/audit/main_path_integration_contract/gates.js.map +1 -0
  182. package/dist/engine/audit/main_path_integration_contract/index.d.ts +17 -0
  183. package/dist/engine/audit/main_path_integration_contract/index.d.ts.map +1 -0
  184. package/dist/engine/audit/main_path_integration_contract/index.js +21 -0
  185. package/dist/engine/audit/main_path_integration_contract/index.js.map +1 -0
  186. package/dist/engine/audit/main_path_integration_contract/queries.d.ts +46 -0
  187. package/dist/engine/audit/main_path_integration_contract/queries.d.ts.map +1 -0
  188. package/dist/engine/audit/main_path_integration_contract/queries.js +91 -0
  189. package/dist/engine/audit/main_path_integration_contract/queries.js.map +1 -0
  190. package/dist/engine/audit/main_path_integration_contract/scanning.d.ts +13 -0
  191. package/dist/engine/audit/main_path_integration_contract/scanning.d.ts.map +1 -0
  192. package/dist/engine/audit/main_path_integration_contract/scanning.js +476 -0
  193. package/dist/engine/audit/main_path_integration_contract/scanning.js.map +1 -0
  194. package/dist/engine/audit/main_path_integration_contract/scanning_infra.d.ts +35 -0
  195. package/dist/engine/audit/main_path_integration_contract/scanning_infra.d.ts.map +1 -0
  196. package/dist/engine/audit/main_path_integration_contract/scanning_infra.js +343 -0
  197. package/dist/engine/audit/main_path_integration_contract/scanning_infra.js.map +1 -0
  198. package/dist/engine/audit/main_path_integration_contract/types.d.ts +87 -0
  199. package/dist/engine/audit/main_path_integration_contract/types.d.ts.map +1 -0
  200. package/dist/engine/audit/main_path_integration_contract/types.js +5 -0
  201. package/dist/engine/audit/main_path_integration_contract/types.js.map +1 -0
  202. package/dist/engine/audit/main_path_integration_contract.d.ts +13 -0
  203. package/dist/engine/audit/main_path_integration_contract.d.ts.map +1 -0
  204. package/dist/engine/audit/main_path_integration_contract.js +17 -0
  205. package/dist/engine/audit/main_path_integration_contract.js.map +1 -0
  206. package/dist/engine/audit/mutation_audit.d.ts +39 -0
  207. package/dist/engine/audit/mutation_audit.d.ts.map +1 -0
  208. package/dist/engine/audit/mutation_audit.js +153 -0
  209. package/dist/engine/audit/mutation_audit.js.map +1 -0
  210. package/dist/engine/audit/observability.d.ts +68 -0
  211. package/dist/engine/audit/observability.d.ts.map +1 -0
  212. package/dist/engine/audit/observability.js +437 -0
  213. package/dist/engine/audit/observability.js.map +1 -0
  214. package/dist/engine/audit/privacy_grants.d.ts +108 -0
  215. package/dist/engine/audit/privacy_grants.d.ts.map +1 -0
  216. package/dist/engine/audit/privacy_grants.js +171 -0
  217. package/dist/engine/audit/privacy_grants.js.map +1 -0
  218. package/dist/engine/audit/privacy_patterns.d.ts +24 -0
  219. package/dist/engine/audit/privacy_patterns.d.ts.map +1 -0
  220. package/dist/engine/audit/privacy_patterns.js +143 -0
  221. package/dist/engine/audit/privacy_patterns.js.map +1 -0
  222. package/dist/engine/audit/privacy_scanning.d.ts +153 -0
  223. package/dist/engine/audit/privacy_scanning.d.ts.map +1 -0
  224. package/dist/engine/audit/privacy_scanning.js +567 -0
  225. package/dist/engine/audit/privacy_scanning.js.map +1 -0
  226. package/dist/engine/audit/privacy_secret_contract.d.ts +12 -0
  227. package/dist/engine/audit/privacy_secret_contract.d.ts.map +1 -0
  228. package/dist/engine/audit/privacy_secret_contract.js +14 -0
  229. package/dist/engine/audit/privacy_secret_contract.js.map +1 -0
  230. package/dist/engine/audit/privacy_types.d.ts +48 -0
  231. package/dist/engine/audit/privacy_types.d.ts.map +1 -0
  232. package/dist/engine/audit/privacy_types.js +14 -0
  233. package/dist/engine/audit/privacy_types.js.map +1 -0
  234. package/dist/engine/audit/risk_sampler.d.ts +45 -0
  235. package/dist/engine/audit/risk_sampler.d.ts.map +1 -0
  236. package/dist/engine/audit/risk_sampler.js +81 -0
  237. package/dist/engine/audit/risk_sampler.js.map +1 -0
  238. package/dist/engine/audit/runtime_safety.d.ts.map +1 -0
  239. package/dist/engine/audit/runtime_safety.js +200 -0
  240. package/dist/engine/audit/runtime_safety.js.map +1 -0
  241. package/dist/engine/audit/semantic_evidence.d.ts +33 -0
  242. package/dist/engine/audit/semantic_evidence.d.ts.map +1 -0
  243. package/dist/engine/audit/semantic_evidence.js +93 -0
  244. package/dist/engine/audit/semantic_evidence.js.map +1 -0
  245. package/dist/engine/audit/test_generator.d.ts +10 -0
  246. package/dist/engine/audit/test_generator.d.ts.map +1 -0
  247. package/dist/engine/audit/test_generator.js +268 -0
  248. package/dist/engine/audit/test_generator.js.map +1 -0
  249. package/dist/engine/audit/test_quality.d.ts +39 -0
  250. package/dist/engine/audit/test_quality.d.ts.map +1 -0
  251. package/dist/engine/audit/test_quality.js +642 -0
  252. package/dist/engine/audit/test_quality.js.map +1 -0
  253. package/dist/engine/audit/test_strategy.d.ts.map +1 -0
  254. package/dist/engine/audit/test_strategy.js.map +1 -0
  255. package/dist/engine/change_coordinator.d.ts +2 -2
  256. package/dist/engine/change_coordinator.d.ts.map +1 -1
  257. package/dist/engine/change_coordinator.js +33 -33
  258. package/dist/engine/change_coordinator.js.map +1 -1
  259. package/dist/engine/cognitive_anchor.d.ts.map +1 -1
  260. package/dist/engine/cognitive_anchor.js +7 -8
  261. package/dist/engine/cognitive_anchor.js.map +1 -1
  262. package/dist/engine/config/config_write_boundary.d.ts.map +1 -0
  263. package/dist/engine/config/config_write_boundary.js +85 -0
  264. package/dist/engine/config/config_write_boundary.js.map +1 -0
  265. package/dist/engine/config/conflicts.d.ts +39 -0
  266. package/dist/engine/config/conflicts.d.ts.map +1 -0
  267. package/dist/engine/config/conflicts.js +79 -0
  268. package/dist/engine/config/conflicts.js.map +1 -0
  269. package/dist/engine/config/detector/blueprint.d.ts +25 -0
  270. package/dist/engine/config/detector/blueprint.d.ts.map +1 -0
  271. package/dist/engine/config/detector/blueprint.js +47 -0
  272. package/dist/engine/config/detector/blueprint.js.map +1 -0
  273. package/dist/engine/config/detector/fingerprint.d.ts +67 -0
  274. package/dist/engine/config/detector/fingerprint.d.ts.map +1 -0
  275. package/dist/engine/config/detector/fingerprint.js +160 -0
  276. package/dist/engine/config/detector/fingerprint.js.map +1 -0
  277. package/dist/engine/config/detector/framework_map.d.ts +89 -0
  278. package/dist/engine/config/detector/framework_map.d.ts.map +1 -0
  279. package/dist/engine/config/detector/framework_map.js +406 -0
  280. package/dist/engine/config/detector/framework_map.js.map +1 -0
  281. package/dist/engine/config/detector/index.d.ts +12 -0
  282. package/dist/engine/config/detector/index.d.ts.map +1 -0
  283. package/dist/engine/config/detector/index.js +12 -0
  284. package/dist/engine/config/detector/index.js.map +1 -0
  285. package/dist/engine/config/detector/verify.d.ts +32 -0
  286. package/dist/engine/config/detector/verify.d.ts.map +1 -0
  287. package/dist/engine/config/detector/verify.js +107 -0
  288. package/dist/engine/config/detector/verify.js.map +1 -0
  289. package/dist/engine/config/intent.d.ts +26 -0
  290. package/dist/engine/config/intent.d.ts.map +1 -0
  291. package/dist/engine/config/intent.js +81 -0
  292. package/dist/engine/config/intent.js.map +1 -0
  293. package/dist/engine/config/intent_schema.d.ts +873 -0
  294. package/dist/engine/config/intent_schema.d.ts.map +1 -0
  295. package/dist/engine/config/intent_schema.js +98 -0
  296. package/dist/engine/config/intent_schema.js.map +1 -0
  297. package/dist/engine/config/regression_matrix.d.ts.map +1 -0
  298. package/dist/engine/config/regression_matrix.js +389 -0
  299. package/dist/engine/config/regression_matrix.js.map +1 -0
  300. package/dist/engine/config/resolver.d.ts +136 -0
  301. package/dist/engine/config/resolver.d.ts.map +1 -0
  302. package/dist/engine/config/resolver.js +251 -0
  303. package/dist/engine/config/resolver.js.map +1 -0
  304. package/dist/engine/context_engine/bootstrap.d.ts +12 -0
  305. package/dist/engine/context_engine/bootstrap.d.ts.map +1 -0
  306. package/dist/engine/context_engine/bootstrap.js +28 -0
  307. package/dist/engine/context_engine/bootstrap.js.map +1 -0
  308. package/dist/engine/context_engine/companion_injector.d.ts +49 -0
  309. package/dist/engine/context_engine/companion_injector.d.ts.map +1 -0
  310. package/dist/engine/context_engine/companion_injector.js +157 -0
  311. package/dist/engine/context_engine/companion_injector.js.map +1 -0
  312. package/dist/engine/context_engine/context_resolver.d.ts +46 -0
  313. package/dist/engine/context_engine/context_resolver.d.ts.map +1 -0
  314. package/dist/engine/context_engine/context_resolver.js +139 -0
  315. package/dist/engine/context_engine/context_resolver.js.map +1 -0
  316. package/dist/engine/context_engine/index.d.ts +25 -0
  317. package/dist/engine/context_engine/index.d.ts.map +1 -0
  318. package/dist/engine/context_engine/index.js +25 -0
  319. package/dist/engine/context_engine/index.js.map +1 -0
  320. package/dist/engine/context_engine/view_registry.d.ts +45 -0
  321. package/dist/engine/context_engine/view_registry.d.ts.map +1 -0
  322. package/dist/engine/context_engine/view_registry.js +36 -0
  323. package/dist/engine/context_engine/view_registry.js.map +1 -0
  324. package/dist/engine/context_engine/views/change_impact.d.ts +34 -0
  325. package/dist/engine/context_engine/views/change_impact.d.ts.map +1 -0
  326. package/dist/engine/context_engine/views/change_impact.js +288 -0
  327. package/dist/engine/context_engine/views/change_impact.js.map +1 -0
  328. package/dist/engine/context_engine/views/coverage_gap.d.ts +45 -0
  329. package/dist/engine/context_engine/views/coverage_gap.d.ts.map +1 -0
  330. package/dist/engine/context_engine/views/coverage_gap.js +238 -0
  331. package/dist/engine/context_engine/views/coverage_gap.js.map +1 -0
  332. package/dist/engine/context_engine/views/dependency_graph.d.ts +45 -0
  333. package/dist/engine/context_engine/views/dependency_graph.d.ts.map +1 -0
  334. package/dist/engine/context_engine/views/dependency_graph.js +358 -0
  335. package/dist/engine/context_engine/views/dependency_graph.js.map +1 -0
  336. package/dist/engine/context_engine/views/file_impact.d.ts +46 -0
  337. package/dist/engine/context_engine/views/file_impact.d.ts.map +1 -0
  338. package/dist/engine/context_engine/views/file_impact.js +181 -0
  339. package/dist/engine/context_engine/views/file_impact.js.map +1 -0
  340. package/dist/engine/context_engine/views/knowledge_ref.d.ts +37 -0
  341. package/dist/engine/context_engine/views/knowledge_ref.d.ts.map +1 -0
  342. package/dist/engine/context_engine/views/knowledge_ref.js +264 -0
  343. package/dist/engine/context_engine/views/knowledge_ref.js.map +1 -0
  344. package/dist/engine/context_engine/views/reference_trace.d.ts +49 -0
  345. package/dist/engine/context_engine/views/reference_trace.d.ts.map +1 -0
  346. package/dist/engine/context_engine/views/reference_trace.js +227 -0
  347. package/dist/engine/context_engine/views/reference_trace.js.map +1 -0
  348. package/dist/engine/contracts/architecture_decision_workshop.d.ts +63 -0
  349. package/dist/engine/contracts/architecture_decision_workshop.d.ts.map +1 -0
  350. package/dist/engine/contracts/architecture_decision_workshop.js +122 -0
  351. package/dist/engine/contracts/architecture_decision_workshop.js.map +1 -0
  352. package/dist/engine/contracts/architecture_design_contract.d.ts.map +1 -0
  353. package/dist/engine/contracts/architecture_design_contract.js.map +1 -0
  354. package/dist/engine/contracts/artifact_contract_registry.d.ts +138 -0
  355. package/dist/engine/contracts/artifact_contract_registry.d.ts.map +1 -0
  356. package/dist/engine/contracts/artifact_contract_registry.js +420 -0
  357. package/dist/engine/contracts/artifact_contract_registry.js.map +1 -0
  358. package/dist/engine/contracts/artifact_process_rules.d.ts +46 -0
  359. package/dist/engine/contracts/artifact_process_rules.d.ts.map +1 -0
  360. package/dist/engine/contracts/artifact_process_rules.js +396 -0
  361. package/dist/engine/contracts/artifact_process_rules.js.map +1 -0
  362. package/dist/engine/contracts/artifact_schema_registry.d.ts +139 -0
  363. package/dist/engine/contracts/artifact_schema_registry.d.ts.map +1 -0
  364. package/dist/engine/contracts/artifact_schema_registry.js +803 -0
  365. package/dist/engine/contracts/artifact_schema_registry.js.map +1 -0
  366. package/dist/engine/contracts/backend_implementation_contract.d.ts.map +1 -0
  367. package/dist/engine/contracts/backend_implementation_contract.js +164 -0
  368. package/dist/engine/contracts/backend_implementation_contract.js.map +1 -0
  369. package/dist/engine/contracts/behavior_coverage_verifier.d.ts +35 -0
  370. package/dist/engine/contracts/behavior_coverage_verifier.d.ts.map +1 -0
  371. package/dist/engine/contracts/behavior_coverage_verifier.js +220 -0
  372. package/dist/engine/contracts/behavior_coverage_verifier.js.map +1 -0
  373. package/dist/engine/contracts/brainstorm_contract.d.ts +48 -0
  374. package/dist/engine/contracts/brainstorm_contract.d.ts.map +1 -0
  375. package/dist/engine/contracts/brainstorm_contract.js +146 -0
  376. package/dist/engine/contracts/brainstorm_contract.js.map +1 -0
  377. package/dist/engine/contracts/capability_action_advisor.d.ts.map +1 -0
  378. package/dist/engine/contracts/capability_action_advisor.js +158 -0
  379. package/dist/engine/contracts/capability_action_advisor.js.map +1 -0
  380. package/dist/engine/contracts/capability_registry.d.ts.map +1 -0
  381. package/dist/engine/contracts/capability_registry.js +778 -0
  382. package/dist/engine/contracts/capability_registry.js.map +1 -0
  383. package/dist/engine/contracts/capability_state_store.d.ts +115 -0
  384. package/dist/engine/contracts/capability_state_store.d.ts.map +1 -0
  385. package/dist/engine/contracts/capability_state_store.js +182 -0
  386. package/dist/engine/contracts/capability_state_store.js.map +1 -0
  387. package/dist/engine/contracts/code_maintainability_observability_contract.d.ts.map +1 -0
  388. package/dist/engine/contracts/code_maintainability_observability_contract.js +711 -0
  389. package/dist/engine/contracts/code_maintainability_observability_contract.js.map +1 -0
  390. package/dist/engine/contracts/coding_readiness_gate.d.ts +46 -0
  391. package/dist/engine/contracts/coding_readiness_gate.d.ts.map +1 -0
  392. package/dist/engine/contracts/coding_readiness_gate.js +175 -0
  393. package/dist/engine/contracts/coding_readiness_gate.js.map +1 -0
  394. package/dist/engine/contracts/command_execution_contract.d.ts +216 -0
  395. package/dist/engine/contracts/command_execution_contract.d.ts.map +1 -0
  396. package/dist/engine/contracts/command_execution_contract.js +562 -0
  397. package/dist/engine/contracts/command_execution_contract.js.map +1 -0
  398. package/dist/engine/contracts/contract_guard.d.ts +37 -0
  399. package/dist/engine/contracts/contract_guard.d.ts.map +1 -0
  400. package/dist/engine/contracts/contract_guard.js +598 -0
  401. package/dist/engine/contracts/contract_guard.js.map +1 -0
  402. package/dist/engine/contracts/contract_registry/builtin_contracts_core.d.ts +10 -0
  403. package/dist/engine/contracts/contract_registry/builtin_contracts_core.d.ts.map +1 -0
  404. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js +300 -0
  405. package/dist/engine/contracts/contract_registry/builtin_contracts_core.js.map +1 -0
  406. package/dist/engine/contracts/contract_registry/builtin_contracts_core_2.d.ts +10 -0
  407. package/dist/engine/contracts/contract_registry/builtin_contracts_core_2.d.ts.map +1 -0
  408. package/dist/engine/contracts/contract_registry/builtin_contracts_core_2.js +298 -0
  409. package/dist/engine/contracts/contract_registry/builtin_contracts_core_2.js.map +1 -0
  410. package/dist/engine/contracts/contract_registry/builtin_contracts_extended.d.ts +13 -0
  411. package/dist/engine/contracts/contract_registry/builtin_contracts_extended.d.ts.map +1 -0
  412. package/dist/engine/contracts/contract_registry/builtin_contracts_extended.js +494 -0
  413. package/dist/engine/contracts/contract_registry/builtin_contracts_extended.js.map +1 -0
  414. package/dist/engine/contracts/contract_registry/index.d.ts +8 -0
  415. package/dist/engine/contracts/contract_registry/index.d.ts.map +1 -0
  416. package/dist/engine/contracts/contract_registry/index.js +7 -0
  417. package/dist/engine/contracts/contract_registry/index.js.map +1 -0
  418. package/dist/engine/contracts/contract_registry/registry.d.ts +61 -0
  419. package/dist/engine/contracts/contract_registry/registry.d.ts.map +1 -0
  420. package/dist/engine/contracts/contract_registry/registry.js +191 -0
  421. package/dist/engine/contracts/contract_registry/registry.js.map +1 -0
  422. package/dist/engine/contracts/contract_registry/registry_internal.d.ts +12 -0
  423. package/dist/engine/contracts/contract_registry/registry_internal.d.ts.map +1 -0
  424. package/dist/engine/contracts/contract_registry/registry_internal.js +47 -0
  425. package/dist/engine/contracts/contract_registry/registry_internal.js.map +1 -0
  426. package/dist/engine/contracts/contract_registry/types.d.ts +47 -0
  427. package/dist/engine/contracts/contract_registry/types.d.ts.map +1 -0
  428. package/dist/engine/contracts/contract_registry/types.js +5 -0
  429. package/dist/engine/contracts/contract_registry/types.js.map +1 -0
  430. package/dist/engine/contracts/contract_registry/validation.d.ts +18 -0
  431. package/dist/engine/contracts/contract_registry/validation.d.ts.map +1 -0
  432. package/dist/engine/contracts/contract_registry/validation.js +339 -0
  433. package/dist/engine/contracts/contract_registry/validation.js.map +1 -0
  434. package/dist/engine/contracts/contract_registry.d.ts +9 -0
  435. package/dist/engine/contracts/contract_registry.d.ts.map +1 -0
  436. package/dist/engine/contracts/contract_registry.js +8 -0
  437. package/dist/engine/contracts/contract_registry.js.map +1 -0
  438. package/dist/engine/contracts/contract_state_store.d.ts +69 -0
  439. package/dist/engine/contracts/contract_state_store.d.ts.map +1 -0
  440. package/dist/engine/contracts/contract_state_store.js +170 -0
  441. package/dist/engine/contracts/contract_state_store.js.map +1 -0
  442. package/dist/engine/contracts/control_plane_contract.d.ts.map +1 -0
  443. package/dist/engine/contracts/control_plane_contract.js +266 -0
  444. package/dist/engine/contracts/control_plane_contract.js.map +1 -0
  445. package/dist/engine/contracts/decision_contract.d.ts +38 -0
  446. package/dist/engine/contracts/decision_contract.d.ts.map +1 -0
  447. package/dist/engine/contracts/decision_contract.js +57 -0
  448. package/dist/engine/contracts/decision_contract.js.map +1 -0
  449. package/dist/engine/contracts/decision_workshop.d.ts +166 -0
  450. package/dist/engine/contracts/decision_workshop.d.ts.map +1 -0
  451. package/dist/engine/contracts/decision_workshop.js.map +1 -0
  452. package/dist/engine/contracts/design_artifact_pack.d.ts +13 -0
  453. package/dist/engine/contracts/design_artifact_pack.d.ts.map +1 -0
  454. package/dist/engine/contracts/design_artifact_pack.js.map +1 -0
  455. package/dist/engine/contracts/design_lifecycle_contract.d.ts +60 -0
  456. package/dist/engine/contracts/design_lifecycle_contract.d.ts.map +1 -0
  457. package/dist/engine/contracts/design_lifecycle_contract.js +505 -0
  458. package/dist/engine/contracts/design_lifecycle_contract.js.map +1 -0
  459. package/dist/engine/contracts/detail_discipline.d.ts.map +1 -0
  460. package/dist/engine/contracts/detail_discipline.js.map +1 -0
  461. package/dist/engine/contracts/dual_layer_mechanism_registry/index.d.ts +9 -0
  462. package/dist/engine/contracts/dual_layer_mechanism_registry/index.d.ts.map +1 -0
  463. package/dist/engine/contracts/dual_layer_mechanism_registry/index.js +8 -0
  464. package/dist/engine/contracts/dual_layer_mechanism_registry/index.js.map +1 -0
  465. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.d.ts +7 -0
  466. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.d.ts.map +1 -0
  467. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js +414 -0
  468. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js.map +1 -0
  469. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.d.ts +7 -0
  470. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.d.ts.map +1 -0
  471. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js +81 -0
  472. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js.map +1 -0
  473. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.d.ts +7 -0
  474. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.d.ts.map +1 -0
  475. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js +448 -0
  476. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js.map +1 -0
  477. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.d.ts +7 -0
  478. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.d.ts.map +1 -0
  479. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js +445 -0
  480. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js.map +1 -0
  481. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.d.ts +7 -0
  482. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.d.ts.map +1 -0
  483. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js +274 -0
  484. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js.map +1 -0
  485. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.d.ts +7 -0
  486. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.d.ts.map +1 -0
  487. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js +247 -0
  488. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js.map +1 -0
  489. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.d.ts +7 -0
  490. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.d.ts.map +1 -0
  491. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js +470 -0
  492. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js.map +1 -0
  493. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.d.ts +7 -0
  494. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.d.ts.map +1 -0
  495. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js +320 -0
  496. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js.map +1 -0
  497. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.d.ts +8 -0
  498. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.d.ts.map +1 -0
  499. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js +60 -0
  500. package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js.map +1 -0
  501. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.d.ts +68 -0
  502. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.d.ts.map +1 -0
  503. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js +354 -0
  504. package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js.map +1 -0
  505. package/dist/engine/contracts/dual_layer_mechanism_registry.d.ts +9 -0
  506. package/dist/engine/contracts/dual_layer_mechanism_registry.d.ts.map +1 -0
  507. package/dist/engine/contracts/dual_layer_mechanism_registry.js +8 -0
  508. package/dist/engine/contracts/dual_layer_mechanism_registry.js.map +1 -0
  509. package/dist/engine/contracts/enforcement_guard.d.ts +110 -0
  510. package/dist/engine/contracts/enforcement_guard.d.ts.map +1 -0
  511. package/dist/engine/contracts/enforcement_guard.js +473 -0
  512. package/dist/engine/contracts/enforcement_guard.js.map +1 -0
  513. package/dist/engine/contracts/error_path_verifier.d.ts +36 -0
  514. package/dist/engine/contracts/error_path_verifier.d.ts.map +1 -0
  515. package/dist/engine/contracts/error_path_verifier.js +131 -0
  516. package/dist/engine/contracts/error_path_verifier.js.map +1 -0
  517. package/dist/engine/contracts/escape_report.d.ts.map +1 -0
  518. package/dist/engine/contracts/escape_report.js +137 -0
  519. package/dist/engine/contracts/escape_report.js.map +1 -0
  520. package/dist/engine/contracts/evidence_grounding_contract.d.ts +135 -0
  521. package/dist/engine/contracts/evidence_grounding_contract.d.ts.map +1 -0
  522. package/dist/engine/contracts/evidence_grounding_contract.js +404 -0
  523. package/dist/engine/contracts/evidence_grounding_contract.js.map +1 -0
  524. package/dist/engine/contracts/evolution_regression_gate.d.ts +44 -0
  525. package/dist/engine/contracts/evolution_regression_gate.d.ts.map +1 -0
  526. package/dist/engine/contracts/evolution_regression_gate.js +161 -0
  527. package/dist/engine/contracts/evolution_regression_gate.js.map +1 -0
  528. package/dist/engine/contracts/existing_system_analysis.d.ts.map +1 -0
  529. package/dist/engine/contracts/existing_system_analysis.js.map +1 -0
  530. package/dist/engine/contracts/existing_system_analyzer.d.ts +153 -0
  531. package/dist/engine/contracts/existing_system_analyzer.d.ts.map +1 -0
  532. package/dist/engine/contracts/existing_system_analyzer.js +615 -0
  533. package/dist/engine/contracts/existing_system_analyzer.js.map +1 -0
  534. package/dist/engine/contracts/extension_contract.d.ts +50 -0
  535. package/dist/engine/contracts/extension_contract.d.ts.map +1 -0
  536. package/dist/engine/contracts/extension_contract.js +158 -0
  537. package/dist/engine/contracts/extension_contract.js.map +1 -0
  538. package/dist/engine/contracts/extension_platform_contracts.d.ts +716 -0
  539. package/dist/engine/contracts/extension_platform_contracts.d.ts.map +1 -0
  540. package/dist/engine/contracts/extension_platform_contracts.js +41 -0
  541. package/dist/engine/contracts/extension_platform_contracts.js.map +1 -0
  542. package/dist/engine/contracts/extension_scenario_definitions.d.ts +10 -0
  543. package/dist/engine/contracts/extension_scenario_definitions.d.ts.map +1 -0
  544. package/dist/engine/contracts/extension_scenario_definitions.js +112 -0
  545. package/dist/engine/contracts/extension_scenario_definitions.js.map +1 -0
  546. package/dist/engine/contracts/extension_scenario_registry.d.ts +24 -0
  547. package/dist/engine/contracts/extension_scenario_registry.d.ts.map +1 -0
  548. package/dist/engine/contracts/extension_scenario_registry.js +711 -0
  549. package/dist/engine/contracts/extension_scenario_registry.js.map +1 -0
  550. package/dist/engine/contracts/first_principles.d.ts +84 -0
  551. package/dist/engine/contracts/first_principles.d.ts.map +1 -0
  552. package/dist/engine/contracts/first_principles.js +197 -0
  553. package/dist/engine/contracts/first_principles.js.map +1 -0
  554. package/dist/engine/contracts/instruction_contract.d.ts +81 -0
  555. package/dist/engine/contracts/instruction_contract.d.ts.map +1 -0
  556. package/dist/engine/contracts/instruction_contract.js +178 -0
  557. package/dist/engine/contracts/instruction_contract.js.map +1 -0
  558. package/dist/engine/contracts/lazy_pattern_detector.d.ts +43 -0
  559. package/dist/engine/contracts/lazy_pattern_detector.d.ts.map +1 -0
  560. package/dist/engine/contracts/lazy_pattern_detector.js +164 -0
  561. package/dist/engine/contracts/lazy_pattern_detector.js.map +1 -0
  562. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts +59 -0
  563. package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts.map +1 -0
  564. package/dist/engine/contracts/lifecycle_knowledge_contract.js +203 -0
  565. package/dist/engine/contracts/lifecycle_knowledge_contract.js.map +1 -0
  566. package/dist/engine/contracts/local_docker_acceptance.d.ts +94 -0
  567. package/dist/engine/contracts/local_docker_acceptance.d.ts.map +1 -0
  568. package/dist/engine/contracts/local_docker_acceptance.js +312 -0
  569. package/dist/engine/contracts/local_docker_acceptance.js.map +1 -0
  570. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts +13 -0
  571. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +1 -0
  572. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js +422 -0
  573. package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js.map +1 -0
  574. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.d.ts +14 -0
  575. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.d.ts.map +1 -0
  576. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js +444 -0
  577. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js.map +1 -0
  578. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +11 -0
  579. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +1 -0
  580. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js +246 -0
  581. package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js.map +1 -0
  582. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.d.ts +15 -0
  583. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.d.ts.map +1 -0
  584. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js +378 -0
  585. package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js.map +1 -0
  586. package/dist/engine/contracts/mechanism_contract_registry/index.d.ts +19 -0
  587. package/dist/engine/contracts/mechanism_contract_registry/index.d.ts.map +1 -0
  588. package/dist/engine/contracts/mechanism_contract_registry/index.js +21 -0
  589. package/dist/engine/contracts/mechanism_contract_registry/index.js.map +1 -0
  590. package/dist/engine/contracts/mechanism_contract_registry/types.d.ts +33 -0
  591. package/dist/engine/contracts/mechanism_contract_registry/types.d.ts.map +1 -0
  592. package/dist/engine/contracts/mechanism_contract_registry/types.js +5 -0
  593. package/dist/engine/contracts/mechanism_contract_registry/types.js.map +1 -0
  594. package/dist/engine/contracts/mechanism_contract_registry/validation.d.ts +28 -0
  595. package/dist/engine/contracts/mechanism_contract_registry/validation.d.ts.map +1 -0
  596. package/dist/engine/contracts/mechanism_contract_registry/validation.js +124 -0
  597. package/dist/engine/contracts/mechanism_contract_registry/validation.js.map +1 -0
  598. package/dist/engine/contracts/mechanism_contract_registry.d.ts +8 -0
  599. package/dist/engine/contracts/mechanism_contract_registry.d.ts.map +1 -0
  600. package/dist/engine/contracts/mechanism_contract_registry.js +7 -0
  601. package/dist/engine/contracts/mechanism_contract_registry.js.map +1 -0
  602. package/dist/engine/contracts/mechanism_health_check.d.ts +25 -0
  603. package/dist/engine/contracts/mechanism_health_check.d.ts.map +1 -0
  604. package/dist/engine/contracts/mechanism_health_check.js +143 -0
  605. package/dist/engine/contracts/mechanism_health_check.js.map +1 -0
  606. package/dist/engine/contracts/metric_governance.d.ts.map +1 -0
  607. package/dist/engine/contracts/metric_governance.js.map +1 -0
  608. package/dist/engine/contracts/omission_scanner.d.ts +83 -0
  609. package/dist/engine/contracts/omission_scanner.d.ts.map +1 -0
  610. package/dist/engine/contracts/omission_scanner.js +191 -0
  611. package/dist/engine/contracts/omission_scanner.js.map +1 -0
  612. package/dist/engine/contracts/ood_solid_contract.d.ts.map +1 -0
  613. package/dist/engine/contracts/ood_solid_contract.js +115 -0
  614. package/dist/engine/contracts/ood_solid_contract.js.map +1 -0
  615. package/dist/engine/contracts/platform_context.d.ts +46 -0
  616. package/dist/engine/contracts/platform_context.d.ts.map +1 -0
  617. package/dist/engine/contracts/platform_context.js +171 -0
  618. package/dist/engine/contracts/platform_context.js.map +1 -0
  619. package/dist/engine/contracts/project_knowledge_contract.d.ts +133 -0
  620. package/dist/engine/contracts/project_knowledge_contract.d.ts.map +1 -0
  621. package/dist/engine/contracts/project_knowledge_contract.js +559 -0
  622. package/dist/engine/contracts/project_knowledge_contract.js.map +1 -0
  623. package/dist/engine/contracts/slice_fix_loop.d.ts +86 -0
  624. package/dist/engine/contracts/slice_fix_loop.d.ts.map +1 -0
  625. package/dist/engine/contracts/slice_fix_loop.js +98 -0
  626. package/dist/engine/contracts/slice_fix_loop.js.map +1 -0
  627. package/dist/engine/contracts/state_machine_contracts.d.ts +17 -0
  628. package/dist/engine/contracts/state_machine_contracts.d.ts.map +1 -0
  629. package/dist/engine/contracts/state_machine_contracts.js +97 -0
  630. package/dist/engine/contracts/state_machine_contracts.js.map +1 -0
  631. package/dist/engine/contracts/technology_decision.d.ts +58 -0
  632. package/dist/engine/contracts/technology_decision.d.ts.map +1 -0
  633. package/dist/engine/contracts/technology_decision.js +175 -0
  634. package/dist/engine/contracts/technology_decision.js.map +1 -0
  635. package/dist/engine/contracts/template_schema_loader.d.ts +79 -0
  636. package/dist/engine/contracts/template_schema_loader.d.ts.map +1 -0
  637. package/dist/engine/contracts/template_schema_loader.js +301 -0
  638. package/dist/engine/contracts/template_schema_loader.js.map +1 -0
  639. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts +76 -0
  640. package/dist/engine/contracts/tool_invocation_contract_registry.d.ts.map +1 -0
  641. package/dist/engine/contracts/tool_invocation_contract_registry.js +782 -0
  642. package/dist/engine/contracts/tool_invocation_contract_registry.js.map +1 -0
  643. package/dist/engine/contracts/traceability.d.ts +49 -0
  644. package/dist/engine/contracts/traceability.d.ts.map +1 -0
  645. package/dist/engine/contracts/traceability.js +470 -0
  646. package/dist/engine/contracts/traceability.js.map +1 -0
  647. package/dist/engine/contracts/user_feedback_contract.d.ts +162 -0
  648. package/dist/engine/contracts/user_feedback_contract.d.ts.map +1 -0
  649. package/dist/engine/contracts/user_feedback_contract.js +415 -0
  650. package/dist/engine/contracts/user_feedback_contract.js.map +1 -0
  651. package/dist/engine/contracts/user_promise.d.ts +67 -0
  652. package/dist/engine/contracts/user_promise.d.ts.map +1 -0
  653. package/dist/engine/contracts/user_promise.js +436 -0
  654. package/dist/engine/contracts/user_promise.js.map +1 -0
  655. package/dist/engine/contracts/verification_contract.d.ts.map +1 -0
  656. package/dist/engine/contracts/verification_contract.js.map +1 -0
  657. package/dist/engine/contracts/workflow_template_pack.d.ts +71 -0
  658. package/dist/engine/contracts/workflow_template_pack.d.ts.map +1 -0
  659. package/dist/engine/contracts/workflow_template_pack.js +246 -0
  660. package/dist/engine/contracts/workflow_template_pack.js.map +1 -0
  661. package/dist/engine/convention_detector.js +1 -1
  662. package/dist/engine/convention_detector.js.map +1 -1
  663. package/dist/engine/core/config_defaults.d.ts +11 -0
  664. package/dist/engine/core/config_defaults.d.ts.map +1 -0
  665. package/dist/engine/core/config_defaults.js +11 -0
  666. package/dist/engine/core/config_defaults.js.map +1 -0
  667. package/dist/engine/core/debug_log.d.ts +5 -0
  668. package/dist/engine/core/debug_log.d.ts.map +1 -0
  669. package/dist/engine/core/debug_log.js +5 -0
  670. package/dist/engine/core/debug_log.js.map +1 -0
  671. package/dist/engine/core/denied_paths.d.ts +25 -0
  672. package/dist/engine/core/denied_paths.d.ts.map +1 -0
  673. package/dist/engine/core/denied_paths.js +57 -0
  674. package/dist/engine/core/denied_paths.js.map +1 -0
  675. package/dist/engine/core/env.d.ts +12 -0
  676. package/dist/engine/core/env.d.ts.map +1 -0
  677. package/dist/engine/core/env.js +12 -0
  678. package/dist/engine/core/env.js.map +1 -0
  679. package/dist/engine/core/errors.d.ts +21 -0
  680. package/dist/engine/core/errors.d.ts.map +1 -0
  681. package/dist/engine/core/errors.js +35 -0
  682. package/dist/engine/core/errors.js.map +1 -0
  683. package/dist/engine/core/exit_codes.d.ts +14 -0
  684. package/dist/engine/core/exit_codes.d.ts.map +1 -0
  685. package/dist/engine/core/exit_codes.js +14 -0
  686. package/dist/engine/core/exit_codes.js.map +1 -0
  687. package/dist/engine/core/fail_closed.d.ts +39 -0
  688. package/dist/engine/core/fail_closed.d.ts.map +1 -0
  689. package/dist/engine/core/fail_closed.js +38 -0
  690. package/dist/engine/core/fail_closed.js.map +1 -0
  691. package/dist/engine/core/helpers.d.ts +24 -0
  692. package/dist/engine/core/helpers.d.ts.map +1 -0
  693. package/dist/engine/core/helpers.js +44 -0
  694. package/dist/engine/core/helpers.js.map +1 -0
  695. package/dist/engine/core/index.d.ts +17 -0
  696. package/dist/engine/core/index.d.ts.map +1 -0
  697. package/dist/engine/core/index.js +24 -0
  698. package/dist/engine/core/index.js.map +1 -0
  699. package/dist/engine/core/io_controller.d.ts +88 -0
  700. package/dist/engine/core/io_controller.d.ts.map +1 -0
  701. package/dist/engine/core/io_controller.js +219 -0
  702. package/dist/engine/core/io_controller.js.map +1 -0
  703. package/dist/engine/core/knowledge_config_loader.d.ts +28 -0
  704. package/dist/engine/core/knowledge_config_loader.d.ts.map +1 -0
  705. package/dist/engine/core/knowledge_config_loader.js +102 -0
  706. package/dist/engine/core/knowledge_config_loader.js.map +1 -0
  707. package/dist/engine/core/llm_gateway.d.ts +184 -0
  708. package/dist/engine/core/llm_gateway.d.ts.map +1 -0
  709. package/dist/engine/core/llm_gateway.js +374 -0
  710. package/dist/engine/core/llm_gateway.js.map +1 -0
  711. package/dist/engine/core/log_governance.d.ts.map +1 -0
  712. package/dist/engine/core/log_governance.js +71 -0
  713. package/dist/engine/core/log_governance.js.map +1 -0
  714. package/dist/engine/core/logger.d.ts.map +1 -0
  715. package/dist/engine/core/logger.js +118 -0
  716. package/dist/engine/core/logger.js.map +1 -0
  717. package/dist/engine/core/path_scope_utils.d.ts +21 -0
  718. package/dist/engine/core/path_scope_utils.d.ts.map +1 -0
  719. package/dist/engine/core/path_scope_utils.js +126 -0
  720. package/dist/engine/core/path_scope_utils.js.map +1 -0
  721. package/dist/engine/core/paths.d.ts +90 -0
  722. package/dist/engine/core/paths.d.ts.map +1 -0
  723. package/dist/engine/core/paths.js +109 -0
  724. package/dist/engine/core/paths.js.map +1 -0
  725. package/dist/engine/core/write_file_atomic.d.ts +25 -0
  726. package/dist/engine/core/write_file_atomic.d.ts.map +1 -0
  727. package/dist/engine/core/write_file_atomic.js +63 -0
  728. package/dist/engine/core/write_file_atomic.js.map +1 -0
  729. package/dist/engine/dependency_scanner.d.ts +1 -1
  730. package/dist/engine/dependency_scanner.d.ts.map +1 -1
  731. package/dist/engine/dependency_scanner.js +16 -18
  732. package/dist/engine/dependency_scanner.js.map +1 -1
  733. package/dist/engine/exploration.d.ts +1 -1
  734. package/dist/engine/exploration.d.ts.map +1 -1
  735. package/dist/engine/exploration.js +11 -10
  736. package/dist/engine/exploration.js.map +1 -1
  737. package/dist/engine/feasibility_checker.d.ts +1 -1
  738. package/dist/engine/feasibility_checker.d.ts.map +1 -1
  739. package/dist/engine/feasibility_checker.js +2 -2
  740. package/dist/engine/feasibility_checker.js.map +1 -1
  741. package/dist/engine/impact_analyzer.d.ts +1 -1
  742. package/dist/engine/impact_analyzer.d.ts.map +1 -1
  743. package/dist/engine/impact_analyzer.js +3 -3
  744. package/dist/engine/impact_analyzer.js.map +1 -1
  745. package/dist/engine/knowledge/chinese_semantic_priority.d.ts.map +1 -0
  746. package/dist/engine/knowledge/chinese_semantic_priority.js.map +1 -0
  747. package/dist/engine/knowledge/documentation_governance.d.ts.map +1 -0
  748. package/dist/engine/knowledge/documentation_governance.js.map +1 -0
  749. package/dist/engine/knowledge/drift_classifier.d.ts +26 -0
  750. package/dist/engine/knowledge/drift_classifier.d.ts.map +1 -0
  751. package/dist/engine/knowledge/drift_classifier.js +82 -0
  752. package/dist/engine/knowledge/drift_classifier.js.map +1 -0
  753. package/dist/engine/knowledge/knowledge_acceptance_registry.d.ts.map +1 -0
  754. package/dist/engine/knowledge/knowledge_acceptance_registry.js +261 -0
  755. package/dist/engine/knowledge/knowledge_acceptance_registry.js.map +1 -0
  756. package/dist/engine/knowledge/knowledge_asset_audit.d.ts.map +1 -0
  757. package/dist/engine/knowledge/knowledge_asset_audit.js +231 -0
  758. package/dist/engine/knowledge/knowledge_asset_audit.js.map +1 -0
  759. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts +157 -0
  760. package/dist/engine/knowledge/knowledge_asset_consumer.d.ts.map +1 -0
  761. package/dist/engine/knowledge/knowledge_asset_consumer.js +288 -0
  762. package/dist/engine/knowledge/knowledge_asset_consumer.js.map +1 -0
  763. package/dist/engine/knowledge/knowledge_asset_generation_gate.d.ts.map +1 -0
  764. package/dist/engine/knowledge/knowledge_asset_generation_gate.js.map +1 -0
  765. package/dist/engine/knowledge/knowledge_asset_migration.d.ts.map +1 -0
  766. package/dist/engine/knowledge/knowledge_asset_migration.js +204 -0
  767. package/dist/engine/knowledge/knowledge_asset_migration.js.map +1 -0
  768. package/dist/engine/knowledge/knowledge_asset_schema.d.ts +102 -0
  769. package/dist/engine/knowledge/knowledge_asset_schema.d.ts.map +1 -0
  770. package/dist/engine/knowledge/knowledge_asset_schema.js +427 -0
  771. package/dist/engine/knowledge/knowledge_asset_schema.js.map +1 -0
  772. package/dist/engine/knowledge/knowledge_config_loader.d.ts.map +1 -0
  773. package/dist/engine/knowledge/knowledge_config_loader.js +144 -0
  774. package/dist/engine/knowledge/knowledge_config_loader.js.map +1 -0
  775. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts +91 -0
  776. package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts.map +1 -0
  777. package/dist/engine/knowledge/knowledge_consumption_snapshot.js +113 -0
  778. package/dist/engine/knowledge/knowledge_consumption_snapshot.js.map +1 -0
  779. package/dist/engine/knowledge/knowledge_evolution.d.ts +66 -0
  780. package/dist/engine/knowledge/knowledge_evolution.d.ts.map +1 -0
  781. package/dist/engine/knowledge/knowledge_evolution.js +200 -0
  782. package/dist/engine/knowledge/knowledge_evolution.js.map +1 -0
  783. package/dist/engine/knowledge/knowledge_governance_gate.d.ts +41 -0
  784. package/dist/engine/knowledge/knowledge_governance_gate.d.ts.map +1 -0
  785. package/dist/engine/knowledge/knowledge_governance_gate.js +123 -0
  786. package/dist/engine/knowledge/knowledge_governance_gate.js.map +1 -0
  787. package/dist/engine/knowledge/knowledge_health.d.ts +44 -0
  788. package/dist/engine/knowledge/knowledge_health.d.ts.map +1 -0
  789. package/dist/engine/knowledge/knowledge_health.js +305 -0
  790. package/dist/engine/knowledge/knowledge_health.js.map +1 -0
  791. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts +108 -0
  792. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -0
  793. package/dist/engine/knowledge/knowledge_injection_boundary.js +760 -0
  794. package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -0
  795. package/dist/engine/knowledge/knowledge_lifecycle.d.ts +97 -0
  796. package/dist/engine/knowledge/knowledge_lifecycle.d.ts.map +1 -0
  797. package/dist/engine/knowledge/knowledge_lifecycle.js +299 -0
  798. package/dist/engine/knowledge/knowledge_lifecycle.js.map +1 -0
  799. package/dist/engine/knowledge/knowledge_manager.d.ts +3 -0
  800. package/dist/engine/knowledge/knowledge_manager.d.ts.map +1 -0
  801. package/dist/engine/knowledge/knowledge_manager.js +5 -0
  802. package/dist/engine/knowledge/knowledge_manager.js.map +1 -0
  803. package/dist/engine/knowledge/knowledge_scenario_registry.d.ts +21 -0
  804. package/dist/engine/knowledge/knowledge_scenario_registry.d.ts.map +1 -0
  805. package/dist/engine/knowledge/knowledge_scenario_registry.js +329 -0
  806. package/dist/engine/knowledge/knowledge_scenario_registry.js.map +1 -0
  807. package/dist/engine/knowledge/knowledge_sovereignty.d.ts.map +1 -0
  808. package/dist/engine/knowledge/knowledge_sovereignty.js +196 -0
  809. package/dist/engine/knowledge/knowledge_sovereignty.js.map +1 -0
  810. package/dist/engine/knowledge/knowledge_template_contracts.d.ts +243 -0
  811. package/dist/engine/knowledge/knowledge_template_contracts.d.ts.map +1 -0
  812. package/dist/engine/knowledge/knowledge_template_contracts.js.map +1 -0
  813. package/dist/engine/knowledge/knowledge_writer.d.ts +108 -0
  814. package/dist/engine/knowledge/knowledge_writer.d.ts.map +1 -0
  815. package/dist/engine/knowledge/knowledge_writer.js +637 -0
  816. package/dist/engine/knowledge/knowledge_writer.js.map +1 -0
  817. package/dist/engine/knowledge/language_policy.d.ts +78 -0
  818. package/dist/engine/knowledge/language_policy.d.ts.map +1 -0
  819. package/dist/engine/knowledge/language_policy.js +139 -0
  820. package/dist/engine/knowledge/language_policy.js.map +1 -0
  821. package/dist/engine/knowledge/language_policy_contract.d.ts.map +1 -0
  822. package/dist/engine/knowledge/language_policy_contract.js.map +1 -0
  823. package/dist/engine/knowledge/release_compatibility.d.ts.map +1 -0
  824. package/dist/engine/knowledge/release_compatibility.js.map +1 -0
  825. package/dist/engine/migration_guard.d.ts +1 -1
  826. package/dist/engine/migration_guard.d.ts.map +1 -1
  827. package/dist/engine/migration_guard.js +5 -5
  828. package/dist/engine/migration_guard.js.map +1 -1
  829. package/dist/engine/onboarding.d.ts +3 -3
  830. package/dist/engine/onboarding.d.ts.map +1 -1
  831. package/dist/engine/onboarding.js +8 -5
  832. package/dist/engine/onboarding.js.map +1 -1
  833. package/dist/engine/pipeline/artifact_aliases.d.ts +19 -0
  834. package/dist/engine/pipeline/artifact_aliases.d.ts.map +1 -0
  835. package/dist/engine/pipeline/artifact_aliases.js +39 -0
  836. package/dist/engine/pipeline/artifact_aliases.js.map +1 -0
  837. package/dist/engine/pipeline/conflict_gate.d.ts.map +1 -0
  838. package/dist/engine/pipeline/conflict_gate.js +92 -0
  839. package/dist/engine/pipeline/conflict_gate.js.map +1 -0
  840. package/dist/engine/pipeline/diff_ownership.d.ts.map +1 -0
  841. package/dist/engine/pipeline/diff_ownership.js +159 -0
  842. package/dist/engine/pipeline/diff_ownership.js.map +1 -0
  843. package/dist/engine/pipeline/diff_ownership_store.d.ts.map +1 -0
  844. package/dist/engine/pipeline/diff_ownership_store.js +293 -0
  845. package/dist/engine/pipeline/diff_ownership_store.js.map +1 -0
  846. package/dist/engine/pipeline/input_material_contract_registry.d.ts +185 -0
  847. package/dist/engine/pipeline/input_material_contract_registry.d.ts.map +1 -0
  848. package/dist/engine/pipeline/input_material_contract_registry.js +565 -0
  849. package/dist/engine/pipeline/input_material_contract_registry.js.map +1 -0
  850. package/dist/engine/pipeline/input_material_extractor.d.ts +47 -0
  851. package/dist/engine/pipeline/input_material_extractor.d.ts.map +1 -0
  852. package/dist/engine/pipeline/input_material_extractor.js +156 -0
  853. package/dist/engine/pipeline/input_material_extractor.js.map +1 -0
  854. package/dist/engine/pipeline/intent_expander/helpers.d.ts +44 -0
  855. package/dist/engine/pipeline/intent_expander/helpers.d.ts.map +1 -0
  856. package/dist/engine/pipeline/intent_expander/helpers.js +158 -0
  857. package/dist/engine/pipeline/intent_expander/helpers.js.map +1 -0
  858. package/dist/engine/pipeline/intent_expander/index.d.ts +12 -0
  859. package/dist/engine/pipeline/intent_expander/index.d.ts.map +1 -0
  860. package/dist/engine/pipeline/intent_expander/index.js +14 -0
  861. package/dist/engine/pipeline/intent_expander/index.js.map +1 -0
  862. package/dist/engine/pipeline/intent_expander/knowledge.d.ts +16 -0
  863. package/dist/engine/pipeline/intent_expander/knowledge.d.ts.map +1 -0
  864. package/dist/engine/pipeline/intent_expander/knowledge.js +154 -0
  865. package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -0
  866. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts +47 -0
  867. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts.map +1 -0
  868. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js +301 -0
  869. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js.map +1 -0
  870. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts +33 -0
  871. package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts.map +1 -0
  872. package/dist/engine/pipeline/intent_expander/privacy_gates.js +66 -0
  873. package/dist/engine/pipeline/intent_expander/privacy_gates.js.map +1 -0
  874. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts +80 -0
  875. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts.map +1 -0
  876. package/dist/engine/pipeline/intent_expander/scope_acceptance.js +219 -0
  877. package/dist/engine/pipeline/intent_expander/scope_acceptance.js.map +1 -0
  878. package/dist/engine/pipeline/intent_expander/templates.d.ts +28 -0
  879. package/dist/engine/pipeline/intent_expander/templates.d.ts.map +1 -0
  880. package/dist/engine/pipeline/intent_expander/templates.js +662 -0
  881. package/dist/engine/pipeline/intent_expander/templates.js.map +1 -0
  882. package/dist/engine/pipeline/intent_expander/types.d.ts +101 -0
  883. package/dist/engine/pipeline/intent_expander/types.d.ts.map +1 -0
  884. package/dist/engine/pipeline/intent_expander/types.js +8 -0
  885. package/dist/engine/pipeline/intent_expander/types.js.map +1 -0
  886. package/dist/engine/pipeline/intent_expander/uncertainty_circuit.d.ts +33 -0
  887. package/dist/engine/pipeline/intent_expander/uncertainty_circuit.d.ts.map +1 -0
  888. package/dist/engine/pipeline/intent_expander/uncertainty_circuit.js +187 -0
  889. package/dist/engine/pipeline/intent_expander/uncertainty_circuit.js.map +1 -0
  890. package/dist/engine/pipeline/intent_expander.d.ts +12 -0
  891. package/dist/engine/pipeline/intent_expander.d.ts.map +1 -0
  892. package/dist/engine/pipeline/intent_expander.js +14 -0
  893. package/dist/engine/pipeline/intent_expander.js.map +1 -0
  894. package/dist/engine/pipeline/job_manager.d.ts +111 -0
  895. package/dist/engine/pipeline/job_manager.d.ts.map +1 -0
  896. package/dist/engine/pipeline/job_manager.js +284 -0
  897. package/dist/engine/pipeline/job_manager.js.map +1 -0
  898. package/dist/engine/pipeline/plan_proposal_gate.d.ts.map +1 -0
  899. package/dist/engine/pipeline/plan_proposal_gate.js +340 -0
  900. package/dist/engine/pipeline/plan_proposal_gate.js.map +1 -0
  901. package/dist/engine/pipeline/prompt_template_resolver.d.ts +13 -0
  902. package/dist/engine/pipeline/prompt_template_resolver.d.ts.map +1 -0
  903. package/dist/engine/pipeline/prompt_template_resolver.js +25 -0
  904. package/dist/engine/pipeline/prompt_template_resolver.js.map +1 -0
  905. package/dist/engine/pipeline/rollback_router.d.ts +35 -0
  906. package/dist/engine/pipeline/rollback_router.d.ts.map +1 -0
  907. package/dist/engine/pipeline/rollback_router.js +57 -0
  908. package/dist/engine/pipeline/rollback_router.js.map +1 -0
  909. package/dist/engine/pipeline/scope_controller.d.ts +17 -0
  910. package/dist/engine/pipeline/scope_controller.d.ts.map +1 -0
  911. package/dist/engine/pipeline/scope_controller.js +224 -0
  912. package/dist/engine/pipeline/scope_controller.js.map +1 -0
  913. package/dist/engine/pipeline/scope_lease.d.ts +92 -0
  914. package/dist/engine/pipeline/scope_lease.d.ts.map +1 -0
  915. package/dist/engine/pipeline/scope_lease.js +178 -0
  916. package/dist/engine/pipeline/scope_lease.js.map +1 -0
  917. package/dist/engine/pipeline/scope_resolver.d.ts +18 -0
  918. package/dist/engine/pipeline/scope_resolver.d.ts.map +1 -0
  919. package/dist/engine/pipeline/scope_resolver.js +533 -0
  920. package/dist/engine/pipeline/scope_resolver.js.map +1 -0
  921. package/dist/engine/pipeline/slice_executor.d.ts +83 -0
  922. package/dist/engine/pipeline/slice_executor.d.ts.map +1 -0
  923. package/dist/engine/pipeline/slice_executor.js +103 -0
  924. package/dist/engine/pipeline/slice_executor.js.map +1 -0
  925. package/dist/engine/pipeline/stale_current_task_detector.d.ts +30 -0
  926. package/dist/engine/pipeline/stale_current_task_detector.d.ts.map +1 -0
  927. package/dist/engine/pipeline/stale_current_task_detector.js +171 -0
  928. package/dist/engine/pipeline/stale_current_task_detector.js.map +1 -0
  929. package/dist/engine/pipeline/state_machine/audit_logger.d.ts +42 -0
  930. package/dist/engine/pipeline/state_machine/audit_logger.d.ts.map +1 -0
  931. package/dist/engine/pipeline/state_machine/audit_logger.js +71 -0
  932. package/dist/engine/pipeline/state_machine/audit_logger.js.map +1 -0
  933. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts +51 -0
  934. package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts.map +1 -0
  935. package/dist/engine/pipeline/state_machine/capability_safety_valve.js +131 -0
  936. package/dist/engine/pipeline/state_machine/capability_safety_valve.js.map +1 -0
  937. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts +92 -0
  938. package/dist/engine/pipeline/state_machine/certainty_gate.d.ts.map +1 -0
  939. package/dist/engine/pipeline/state_machine/certainty_gate.js +391 -0
  940. package/dist/engine/pipeline/state_machine/certainty_gate.js.map +1 -0
  941. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts +50 -0
  942. package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts.map +1 -0
  943. package/dist/engine/pipeline/state_machine/command_state_verifier.js +160 -0
  944. package/dist/engine/pipeline/state_machine/command_state_verifier.js.map +1 -0
  945. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts +71 -0
  946. package/dist/engine/pipeline/state_machine/hook_classifier.d.ts.map +1 -0
  947. package/dist/engine/pipeline/state_machine/hook_classifier.js +146 -0
  948. package/dist/engine/pipeline/state_machine/hook_classifier.js.map +1 -0
  949. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts +33 -0
  950. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts.map +1 -0
  951. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js +72 -0
  952. package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js.map +1 -0
  953. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts +21 -0
  954. package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts.map +1 -0
  955. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js +33 -0
  956. package/dist/engine/pipeline/state_machine/knowledge_stage_query.js.map +1 -0
  957. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts +158 -0
  958. package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts.map +1 -0
  959. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js +1197 -0
  960. package/dist/engine/pipeline/state_machine/pipeline_state_machine.js.map +1 -0
  961. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts +34 -0
  962. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts.map +1 -0
  963. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js +152 -0
  964. package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js.map +1 -0
  965. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts +28 -0
  966. package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts.map +1 -0
  967. package/dist/engine/pipeline/state_machine/route_usage_stats.js +76 -0
  968. package/dist/engine/pipeline/state_machine/route_usage_stats.js.map +1 -0
  969. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts +22 -0
  970. package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts.map +1 -0
  971. package/dist/engine/pipeline/state_machine/sf_command_parser.js +171 -0
  972. package/dist/engine/pipeline/state_machine/sf_command_parser.js.map +1 -0
  973. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts +38 -0
  974. package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts.map +1 -0
  975. package/dist/engine/pipeline/state_machine/stage_command_registry.js +218 -0
  976. package/dist/engine/pipeline/state_machine/stage_command_registry.js.map +1 -0
  977. package/dist/engine/pipeline/state_machine/stage_executor.d.ts +37 -0
  978. package/dist/engine/pipeline/state_machine/stage_executor.d.ts.map +1 -0
  979. package/dist/engine/pipeline/state_machine/stage_executor.js +67 -0
  980. package/dist/engine/pipeline/state_machine/stage_executor.js.map +1 -0
  981. package/dist/engine/pipeline/state_machine/state_migrator.d.ts +21 -0
  982. package/dist/engine/pipeline/state_machine/state_migrator.d.ts.map +1 -0
  983. package/dist/engine/pipeline/state_machine/state_migrator.js +130 -0
  984. package/dist/engine/pipeline/state_machine/state_migrator.js.map +1 -0
  985. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts +48 -0
  986. package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts.map +1 -0
  987. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js +566 -0
  988. package/dist/engine/pipeline/state_machine/state_self_diagnostic.js.map +1 -0
  989. package/dist/engine/pipeline/state_machine/static_route_table.d.ts +36 -0
  990. package/dist/engine/pipeline/state_machine/static_route_table.d.ts.map +1 -0
  991. package/dist/engine/pipeline/state_machine/static_route_table.js +112 -0
  992. package/dist/engine/pipeline/state_machine/static_route_table.js.map +1 -0
  993. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts +45 -0
  994. package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts.map +1 -0
  995. package/dist/engine/pipeline/state_machine/strong_confirmation.js +57 -0
  996. package/dist/engine/pipeline/state_machine/strong_confirmation.js.map +1 -0
  997. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts +55 -0
  998. package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts.map +1 -0
  999. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js +48 -0
  1000. package/dist/engine/pipeline/state_machine/uncertainty_bridge.js.map +1 -0
  1001. package/dist/engine/pipeline/task_context/cleanup.d.ts +13 -0
  1002. package/dist/engine/pipeline/task_context/cleanup.d.ts.map +1 -0
  1003. package/dist/engine/pipeline/task_context/cleanup.js +68 -0
  1004. package/dist/engine/pipeline/task_context/cleanup.js.map +1 -0
  1005. package/dist/engine/pipeline/task_context/constants.d.ts +9 -0
  1006. package/dist/engine/pipeline/task_context/constants.d.ts.map +1 -0
  1007. package/dist/engine/pipeline/task_context/constants.js +20 -0
  1008. package/dist/engine/pipeline/task_context/constants.js.map +1 -0
  1009. package/dist/engine/pipeline/task_context/expansion_privacy.d.ts +18 -0
  1010. package/dist/engine/pipeline/task_context/expansion_privacy.d.ts.map +1 -0
  1011. package/dist/engine/pipeline/task_context/expansion_privacy.js +82 -0
  1012. package/dist/engine/pipeline/task_context/expansion_privacy.js.map +1 -0
  1013. package/dist/engine/pipeline/task_context/index.d.ts +19 -0
  1014. package/dist/engine/pipeline/task_context/index.d.ts.map +1 -0
  1015. package/dist/engine/pipeline/task_context/index.js +19 -0
  1016. package/dist/engine/pipeline/task_context/index.js.map +1 -0
  1017. package/dist/engine/pipeline/task_context/manager.d.ts +200 -0
  1018. package/dist/engine/pipeline/task_context/manager.d.ts.map +1 -0
  1019. package/dist/engine/pipeline/task_context/manager.js +758 -0
  1020. package/dist/engine/pipeline/task_context/manager.js.map +1 -0
  1021. package/dist/engine/pipeline/task_context/manager_setters.d.ts +65 -0
  1022. package/dist/engine/pipeline/task_context/manager_setters.d.ts.map +1 -0
  1023. package/dist/engine/pipeline/task_context/manager_setters.js +288 -0
  1024. package/dist/engine/pipeline/task_context/manager_setters.js.map +1 -0
  1025. package/dist/engine/pipeline/task_context/phase_directive.d.ts +10 -0
  1026. package/dist/engine/pipeline/task_context/phase_directive.d.ts.map +1 -0
  1027. package/dist/engine/pipeline/task_context/phase_directive.js +75 -0
  1028. package/dist/engine/pipeline/task_context/phase_directive.js.map +1 -0
  1029. package/dist/engine/pipeline/task_context/status_transitions.d.ts +17 -0
  1030. package/dist/engine/pipeline/task_context/status_transitions.d.ts.map +1 -0
  1031. package/dist/engine/pipeline/task_context/status_transitions.js +76 -0
  1032. package/dist/engine/pipeline/task_context/status_transitions.js.map +1 -0
  1033. package/dist/engine/pipeline/task_context.d.ts +15 -0
  1034. package/dist/engine/pipeline/task_context.d.ts.map +1 -0
  1035. package/dist/engine/pipeline/task_context.js +15 -0
  1036. package/dist/engine/pipeline/task_context.js.map +1 -0
  1037. package/dist/engine/pipeline/task_planner.d.ts +30 -0
  1038. package/dist/engine/pipeline/task_planner.d.ts.map +1 -0
  1039. package/dist/engine/pipeline/task_planner.js +334 -0
  1040. package/dist/engine/pipeline/task_planner.js.map +1 -0
  1041. package/dist/engine/pipeline/task_stage_detector.d.ts +27 -0
  1042. package/dist/engine/pipeline/task_stage_detector.d.ts.map +1 -0
  1043. package/dist/engine/pipeline/task_stage_detector.js +191 -0
  1044. package/dist/engine/pipeline/task_stage_detector.js.map +1 -0
  1045. package/dist/engine/pipeline/workspace_lease.d.ts +78 -0
  1046. package/dist/engine/pipeline/workspace_lease.d.ts.map +1 -0
  1047. package/dist/engine/pipeline/workspace_lease.js +180 -0
  1048. package/dist/engine/pipeline/workspace_lease.js.map +1 -0
  1049. package/dist/engine/pipeline/workspace_resumer.d.ts.map +1 -0
  1050. package/dist/engine/pipeline/workspace_resumer.js +210 -0
  1051. package/dist/engine/pipeline/workspace_resumer.js.map +1 -0
  1052. package/dist/engine/release/foundation_scenario_registry.d.ts +44 -0
  1053. package/dist/engine/release/foundation_scenario_registry.d.ts.map +1 -0
  1054. package/dist/engine/release/foundation_scenario_registry.js +281 -0
  1055. package/dist/engine/release/foundation_scenario_registry.js.map +1 -0
  1056. package/dist/engine/release/foundation_scenario_runners.d.ts +54 -0
  1057. package/dist/engine/release/foundation_scenario_runners.d.ts.map +1 -0
  1058. package/dist/engine/release/foundation_scenario_runners.js +151 -0
  1059. package/dist/engine/release/foundation_scenario_runners.js.map +1 -0
  1060. package/dist/engine/release/gate_checks/checkControlPlaneTrust.d.ts +9 -0
  1061. package/dist/engine/release/gate_checks/checkControlPlaneTrust.d.ts.map +1 -0
  1062. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js +121 -0
  1063. package/dist/engine/release/gate_checks/checkControlPlaneTrust.js.map +1 -0
  1064. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.d.ts +6 -0
  1065. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.d.ts.map +1 -0
  1066. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js +498 -0
  1067. package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js.map +1 -0
  1068. package/dist/engine/release/gate_checks/checkDependencyAudit.d.ts +6 -0
  1069. package/dist/engine/release/gate_checks/checkDependencyAudit.d.ts.map +1 -0
  1070. package/dist/engine/release/gate_checks/checkDependencyAudit.js +45 -0
  1071. package/dist/engine/release/gate_checks/checkDependencyAudit.js.map +1 -0
  1072. package/dist/engine/release/gate_checks/checkDistFreshness.d.ts +6 -0
  1073. package/dist/engine/release/gate_checks/checkDistFreshness.d.ts.map +1 -0
  1074. package/dist/engine/release/gate_checks/checkDistFreshness.js +59 -0
  1075. package/dist/engine/release/gate_checks/checkDistFreshness.js.map +1 -0
  1076. package/dist/engine/release/gate_checks/checkKnowledgeAssetSchemaP0.d.ts +6 -0
  1077. package/dist/engine/release/gate_checks/checkKnowledgeAssetSchemaP0.d.ts.map +1 -0
  1078. package/dist/engine/release/gate_checks/checkKnowledgeAssetSchemaP0.js +30 -0
  1079. package/dist/engine/release/gate_checks/checkKnowledgeAssetSchemaP0.js.map +1 -0
  1080. package/dist/engine/release/gate_checks/checkMainlineConsumption.d.ts +6 -0
  1081. package/dist/engine/release/gate_checks/checkMainlineConsumption.d.ts.map +1 -0
  1082. package/dist/engine/release/gate_checks/checkMainlineConsumption.js +356 -0
  1083. package/dist/engine/release/gate_checks/checkMainlineConsumption.js.map +1 -0
  1084. package/dist/engine/release/gate_checks/checkNpmPack.d.ts +10 -0
  1085. package/dist/engine/release/gate_checks/checkNpmPack.d.ts.map +1 -0
  1086. package/dist/engine/release/gate_checks/checkNpmPack.js +69 -0
  1087. package/dist/engine/release/gate_checks/checkNpmPack.js.map +1 -0
  1088. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.d.ts +10 -0
  1089. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.d.ts.map +1 -0
  1090. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js +267 -0
  1091. package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js.map +1 -0
  1092. package/dist/engine/release/gate_checks/checkWorkflowNavigation.d.ts +6 -0
  1093. package/dist/engine/release/gate_checks/checkWorkflowNavigation.d.ts.map +1 -0
  1094. package/dist/engine/release/gate_checks/checkWorkflowNavigation.js +189 -0
  1095. package/dist/engine/release/gate_checks/checkWorkflowNavigation.js.map +1 -0
  1096. package/dist/engine/release/gate_checks/helpers.d.ts +28 -0
  1097. package/dist/engine/release/gate_checks/helpers.d.ts.map +1 -0
  1098. package/dist/engine/release/gate_checks/helpers.js +92 -0
  1099. package/dist/engine/release/gate_checks/helpers.js.map +1 -0
  1100. package/dist/engine/release/gate_checks/types.d.ts +38 -0
  1101. package/dist/engine/release/gate_checks/types.d.ts.map +1 -0
  1102. package/dist/engine/release/gate_checks/types.js +5 -0
  1103. package/dist/engine/release/gate_checks/types.js.map +1 -0
  1104. package/dist/engine/release/index.d.ts +6 -0
  1105. package/dist/engine/release/index.d.ts.map +1 -0
  1106. package/dist/engine/release/index.js +6 -0
  1107. package/dist/engine/release/index.js.map +1 -0
  1108. package/dist/engine/release/release_gate_scenario_registry.d.ts.map +1 -0
  1109. package/dist/engine/release/release_gate_scenario_registry.js +717 -0
  1110. package/dist/engine/release/release_gate_scenario_registry.js.map +1 -0
  1111. package/dist/engine/release/release_issue_scenario_registry/fixtures.d.ts +8 -0
  1112. package/dist/engine/release/release_issue_scenario_registry/fixtures.d.ts.map +1 -0
  1113. package/dist/engine/release/release_issue_scenario_registry/fixtures.js +54 -0
  1114. package/dist/engine/release/release_issue_scenario_registry/fixtures.js.map +1 -0
  1115. package/dist/engine/release/release_issue_scenario_registry/index.d.ts +8 -0
  1116. package/dist/engine/release/release_issue_scenario_registry/index.d.ts.map +1 -0
  1117. package/dist/engine/release/release_issue_scenario_registry/index.js +7 -0
  1118. package/dist/engine/release/release_issue_scenario_registry/index.js.map +1 -0
  1119. package/dist/engine/release/release_issue_scenario_registry/registry.d.ts +26 -0
  1120. package/dist/engine/release/release_issue_scenario_registry/registry.d.ts.map +1 -0
  1121. package/dist/engine/release/release_issue_scenario_registry/registry.js +83 -0
  1122. package/dist/engine/release/release_issue_scenario_registry/registry.js.map +1 -0
  1123. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.d.ts +6 -0
  1124. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.d.ts.map +1 -0
  1125. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js +284 -0
  1126. package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js.map +1 -0
  1127. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.d.ts +6 -0
  1128. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.d.ts.map +1 -0
  1129. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js +214 -0
  1130. package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js.map +1 -0
  1131. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.d.ts +6 -0
  1132. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.d.ts.map +1 -0
  1133. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js +356 -0
  1134. package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js.map +1 -0
  1135. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.d.ts +6 -0
  1136. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.d.ts.map +1 -0
  1137. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js +232 -0
  1138. package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js.map +1 -0
  1139. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.d.ts +6 -0
  1140. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.d.ts.map +1 -0
  1141. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js +358 -0
  1142. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js.map +1 -0
  1143. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.d.ts +6 -0
  1144. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.d.ts.map +1 -0
  1145. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js +292 -0
  1146. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js.map +1 -0
  1147. package/dist/engine/release/release_issue_scenario_registry/scenarios_workflow_navigation.d.ts +12 -0
  1148. package/dist/engine/release/release_issue_scenario_registry/scenarios_workflow_navigation.d.ts.map +1 -0
  1149. package/dist/engine/release/release_issue_scenario_registry/scenarios_workflow_navigation.js +147 -0
  1150. package/dist/engine/release/release_issue_scenario_registry/scenarios_workflow_navigation.js.map +1 -0
  1151. package/dist/engine/release/release_issue_scenario_registry/types.d.ts +37 -0
  1152. package/dist/engine/release/release_issue_scenario_registry/types.d.ts.map +1 -0
  1153. package/dist/engine/release/release_issue_scenario_registry/types.js +5 -0
  1154. package/dist/engine/release/release_issue_scenario_registry/types.js.map +1 -0
  1155. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.d.ts +35 -0
  1156. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.d.ts.map +1 -0
  1157. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.js +78 -0
  1158. package/dist/engine/release/release_issue_scenario_registry/workshop_helpers.js.map +1 -0
  1159. package/dist/engine/release/release_issue_scenario_registry.d.ts +9 -0
  1160. package/dist/engine/release/release_issue_scenario_registry.d.ts.map +1 -0
  1161. package/dist/engine/release/release_issue_scenario_registry.js +8 -0
  1162. package/dist/engine/release/release_issue_scenario_registry.js.map +1 -0
  1163. package/dist/engine/release/release_readiness_gate.d.ts +26 -0
  1164. package/dist/engine/release/release_readiness_gate.d.ts.map +1 -0
  1165. package/dist/engine/release/release_readiness_gate.js +209 -0
  1166. package/dist/engine/release/release_readiness_gate.js.map +1 -0
  1167. package/dist/engine/release/release_tool_harness.d.ts +84 -0
  1168. package/dist/engine/release/release_tool_harness.d.ts.map +1 -0
  1169. package/dist/engine/release/release_tool_harness.js +169 -0
  1170. package/dist/engine/release/release_tool_harness.js.map +1 -0
  1171. package/dist/engine/release/types.d.ts +81 -0
  1172. package/dist/engine/release/types.d.ts.map +1 -0
  1173. package/dist/engine/release/types.js +7 -0
  1174. package/dist/engine/release/types.js.map +1 -0
  1175. package/dist/engine/release/verifier.d.ts +45 -0
  1176. package/dist/engine/release/verifier.d.ts.map +1 -0
  1177. package/dist/engine/release/verifier.js +629 -0
  1178. package/dist/engine/release/verifier.js.map +1 -0
  1179. package/dist/engine/retention_policy.js +1 -1
  1180. package/dist/engine/retention_policy.js.map +1 -1
  1181. package/dist/engine/source_code_matcher.js +1 -1
  1182. package/dist/engine/source_code_matcher.js.map +1 -1
  1183. package/dist/engine/state_fact_classifier.d.ts +3 -3
  1184. package/dist/engine/state_fact_classifier.js +4 -4
  1185. package/dist/engine/state_fact_classifier.js.map +1 -1
  1186. package/dist/engine/team_awareness.d.ts +2 -2
  1187. package/dist/engine/team_awareness.d.ts.map +1 -1
  1188. package/dist/engine/team_awareness.js +1 -1
  1189. package/dist/engine/team_awareness.js.map +1 -1
  1190. package/dist/engine/templates/asset_manifest.d.ts +67 -0
  1191. package/dist/engine/templates/asset_manifest.d.ts.map +1 -0
  1192. package/dist/engine/templates/asset_manifest.js +316 -0
  1193. package/dist/engine/templates/asset_manifest.js.map +1 -0
  1194. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.d.ts +8 -0
  1195. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.d.ts.map +1 -0
  1196. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js +326 -0
  1197. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js.map +1 -0
  1198. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts +7 -0
  1199. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts.map +1 -0
  1200. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js +310 -0
  1201. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js.map +1 -0
  1202. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.d.ts +7 -0
  1203. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.d.ts.map +1 -0
  1204. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js +255 -0
  1205. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js.map +1 -0
  1206. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.d.ts +8 -0
  1207. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.d.ts.map +1 -0
  1208. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js +281 -0
  1209. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js.map +1 -0
  1210. package/dist/engine/templates/consumable_asset_registry/builtin_assets_pipeline.d.ts +7 -0
  1211. package/dist/engine/templates/consumable_asset_registry/builtin_assets_pipeline.d.ts.map +1 -0
  1212. package/dist/engine/templates/consumable_asset_registry/builtin_assets_pipeline.js +60 -0
  1213. package/dist/engine/templates/consumable_asset_registry/builtin_assets_pipeline.js.map +1 -0
  1214. package/dist/engine/templates/consumable_asset_registry/index.d.ts +9 -0
  1215. package/dist/engine/templates/consumable_asset_registry/index.d.ts.map +1 -0
  1216. package/dist/engine/templates/consumable_asset_registry/index.js +9 -0
  1217. package/dist/engine/templates/consumable_asset_registry/index.js.map +1 -0
  1218. package/dist/engine/templates/consumable_asset_registry/registry.d.ts +33 -0
  1219. package/dist/engine/templates/consumable_asset_registry/registry.d.ts.map +1 -0
  1220. package/dist/engine/templates/consumable_asset_registry/registry.js +55 -0
  1221. package/dist/engine/templates/consumable_asset_registry/registry.js.map +1 -0
  1222. package/dist/engine/templates/consumable_asset_registry/types.d.ts +55 -0
  1223. package/dist/engine/templates/consumable_asset_registry/types.d.ts.map +1 -0
  1224. package/dist/engine/templates/consumable_asset_registry/types.js +246 -0
  1225. package/dist/engine/templates/consumable_asset_registry/types.js.map +1 -0
  1226. package/dist/engine/templates/consumable_asset_registry.d.ts +11 -0
  1227. package/dist/engine/templates/consumable_asset_registry.d.ts.map +1 -0
  1228. package/dist/engine/templates/consumable_asset_registry.js +10 -0
  1229. package/dist/engine/templates/consumable_asset_registry.js.map +1 -0
  1230. package/dist/engine/templates/consumption_trace_store.d.ts +93 -0
  1231. package/dist/engine/templates/consumption_trace_store.d.ts.map +1 -0
  1232. package/dist/engine/templates/consumption_trace_store.js +128 -0
  1233. package/dist/engine/templates/consumption_trace_store.js.map +1 -0
  1234. package/dist/engine/templates/explicit_asset_registry/adapters.d.ts +3 -0
  1235. package/dist/engine/templates/explicit_asset_registry/adapters.d.ts.map +1 -0
  1236. package/dist/engine/templates/explicit_asset_registry/adapters.js +67 -0
  1237. package/dist/engine/templates/explicit_asset_registry/adapters.js.map +1 -0
  1238. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.d.ts +3 -0
  1239. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.d.ts.map +1 -0
  1240. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js +163 -0
  1241. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js.map +1 -0
  1242. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.d.ts +3 -0
  1243. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.d.ts.map +1 -0
  1244. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js +403 -0
  1245. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js.map +1 -0
  1246. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.d.ts +3 -0
  1247. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.d.ts.map +1 -0
  1248. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js +83 -0
  1249. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js.map +1 -0
  1250. package/dist/engine/templates/explicit_asset_registry/checklists.d.ts +3 -0
  1251. package/dist/engine/templates/explicit_asset_registry/checklists.d.ts.map +1 -0
  1252. package/dist/engine/templates/explicit_asset_registry/checklists.js +115 -0
  1253. package/dist/engine/templates/explicit_asset_registry/checklists.js.map +1 -0
  1254. package/dist/engine/templates/explicit_asset_registry/contributing.d.ts +3 -0
  1255. package/dist/engine/templates/explicit_asset_registry/contributing.d.ts.map +1 -0
  1256. package/dist/engine/templates/explicit_asset_registry/contributing.js +19 -0
  1257. package/dist/engine/templates/explicit_asset_registry/contributing.js.map +1 -0
  1258. package/dist/engine/templates/explicit_asset_registry/domain.d.ts +3 -0
  1259. package/dist/engine/templates/explicit_asset_registry/domain.d.ts.map +1 -0
  1260. package/dist/engine/templates/explicit_asset_registry/domain.js +147 -0
  1261. package/dist/engine/templates/explicit_asset_registry/domain.js.map +1 -0
  1262. package/dist/engine/templates/explicit_asset_registry/gates.d.ts +3 -0
  1263. package/dist/engine/templates/explicit_asset_registry/gates.d.ts.map +1 -0
  1264. package/dist/engine/templates/explicit_asset_registry/gates.js +374 -0
  1265. package/dist/engine/templates/explicit_asset_registry/gates.js.map +1 -0
  1266. package/dist/engine/templates/explicit_asset_registry/index.d.ts +4 -0
  1267. package/dist/engine/templates/explicit_asset_registry/index.d.ts.map +1 -0
  1268. package/dist/engine/templates/explicit_asset_registry/index.js +58 -0
  1269. package/dist/engine/templates/explicit_asset_registry/index.js.map +1 -0
  1270. package/dist/engine/templates/explicit_asset_registry/internal_patterns.d.ts +3 -0
  1271. package/dist/engine/templates/explicit_asset_registry/internal_patterns.d.ts.map +1 -0
  1272. package/dist/engine/templates/explicit_asset_registry/internal_patterns.js +435 -0
  1273. package/dist/engine/templates/explicit_asset_registry/internal_patterns.js.map +1 -0
  1274. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.d.ts +3 -0
  1275. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.d.ts.map +1 -0
  1276. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js +419 -0
  1277. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js.map +1 -0
  1278. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.d.ts +3 -0
  1279. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.d.ts.map +1 -0
  1280. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js +323 -0
  1281. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js.map +1 -0
  1282. package/dist/engine/templates/explicit_asset_registry/patterns_part1.d.ts +3 -0
  1283. package/dist/engine/templates/explicit_asset_registry/patterns_part1.d.ts.map +1 -0
  1284. package/dist/engine/templates/explicit_asset_registry/patterns_part1.js +403 -0
  1285. package/dist/engine/templates/explicit_asset_registry/patterns_part1.js.map +1 -0
  1286. package/dist/engine/templates/explicit_asset_registry/patterns_part2.d.ts +3 -0
  1287. package/dist/engine/templates/explicit_asset_registry/patterns_part2.d.ts.map +1 -0
  1288. package/dist/engine/templates/explicit_asset_registry/patterns_part2.js +403 -0
  1289. package/dist/engine/templates/explicit_asset_registry/patterns_part2.js.map +1 -0
  1290. package/dist/engine/templates/explicit_asset_registry/patterns_part3.d.ts +3 -0
  1291. package/dist/engine/templates/explicit_asset_registry/patterns_part3.d.ts.map +1 -0
  1292. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js +35 -0
  1293. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js.map +1 -0
  1294. package/dist/engine/templates/explicit_asset_registry/procedures_part1.d.ts +3 -0
  1295. package/dist/engine/templates/explicit_asset_registry/procedures_part1.d.ts.map +1 -0
  1296. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js +435 -0
  1297. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js.map +1 -0
  1298. package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts +3 -0
  1299. package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts.map +1 -0
  1300. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +230 -0
  1301. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -0
  1302. package/dist/engine/templates/explicit_asset_registry/profiles.d.ts +3 -0
  1303. package/dist/engine/templates/explicit_asset_registry/profiles.d.ts.map +1 -0
  1304. package/dist/engine/templates/explicit_asset_registry/profiles.js +51 -0
  1305. package/dist/engine/templates/explicit_asset_registry/profiles.js.map +1 -0
  1306. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.d.ts +3 -0
  1307. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.d.ts.map +1 -0
  1308. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js +163 -0
  1309. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js.map +1 -0
  1310. package/dist/engine/templates/explicit_asset_registry/rules_shared.d.ts +3 -0
  1311. package/dist/engine/templates/explicit_asset_registry/rules_shared.d.ts.map +1 -0
  1312. package/dist/engine/templates/explicit_asset_registry/rules_shared.js +622 -0
  1313. package/dist/engine/templates/explicit_asset_registry/rules_shared.js.map +1 -0
  1314. package/dist/engine/templates/explicit_asset_registry/scaffolds.d.ts +3 -0
  1315. package/dist/engine/templates/explicit_asset_registry/scaffolds.d.ts.map +1 -0
  1316. package/dist/engine/templates/explicit_asset_registry/scaffolds.js +378 -0
  1317. package/dist/engine/templates/explicit_asset_registry/scaffolds.js.map +1 -0
  1318. package/dist/engine/templates/explicit_asset_registry/types.d.ts +29 -0
  1319. package/dist/engine/templates/explicit_asset_registry/types.d.ts.map +1 -0
  1320. package/dist/engine/templates/explicit_asset_registry/types.js +7 -0
  1321. package/dist/engine/templates/explicit_asset_registry/types.js.map +1 -0
  1322. package/dist/engine/templates/explicit_asset_registry.d.ts +9 -0
  1323. package/dist/engine/templates/explicit_asset_registry.d.ts.map +1 -0
  1324. package/dist/engine/templates/explicit_asset_registry.js +9 -0
  1325. package/dist/engine/templates/explicit_asset_registry.js.map +1 -0
  1326. package/dist/engine/templates/observed_consumption.d.ts +54 -0
  1327. package/dist/engine/templates/observed_consumption.d.ts.map +1 -0
  1328. package/dist/engine/templates/observed_consumption.js +364 -0
  1329. package/dist/engine/templates/observed_consumption.js.map +1 -0
  1330. package/dist/engine/templates/scaffolder.d.ts +19 -0
  1331. package/dist/engine/templates/scaffolder.d.ts.map +1 -0
  1332. package/dist/engine/templates/scaffolder.js +412 -0
  1333. package/dist/engine/templates/scaffolder.js.map +1 -0
  1334. package/dist/engine/templates/standard_asset_contract.d.ts +105 -0
  1335. package/dist/engine/templates/standard_asset_contract.d.ts.map +1 -0
  1336. package/dist/engine/templates/standard_asset_contract.js +540 -0
  1337. package/dist/engine/templates/standard_asset_contract.js.map +1 -0
  1338. package/dist/engine/templates/standard_asset_coverage.d.ts.map +1 -0
  1339. package/dist/engine/templates/standard_asset_coverage.js +220 -0
  1340. package/dist/engine/templates/standard_asset_coverage.js.map +1 -0
  1341. package/dist/engine/templates/template_asset_contract_registry.d.ts +162 -0
  1342. package/dist/engine/templates/template_asset_contract_registry.d.ts.map +1 -0
  1343. package/dist/engine/templates/template_asset_contract_registry.js +662 -0
  1344. package/dist/engine/templates/template_asset_contract_registry.js.map +1 -0
  1345. package/dist/engine/templates/template_asset_visibility.d.ts +109 -0
  1346. package/dist/engine/templates/template_asset_visibility.d.ts.map +1 -0
  1347. package/dist/engine/templates/template_asset_visibility.js +304 -0
  1348. package/dist/engine/templates/template_asset_visibility.js.map +1 -0
  1349. package/dist/engine/templates/template_init_sync.d.ts +103 -0
  1350. package/dist/engine/templates/template_init_sync.d.ts.map +1 -0
  1351. package/dist/engine/templates/template_init_sync.js +447 -0
  1352. package/dist/engine/templates/template_init_sync.js.map +1 -0
  1353. package/dist/engine/templates/template_manifest_io.d.ts +57 -0
  1354. package/dist/engine/templates/template_manifest_io.d.ts.map +1 -0
  1355. package/dist/engine/templates/template_manifest_io.js +189 -0
  1356. package/dist/engine/templates/template_manifest_io.js.map +1 -0
  1357. package/dist/engine/templates/template_mechanism_auditor.d.ts +95 -0
  1358. package/dist/engine/templates/template_mechanism_auditor.d.ts.map +1 -0
  1359. package/dist/engine/templates/template_mechanism_auditor.js +627 -0
  1360. package/dist/engine/templates/template_mechanism_auditor.js.map +1 -0
  1361. package/dist/engine/templates/template_sync.d.ts +98 -0
  1362. package/dist/engine/templates/template_sync.d.ts.map +1 -0
  1363. package/dist/engine/templates/template_sync.js.map +1 -0
  1364. package/dist/engine/templates/workflow_rule_generator.d.ts +22 -0
  1365. package/dist/engine/templates/workflow_rule_generator.d.ts.map +1 -0
  1366. package/dist/engine/templates/workflow_rule_generator.js +81 -0
  1367. package/dist/engine/templates/workflow_rule_generator.js.map +1 -0
  1368. package/dist/engine/workflow/index.d.ts +10 -0
  1369. package/dist/engine/workflow/index.d.ts.map +1 -0
  1370. package/dist/engine/workflow/index.js +12 -0
  1371. package/dist/engine/workflow/index.js.map +1 -0
  1372. package/dist/engine/workflow/next_action_planner.d.ts +32 -0
  1373. package/dist/engine/workflow/next_action_planner.d.ts.map +1 -0
  1374. package/dist/engine/workflow/next_action_planner.js +868 -0
  1375. package/dist/engine/workflow/next_action_planner.js.map +1 -0
  1376. package/dist/engine/workflow/project_stage_detector.d.ts.map +1 -0
  1377. package/dist/engine/workflow/project_stage_detector.js +253 -0
  1378. package/dist/engine/workflow/project_stage_detector.js.map +1 -0
  1379. package/dist/engine/workflow/workflow_contract_registry.d.ts +126 -0
  1380. package/dist/engine/workflow/workflow_contract_registry.d.ts.map +1 -0
  1381. package/dist/engine/workflow/workflow_contract_registry.js +271 -0
  1382. package/dist/engine/workflow/workflow_contract_registry.js.map +1 -0
  1383. package/dist/engine/workflow/workflow_navigation_contract.d.ts +178 -0
  1384. package/dist/engine/workflow/workflow_navigation_contract.d.ts.map +1 -0
  1385. package/dist/engine/workflow/workflow_navigation_contract.js +30 -0
  1386. package/dist/engine/workflow/workflow_navigation_contract.js.map +1 -0
  1387. package/dist/git/git_deps.d.ts +72 -0
  1388. package/dist/git/git_deps.d.ts.map +1 -0
  1389. package/dist/git/git_deps.js +9 -0
  1390. package/dist/git/git_deps.js.map +1 -0
  1391. package/dist/git/operations.d.ts +1 -0
  1392. package/dist/git/operations.d.ts.map +1 -1
  1393. package/dist/git/operations.js +3 -1
  1394. package/dist/git/operations.js.map +1 -1
  1395. package/dist/index.d.ts +2 -2
  1396. package/dist/index.js +61 -20
  1397. package/dist/index.js.map +1 -1
  1398. package/dist/knowledge/conflict_detector.d.ts +15 -1
  1399. package/dist/knowledge/conflict_detector.d.ts.map +1 -1
  1400. package/dist/knowledge/conflict_detector.js +83 -4
  1401. package/dist/knowledge/conflict_detector.js.map +1 -1
  1402. package/dist/knowledge/health_checker.d.ts +1 -1
  1403. package/dist/knowledge/health_checker.d.ts.map +1 -1
  1404. package/dist/knowledge/health_checker.js +19 -8
  1405. package/dist/knowledge/health_checker.js.map +1 -1
  1406. package/dist/knowledge/index_manager.d.ts +26 -2
  1407. package/dist/knowledge/index_manager.d.ts.map +1 -1
  1408. package/dist/knowledge/index_manager.js +361 -113
  1409. package/dist/knowledge/index_manager.js.map +1 -1
  1410. package/dist/knowledge/loader.d.ts +9 -5
  1411. package/dist/knowledge/loader.d.ts.map +1 -1
  1412. package/dist/knowledge/loader.js +211 -45
  1413. package/dist/knowledge/loader.js.map +1 -1
  1414. package/dist/knowledge/writer.d.ts +11 -1
  1415. package/dist/knowledge/writer.d.ts.map +1 -1
  1416. package/dist/knowledge/writer.js +44 -3
  1417. package/dist/knowledge/writer.js.map +1 -1
  1418. package/dist/server/index.d.ts +26 -0
  1419. package/dist/server/index.d.ts.map +1 -0
  1420. package/dist/server/index.js +55 -0
  1421. package/dist/server/index.js.map +1 -0
  1422. package/dist/server/lifecycle.d.ts +25 -0
  1423. package/dist/server/lifecycle.d.ts.map +1 -0
  1424. package/dist/server/lifecycle.js +66 -0
  1425. package/dist/server/lifecycle.js.map +1 -0
  1426. package/dist/server/tools/cep_assessment.d.ts +172 -0
  1427. package/dist/server/tools/cep_assessment.d.ts.map +1 -0
  1428. package/dist/server/tools/cep_assessment.js +397 -0
  1429. package/dist/server/tools/cep_assessment.js.map +1 -0
  1430. package/dist/server/tools/gate_checks.d.ts +123 -0
  1431. package/dist/server/tools/gate_checks.d.ts.map +1 -0
  1432. package/dist/server/tools/gate_checks.js +267 -0
  1433. package/dist/server/tools/gate_checks.js.map +1 -0
  1434. package/dist/server/tools/index.d.ts +12 -0
  1435. package/dist/server/tools/index.d.ts.map +1 -0
  1436. package/dist/server/tools/index.js +62 -0
  1437. package/dist/server/tools/index.js.map +1 -0
  1438. package/dist/server/tools/lazy_loaders.d.ts +66 -0
  1439. package/dist/server/tools/lazy_loaders.d.ts.map +1 -0
  1440. package/dist/server/tools/lazy_loaders.js +78 -0
  1441. package/dist/server/tools/lazy_loaders.js.map +1 -0
  1442. package/dist/server/tools/middleware.d.ts +52 -0
  1443. package/dist/server/tools/middleware.d.ts.map +1 -0
  1444. package/dist/server/tools/middleware.js +648 -0
  1445. package/dist/server/tools/middleware.js.map +1 -0
  1446. package/dist/server/tools/schemas.d.ts +220 -0
  1447. package/dist/server/tools/schemas.d.ts.map +1 -0
  1448. package/dist/server/tools/schemas.js +162 -0
  1449. package/dist/server/tools/schemas.js.map +1 -0
  1450. package/dist/server/tools/tool_groups/admin.d.ts +3 -0
  1451. package/dist/server/tools/tool_groups/admin.d.ts.map +1 -0
  1452. package/dist/server/tools/tool_groups/admin.js +162 -0
  1453. package/dist/server/tools/tool_groups/admin.js.map +1 -0
  1454. package/dist/server/tools/tool_groups/auxiliary.d.ts +3 -0
  1455. package/dist/server/tools/tool_groups/auxiliary.d.ts.map +1 -0
  1456. package/dist/server/tools/tool_groups/auxiliary.js +144 -0
  1457. package/dist/server/tools/tool_groups/auxiliary.js.map +1 -0
  1458. package/dist/server/tools/tool_groups/knowledge.d.ts +3 -0
  1459. package/dist/server/tools/tool_groups/knowledge.d.ts.map +1 -0
  1460. package/dist/server/tools/tool_groups/knowledge.js +71 -0
  1461. package/dist/server/tools/tool_groups/knowledge.js.map +1 -0
  1462. package/dist/server/tools/tool_groups/product_operations.d.ts +9 -0
  1463. package/dist/server/tools/tool_groups/product_operations.d.ts.map +1 -0
  1464. package/dist/server/tools/tool_groups/product_operations.js +143 -0
  1465. package/dist/server/tools/tool_groups/product_operations.js.map +1 -0
  1466. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts +3 -0
  1467. package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts.map +1 -0
  1468. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js +37 -0
  1469. package/dist/server/tools/tool_groups/scaffold_accept_deliver.js.map +1 -0
  1470. package/dist/server/tools/tool_groups/state_machine.d.ts +13 -0
  1471. package/dist/server/tools/tool_groups/state_machine.d.ts.map +1 -0
  1472. package/dist/server/tools/tool_groups/state_machine.js +606 -0
  1473. package/dist/server/tools/tool_groups/state_machine.js.map +1 -0
  1474. package/dist/server/tools/tool_names.d.ts +59 -0
  1475. package/dist/server/tools/tool_names.d.ts.map +1 -0
  1476. package/dist/server/tools/tool_names.js +67 -0
  1477. package/dist/server/tools/tool_names.js.map +1 -0
  1478. package/dist/server/tools/types.d.ts +14 -0
  1479. package/dist/server/tools/types.d.ts.map +1 -0
  1480. package/dist/server/tools/types.js +2 -0
  1481. package/dist/server/tools/types.js.map +1 -0
  1482. package/dist/server/tools/utils.d.ts +17 -0
  1483. package/dist/server/tools/utils.d.ts.map +1 -0
  1484. package/dist/server/tools/utils.js +65 -0
  1485. package/dist/server/tools/utils.js.map +1 -0
  1486. package/dist/types/analysis.d.ts +358 -0
  1487. package/dist/types/analysis.d.ts.map +1 -0
  1488. package/dist/types/analysis.js +2 -0
  1489. package/dist/types/analysis.js.map +1 -0
  1490. package/dist/types/base.d.ts +13 -0
  1491. package/dist/types/base.d.ts.map +1 -0
  1492. package/dist/types/base.js +3 -0
  1493. package/dist/types/base.js.map +1 -0
  1494. package/dist/types/config.d.ts +130 -0
  1495. package/dist/types/config.d.ts.map +1 -0
  1496. package/dist/types/config.js +2 -0
  1497. package/dist/types/config.js.map +1 -0
  1498. package/dist/types/delivery.d.ts +304 -0
  1499. package/dist/types/delivery.d.ts.map +1 -0
  1500. package/dist/types/delivery.js +2 -0
  1501. package/dist/types/delivery.js.map +1 -0
  1502. package/dist/types/dual_layer.d.ts +97 -0
  1503. package/dist/types/dual_layer.d.ts.map +1 -0
  1504. package/dist/types/dual_layer.js +3 -0
  1505. package/dist/types/dual_layer.js.map +1 -0
  1506. package/dist/types/evidence.d.ts +41 -0
  1507. package/dist/types/evidence.d.ts.map +1 -0
  1508. package/dist/types/evidence.js +3 -0
  1509. package/dist/types/evidence.js.map +1 -0
  1510. package/dist/types/execution.d.ts +31 -0
  1511. package/dist/types/execution.d.ts.map +1 -0
  1512. package/dist/types/execution.js +3 -0
  1513. package/dist/types/execution.js.map +1 -0
  1514. package/dist/types/index.d.ts +14 -0
  1515. package/dist/types/index.d.ts.map +1 -0
  1516. package/dist/types/index.js +14 -0
  1517. package/dist/types/index.js.map +1 -0
  1518. package/dist/types/knowledge.d.ts +116 -0
  1519. package/dist/types/knowledge.d.ts.map +1 -0
  1520. package/dist/types/knowledge.js +5 -0
  1521. package/dist/types/knowledge.js.map +1 -0
  1522. package/dist/types/phase.d.ts +50 -0
  1523. package/dist/types/phase.d.ts.map +1 -0
  1524. package/dist/types/phase.js +3 -0
  1525. package/dist/types/phase.js.map +1 -0
  1526. package/dist/types/pipeline.d.ts +538 -0
  1527. package/dist/types/pipeline.d.ts.map +1 -0
  1528. package/dist/types/pipeline.js +6 -0
  1529. package/dist/types/pipeline.js.map +1 -0
  1530. package/dist/types/review.d.ts +149 -0
  1531. package/dist/types/review.d.ts.map +1 -0
  1532. package/dist/types/review.js +2 -0
  1533. package/dist/types/review.js.map +1 -0
  1534. package/dist/types/state_machine.d.ts +353 -0
  1535. package/dist/types/state_machine.d.ts.map +1 -0
  1536. package/dist/types/state_machine.js +47 -0
  1537. package/dist/types/state_machine.js.map +1 -0
  1538. package/dist/types/task.d.ts +314 -0
  1539. package/dist/types/task.d.ts.map +1 -0
  1540. package/dist/types/task.js +2 -0
  1541. package/dist/types/task.js.map +1 -0
  1542. package/package.json +29 -16
  1543. package/templates/artifacts/existing-system//344/270/200/351/224/256/345/274/200/345/205/263/351/205/215/347/275/256/346/250/241/347/211/210.json +45 -0
  1544. 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 +52 -0
  1545. 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 +47 -0
  1546. 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 +49 -0
  1547. 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 +45 -0
  1548. 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 +53 -0
  1549. 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 +47 -0
  1550. 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 +34 -0
  1551. 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 +75 -0
  1552. 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 +42 -0
  1553. package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +54 -0
  1554. 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 +105 -0
  1555. package/templates/artifacts/shared/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +60 -0
  1556. package/templates/artifacts/shared/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +51 -0
  1557. package/templates/artifacts/shared/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +54 -0
  1558. 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 +71 -0
  1559. 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 +68 -0
  1560. package/templates/artifacts/shared//345/210/207/347/211/207/350/256/241/345/210/222/346/250/241/347/211/210.md +150 -0
  1561. 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 +41 -0
  1562. package/templates/artifacts/shared//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +203 -0
  1563. package/templates/artifacts/shared//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +40 -0
  1564. 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 +44 -0
  1565. package/templates/artifacts/shared//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +49 -0
  1566. package/templates/artifacts/shared//345/256/241/346/237/245/346/221/230/350/246/201.md +58 -0
  1567. package/templates/artifacts/shared//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +60 -0
  1568. 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 +34 -0
  1569. 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 +101 -0
  1570. package/templates/artifacts/shared//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +68 -0
  1571. 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 +79 -0
  1572. 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 +38 -0
  1573. 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 +164 -0
  1574. package/templates/artifacts/shared//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +177 -0
  1575. package/templates/artifacts/shared//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +71 -0
  1576. 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 +42 -0
  1577. package/templates/artifacts/shared//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +115 -0
  1578. package/templates/artifacts/shared//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +68 -0
  1579. 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 +177 -0
  1580. package/templates/artifacts/shared//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +62 -0
  1581. package/templates/artifacts/shared//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +126 -0
  1582. 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 +91 -0
  1583. 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 +35 -0
  1584. package/templates/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +42 -0
  1585. 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 +36 -0
  1586. 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 +62 -0
  1587. 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 +36 -0
  1588. package/templates/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +34 -0
  1589. package/templates/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +35 -0
  1590. package/templates/domain//345/244/232/347/247/237/346/210/267.md +47 -0
  1591. package/templates/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +45 -0
  1592. package/templates/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +50 -0
  1593. package/templates/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +49 -0
  1594. package/templates/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +49 -0
  1595. package/templates/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +50 -0
  1596. package/templates/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +46 -0
  1597. package/templates/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +46 -0
  1598. package/templates/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +49 -0
  1599. package/templates/gates/existing-system/gate-/346/236/266/346/236/204/350/256/276/350/256/241.yaml +26 -0
  1600. package/templates/gates/existing-system/gate-/347/216/260/346/234/211/347/263/273/347/273/237/345/210/206/346/236/220.yaml +61 -0
  1601. package/templates/gates/existing-system/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +52 -0
  1602. package/templates/gates/existing-system/gate-/350/257/225/350/277/220/350/241/214.yaml +39 -0
  1603. package/templates/gates/existing-system/gate-/350/257/246/347/273/206/350/256/276/350/256/241.yaml +33 -0
  1604. package/templates/gates/shared/gate-/344/272/244/344/273/230.yaml +32 -0
  1605. package/templates/gates/shared/gate-/344/273/243/347/240/201/345/256/241/346/237/245.yaml +53 -0
  1606. package/templates/gates/shared/gate-/344/273/273/345/212/241/350/247/204/345/210/222.yaml +144 -0
  1607. package/templates/gates/shared/gate-/344/274/232/350/257/235/345/220/257/345/212/250.yaml +14 -0
  1608. package/templates/gates/shared/gate-/345/206/263/347/255/226/347/240/224/350/256/250.yaml +14 -0
  1609. package/templates/gates/shared/gate-/345/210/207/347/211/207/345/256/241/346/237/245.yaml +50 -0
  1610. package/templates/gates/shared/gate-/345/210/207/347/211/207/346/211/247/350/241/214.yaml +51 -0
  1611. package/templates/gates/shared/gate-/345/217/221/345/270/203/345/220/216/350/247/202/345/257/237.yaml +46 -0
  1612. package/templates/gates/shared/gate-/345/256/211/345/205/250/345/256/241/350/256/241.yaml +77 -0
  1613. package/templates/gates/shared/gate-/346/234/254/345/234/260/351/252/214/346/224/266.yaml +14 -0
  1614. package/templates/gates/shared/gate-/346/236/266/346/236/204/350/256/276/350/256/241.yaml +145 -0
  1615. package/templates/gates/shared/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +40 -0
  1616. package/templates/gates/shared/gate-/347/274/226/347/240/201/345/207/206/345/244/207.yaml +50 -0
  1617. package/templates/gates/shared/gate-/347/274/226/347/240/201/345/256/236/347/216/260.yaml +52 -0
  1618. package/templates/gates/shared/gate-/347/274/226/347/240/201/351/252/214/350/257/201.yaml +47 -0
  1619. package/templates/gates/shared/gate-/350/201/224/350/260/203/351/252/214/350/257/201.yaml +53 -0
  1620. package/templates/gates/shared/gate-/350/257/246/347/273/206/350/256/276/350/256/241.yaml +123 -0
  1621. package/templates/gates/shared/gate-/351/234/200/346/261/202/345/210/206/346/236/220.yaml +164 -0
  1622. package/templates/internal/patterns/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +53 -0
  1623. 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 +55 -0
  1624. package/templates/internal/patterns/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +52 -0
  1625. package/templates/internal/patterns/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +52 -0
  1626. package/templates/internal/patterns//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +55 -0
  1627. 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 +53 -0
  1628. package/templates/internal/patterns//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +53 -0
  1629. 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 +52 -0
  1630. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +53 -0
  1631. package/templates/internal/patterns//345/206/262/347/252/201/351/227/250/347/246/201.md +53 -0
  1632. package/templates/internal/patterns//345/206/263/347/255/226/347/275/221/345/205/263.md +59 -0
  1633. 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 +55 -0
  1634. package/templates/internal/patterns//345/217/230/345/274/202/345/256/241/350/256/241.md +56 -0
  1635. package/templates/internal/patterns//345/233/236/345/275/222/347/237/251/351/230/265.md +52 -0
  1636. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +50 -0
  1637. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +52 -0
  1638. package/templates/internal/patterns//345/271/266/345/217/221/351/224/201.md +55 -0
  1639. package/templates/internal/patterns//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +65 -0
  1640. package/templates/internal/patterns//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +51 -0
  1641. package/templates/internal/patterns//346/250/241/347/211/210Frontmatter/350/247/243/346/236/220.md +55 -0
  1642. 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 +54 -0
  1643. package/templates/internal/patterns//346/265/201/345/274/217/345/277/203/350/267/263.md +62 -0
  1644. package/templates/internal/patterns//347/237/245/350/257/206/344/270/273/346/235/203.md +64 -0
  1645. package/templates/internal/patterns//350/257/255/344/271/211/350/257/201/346/215/256.md +53 -0
  1646. package/templates/internal/patterns//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +56 -0
  1647. package/templates/internal/patterns//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +53 -0
  1648. package/templates/internal/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +47 -0
  1649. package/templates/internal/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +48 -0
  1650. 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 +122 -0
  1651. 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 +56 -0
  1652. 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 +40 -0
  1653. package/templates/internal/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +52 -0
  1654. package/templates/internal/rules//345/221/275/344/273/244/350/267/257/347/224/261/350/247/204/345/210/231.md +30 -0
  1655. 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 +47 -0
  1656. 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 +131 -0
  1657. 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 +40 -0
  1658. package/templates/internal/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +52 -0
  1659. package/templates/internal/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +55 -0
  1660. 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 +51 -0
  1661. 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 +40 -0
  1662. 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 +54 -0
  1663. 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 +75 -0
  1664. 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 +69 -0
  1665. package/templates/internal/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +36 -0
  1666. 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 +35 -0
  1667. 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 +44 -0
  1668. 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 +59 -0
  1669. package/templates/internal/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +38 -0
  1670. 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 +151 -0
  1671. package/templates/internal/rules//346/250/241/347/211/210Frontmatter/350/247/204/350/214/203.md +301 -0
  1672. 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 +57 -0
  1673. 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 +53 -0
  1674. 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 +63 -0
  1675. 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 +99 -0
  1676. package/templates/internal/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +36 -0
  1677. 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 +52 -0
  1678. 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 +45 -0
  1679. 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 +63 -0
  1680. package/templates/internal/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +57 -0
  1681. 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 +56 -0
  1682. 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 +41 -0
  1683. 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 +66 -0
  1684. 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 +63 -0
  1685. 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 +40 -0
  1686. 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 +54 -0
  1687. 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 +59 -0
  1688. 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 +68 -0
  1689. 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 +37 -0
  1690. 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 +51 -0
  1691. 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 +58 -0
  1692. 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 +80 -0
  1693. package/templates/internal/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +52 -0
  1694. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +5 -20
  1695. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +5 -18
  1696. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +5 -22
  1697. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +5 -21
  1698. package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +6 -21
  1699. package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +5 -21
  1700. package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +5 -21
  1701. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +5 -20
  1702. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +5 -20
  1703. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +5 -21
  1704. package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +4 -13
  1705. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +5 -20
  1706. package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +5 -19
  1707. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +5 -23
  1708. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +5 -18
  1709. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +5 -22
  1710. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +5 -21
  1711. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +5 -21
  1712. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +5 -19
  1713. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +5 -24
  1714. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +5 -22
  1715. 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 +4 -13
  1716. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +5 -19
  1717. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +6 -22
  1718. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +5 -21
  1719. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +5 -21
  1720. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +5 -18
  1721. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +5 -22
  1722. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +5 -20
  1723. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +5 -19
  1724. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +5 -24
  1725. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +5 -21
  1726. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +5 -19
  1727. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +5 -22
  1728. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +6 -24
  1729. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +5 -20
  1730. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +5 -20
  1731. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +5 -21
  1732. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +5 -24
  1733. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +5 -18
  1734. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +5 -19
  1735. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +5 -22
  1736. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +5 -19
  1737. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +5 -21
  1738. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +5 -21
  1739. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +5 -19
  1740. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +6 -19
  1741. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +5 -19
  1742. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +5 -21
  1743. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +5 -21
  1744. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +5 -23
  1745. 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 +5 -20
  1746. package/templates/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +71 -0
  1747. package/templates/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +46 -0
  1748. package/templates/procedures//344/270/215/347/241/256/345/256/232/346/227/266/345/244/264/350/204/221/351/243/216/346/232/264/346/265/201/347/250/213.md +92 -0
  1749. 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 +52 -0
  1750. package/templates/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +51 -0
  1751. package/templates/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +56 -0
  1752. package/templates/procedures//344/273/273/345/212/241/350/247/204/345/210/222/345/267/245/344/275/234/346/265/201.md +83 -0
  1753. package/templates/procedures//344/274/232/350/257/235/346/201/242/345/244/215/346/265/201/347/250/213.md +74 -0
  1754. 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 +114 -0
  1755. package/templates/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +59 -0
  1756. 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 +40 -0
  1757. package/templates/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +45 -0
  1758. package/templates/procedures//345/221/275/344/273/244/350/267/257/347/224/261/346/265/201/347/250/213.md +32 -0
  1759. 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 +62 -0
  1760. package/templates/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +41 -0
  1761. package/templates/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +46 -0
  1762. package/templates/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +42 -0
  1763. 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 +71 -0
  1764. 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 +56 -0
  1765. 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 +90 -0
  1766. 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 +50 -0
  1767. 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 +115 -0
  1768. 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 +45 -0
  1769. 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 +96 -0
  1770. 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 +56 -0
  1771. 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 +116 -0
  1772. 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 +58 -0
  1773. 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 +64 -0
  1774. 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 +83 -0
  1775. package/templates/procedures//347/274/226/347/240/201/351/230/266/346/256/265/346/211/247/350/241/214/345/267/245/344/275/234/346/265/201.md +101 -0
  1776. package/templates/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +53 -0
  1777. 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 +62 -0
  1778. package/templates/procedures//350/256/276/350/256/241/345/256/241/350/256/241/346/265/201/347/250/213.md +180 -0
  1779. package/templates/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +135 -0
  1780. package/templates/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +90 -0
  1781. package/templates/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +46 -0
  1782. package/templates/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +95 -0
  1783. package/templates/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +46 -0
  1784. package/templates/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +60 -0
  1785. package/templates/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +63 -0
  1786. package/templates/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +63 -0
  1787. 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 +77 -0
  1788. package/templates/rules/existing-system//350/200/201/347/263/273/347/273/237/345/210/207/347/211/207/350/247/204/345/210/222/350/247/204/345/210/231.md +35 -0
  1789. package/templates/rules/existing-system//350/200/246/345/220/210/346/243/200/346/265/213/350/247/204/345/210/231.md +73 -0
  1790. 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 +65 -0
  1791. 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 +81 -0
  1792. 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 +121 -0
  1793. 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 +58 -0
  1794. package/templates/rules/shared/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +67 -0
  1795. 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 +96 -0
  1796. package/templates/rules/shared//344/270/212/346/270/270/344/272/244/345/217/211/351/252/214/350/257/201/350/247/204/345/210/231.md +56 -0
  1797. package/templates/rules/shared//344/270/212/346/270/270/350/256/276/350/256/241/344/272/244/345/217/211/351/252/214/350/257/201/345/256/241/346/237/245/350/247/204/345/210/231.md +67 -0
  1798. 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 +106 -0
  1799. 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 +66 -0
  1800. 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 +63 -0
  1801. package/templates/rules/shared//345/210/207/347/211/207/346/211/247/350/241/214/347/272/252/345/276/213/350/247/204/345/210/231.md +96 -0
  1802. package/templates/rules/shared//345/210/207/347/211/207/350/247/204/345/210/222/350/247/204/345/210/231.md +64 -0
  1803. package/templates/rules/shared//345/216/237/345/236/213/346/272/220/347/240/201/346/217/220/345/217/226/350/247/204/345/210/231.md +67 -0
  1804. package/templates/rules/shared//345/216/237/345/236/213/350/257/264/346/230/216/345/256/241/346/237/245/350/247/204/345/210/231.md +73 -0
  1805. 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 +65 -0
  1806. 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 +63 -0
  1807. package/templates/rules/shared//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +132 -0
  1808. package/templates/rules/shared//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +112 -0
  1809. package/templates/rules/shared//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +100 -0
  1810. 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 +112 -0
  1811. package/templates/rules/shared//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +99 -0
  1812. package/templates/rules/shared//346/236/266/346/236/204/350/256/276/350/256/241/345/256/241/346/237/245/350/247/204/345/210/231.md +102 -0
  1813. package/templates/rules/shared//346/236/266/346/236/204/350/256/276/350/256/241/350/247/204/345/210/231.md +64 -0
  1814. package/templates/rules/shared//347/213/254/347/253/213/345/256/241/346/237/245/350/247/204/345/210/231.md +33 -0
  1815. package/templates/rules/shared//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +171 -0
  1816. 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 +52 -0
  1817. package/templates/rules/shared//350/201/224/350/260/203/351/252/214/350/257/201/346/270/205/345/215/225.md +76 -0
  1818. package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +27 -0
  1819. package/templates/rules/shared//350/257/246/347/273/206/350/256/276/350/256/241/345/256/241/346/237/245/350/247/204/345/210/231.md +82 -0
  1820. package/templates/rules/shared//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +102 -0
  1821. package/templates/rules/shared//350/277/275/350/270/252/347/237/251/351/230/265ID/350/247/204/345/210/231.md +48 -0
  1822. package/templates/rules/shared//350/277/275/350/270/252/347/237/251/351/230/265/345/256/241/346/237/245/350/247/204/345/210/231.md +51 -0
  1823. 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 +80 -0
  1824. 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 +56 -0
  1825. package/templates/scaffolds/react/ErrorBoundary.tsx.hbs +49 -0
  1826. package/templates/scaffolds/react/Layout.tsx.hbs +20 -0
  1827. package/templates/scaffolds/spring-boot/ControllerTest.java.hbs +36 -0
  1828. package/templates/scaffolds/spring-boot/Mapper.xml.hbs +29 -0
  1829. package/templates//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +147 -0
  1830. package/dist/adapters/claude_code/pre_prompt_contract.d.ts +0 -64
  1831. package/dist/adapters/claude_code/pre_prompt_contract.d.ts.map +0 -1
  1832. package/dist/adapters/claude_code/pre_prompt_contract.js +0 -116
  1833. package/dist/adapters/claude_code/pre_prompt_contract.js.map +0 -1
  1834. package/dist/adapters/claude_code/server.d.ts +0 -26
  1835. package/dist/adapters/claude_code/server.d.ts.map +0 -1
  1836. package/dist/adapters/claude_code/server.js +0 -59
  1837. package/dist/adapters/claude_code/server.js.map +0 -1
  1838. package/dist/engine/architecture_decision_workshop.d.ts +0 -58
  1839. package/dist/engine/architecture_decision_workshop.d.ts.map +0 -1
  1840. package/dist/engine/architecture_decision_workshop.js +0 -118
  1841. package/dist/engine/architecture_decision_workshop.js.map +0 -1
  1842. package/dist/engine/architecture_design_contract.d.ts.map +0 -1
  1843. package/dist/engine/architecture_design_contract.js.map +0 -1
  1844. package/dist/engine/artifact_contract_registry.d.ts +0 -138
  1845. package/dist/engine/artifact_contract_registry.d.ts.map +0 -1
  1846. package/dist/engine/artifact_contract_registry.js +0 -420
  1847. package/dist/engine/artifact_contract_registry.js.map +0 -1
  1848. package/dist/engine/asset_manifest.d.ts +0 -67
  1849. package/dist/engine/asset_manifest.d.ts.map +0 -1
  1850. package/dist/engine/asset_manifest.js +0 -301
  1851. package/dist/engine/asset_manifest.js.map +0 -1
  1852. package/dist/engine/audit_pool.d.ts.map +0 -1
  1853. package/dist/engine/audit_pool.js +0 -120
  1854. package/dist/engine/audit_pool.js.map +0 -1
  1855. package/dist/engine/audit_sampler.d.ts +0 -20
  1856. package/dist/engine/audit_sampler.d.ts.map +0 -1
  1857. package/dist/engine/audit_sampler.js +0 -29
  1858. package/dist/engine/audit_sampler.js.map +0 -1
  1859. package/dist/engine/audit_verifier.d.ts +0 -52
  1860. package/dist/engine/audit_verifier.d.ts.map +0 -1
  1861. package/dist/engine/audit_verifier.js +0 -101
  1862. package/dist/engine/audit_verifier.js.map +0 -1
  1863. package/dist/engine/backend_implementation_contract.d.ts.map +0 -1
  1864. package/dist/engine/backend_implementation_contract.js +0 -164
  1865. package/dist/engine/backend_implementation_contract.js.map +0 -1
  1866. package/dist/engine/brainstorm_contract.d.ts +0 -48
  1867. package/dist/engine/brainstorm_contract.d.ts.map +0 -1
  1868. package/dist/engine/brainstorm_contract.js +0 -146
  1869. package/dist/engine/brainstorm_contract.js.map +0 -1
  1870. package/dist/engine/capability_action_advisor.d.ts.map +0 -1
  1871. package/dist/engine/capability_action_advisor.js +0 -158
  1872. package/dist/engine/capability_action_advisor.js.map +0 -1
  1873. package/dist/engine/capability_registry.d.ts.map +0 -1
  1874. package/dist/engine/capability_registry.js +0 -731
  1875. package/dist/engine/capability_registry.js.map +0 -1
  1876. package/dist/engine/capability_state_store.d.ts +0 -113
  1877. package/dist/engine/capability_state_store.d.ts.map +0 -1
  1878. package/dist/engine/capability_state_store.js +0 -172
  1879. package/dist/engine/capability_state_store.js.map +0 -1
  1880. package/dist/engine/chinese_semantic_priority.d.ts.map +0 -1
  1881. package/dist/engine/chinese_semantic_priority.js.map +0 -1
  1882. package/dist/engine/classifier.d.ts +0 -24
  1883. package/dist/engine/classifier.d.ts.map +0 -1
  1884. package/dist/engine/classifier.js +0 -209
  1885. package/dist/engine/classifier.js.map +0 -1
  1886. package/dist/engine/code_maintainability_observability_contract.d.ts.map +0 -1
  1887. package/dist/engine/code_maintainability_observability_contract.js +0 -711
  1888. package/dist/engine/code_maintainability_observability_contract.js.map +0 -1
  1889. package/dist/engine/code_reviewer.d.ts +0 -71
  1890. package/dist/engine/code_reviewer.d.ts.map +0 -1
  1891. package/dist/engine/code_reviewer.js +0 -643
  1892. package/dist/engine/code_reviewer.js.map +0 -1
  1893. package/dist/engine/coding_readiness_gate.d.ts +0 -46
  1894. package/dist/engine/coding_readiness_gate.d.ts.map +0 -1
  1895. package/dist/engine/coding_readiness_gate.js +0 -175
  1896. package/dist/engine/coding_readiness_gate.js.map +0 -1
  1897. package/dist/engine/command_execution_contract.d.ts +0 -226
  1898. package/dist/engine/command_execution_contract.d.ts.map +0 -1
  1899. package/dist/engine/command_execution_contract.js +0 -572
  1900. package/dist/engine/command_execution_contract.js.map +0 -1
  1901. package/dist/engine/confidence_scorer.d.ts +0 -32
  1902. package/dist/engine/confidence_scorer.d.ts.map +0 -1
  1903. package/dist/engine/confidence_scorer.js +0 -45
  1904. package/dist/engine/confidence_scorer.js.map +0 -1
  1905. package/dist/engine/config_auto_repair.d.ts +0 -29
  1906. package/dist/engine/config_auto_repair.d.ts.map +0 -1
  1907. package/dist/engine/config_auto_repair.js +0 -254
  1908. package/dist/engine/config_auto_repair.js.map +0 -1
  1909. package/dist/engine/config_precedence_contract.d.ts +0 -269
  1910. package/dist/engine/config_precedence_contract.d.ts.map +0 -1
  1911. package/dist/engine/config_precedence_contract.js +0 -949
  1912. package/dist/engine/config_precedence_contract.js.map +0 -1
  1913. package/dist/engine/config_write_boundary.d.ts.map +0 -1
  1914. package/dist/engine/config_write_boundary.js +0 -69
  1915. package/dist/engine/config_write_boundary.js.map +0 -1
  1916. package/dist/engine/conflict_gate.d.ts.map +0 -1
  1917. package/dist/engine/conflict_gate.js +0 -92
  1918. package/dist/engine/conflict_gate.js.map +0 -1
  1919. package/dist/engine/consumable_asset_registry.d.ts +0 -50
  1920. package/dist/engine/consumable_asset_registry.d.ts.map +0 -1
  1921. package/dist/engine/consumable_asset_registry.js +0 -1336
  1922. package/dist/engine/consumable_asset_registry.js.map +0 -1
  1923. package/dist/engine/consumption_trace_store.d.ts +0 -58
  1924. package/dist/engine/consumption_trace_store.d.ts.map +0 -1
  1925. package/dist/engine/consumption_trace_store.js +0 -91
  1926. package/dist/engine/consumption_trace_store.js.map +0 -1
  1927. package/dist/engine/contract_guard.d.ts +0 -37
  1928. package/dist/engine/contract_guard.d.ts.map +0 -1
  1929. package/dist/engine/contract_guard.js +0 -589
  1930. package/dist/engine/contract_guard.js.map +0 -1
  1931. package/dist/engine/contract_registry.d.ts +0 -113
  1932. package/dist/engine/contract_registry.d.ts.map +0 -1
  1933. package/dist/engine/contract_registry.js +0 -1632
  1934. package/dist/engine/contract_registry.js.map +0 -1
  1935. package/dist/engine/contract_state_store.d.ts +0 -67
  1936. package/dist/engine/contract_state_store.d.ts.map +0 -1
  1937. package/dist/engine/contract_state_store.js +0 -167
  1938. package/dist/engine/contract_state_store.js.map +0 -1
  1939. package/dist/engine/control_plane_contract.d.ts.map +0 -1
  1940. package/dist/engine/control_plane_contract.js +0 -247
  1941. package/dist/engine/control_plane_contract.js.map +0 -1
  1942. package/dist/engine/core_engineering_principles.d.ts +0 -155
  1943. package/dist/engine/core_engineering_principles.d.ts.map +0 -1
  1944. package/dist/engine/core_engineering_principles.js +0 -417
  1945. package/dist/engine/core_engineering_principles.js.map +0 -1
  1946. package/dist/engine/core_experience_principle.d.ts +0 -194
  1947. package/dist/engine/core_experience_principle.d.ts.map +0 -1
  1948. package/dist/engine/core_experience_principle.js +0 -349
  1949. package/dist/engine/core_experience_principle.js.map +0 -1
  1950. package/dist/engine/debt_reporter.d.ts +0 -9
  1951. package/dist/engine/debt_reporter.d.ts.map +0 -1
  1952. package/dist/engine/debt_reporter.js +0 -94
  1953. package/dist/engine/debt_reporter.js.map +0 -1
  1954. package/dist/engine/debt_tracker.d.ts +0 -72
  1955. package/dist/engine/debt_tracker.d.ts.map +0 -1
  1956. package/dist/engine/debt_tracker.js +0 -224
  1957. package/dist/engine/debt_tracker.js.map +0 -1
  1958. package/dist/engine/debug_log.d.ts +0 -5
  1959. package/dist/engine/debug_log.d.ts.map +0 -1
  1960. package/dist/engine/debug_log.js +0 -5
  1961. package/dist/engine/debug_log.js.map +0 -1
  1962. package/dist/engine/debugger.d.ts +0 -12
  1963. package/dist/engine/debugger.d.ts.map +0 -1
  1964. package/dist/engine/debugger.js +0 -415
  1965. package/dist/engine/debugger.js.map +0 -1
  1966. package/dist/engine/decision_contract.d.ts +0 -38
  1967. package/dist/engine/decision_contract.d.ts.map +0 -1
  1968. package/dist/engine/decision_contract.js +0 -57
  1969. package/dist/engine/decision_contract.js.map +0 -1
  1970. package/dist/engine/decision_workshop.d.ts +0 -168
  1971. package/dist/engine/decision_workshop.d.ts.map +0 -1
  1972. package/dist/engine/decision_workshop.js.map +0 -1
  1973. package/dist/engine/degradation.d.ts.map +0 -1
  1974. package/dist/engine/degradation.js.map +0 -1
  1975. package/dist/engine/delivery.d.ts +0 -49
  1976. package/dist/engine/delivery.d.ts.map +0 -1
  1977. package/dist/engine/delivery.js +0 -373
  1978. package/dist/engine/delivery.js.map +0 -1
  1979. package/dist/engine/delivery_readiness.d.ts +0 -70
  1980. package/dist/engine/delivery_readiness.d.ts.map +0 -1
  1981. package/dist/engine/delivery_readiness.js +0 -198
  1982. package/dist/engine/delivery_readiness.js.map +0 -1
  1983. package/dist/engine/deprecated_contract.d.ts +0 -21
  1984. package/dist/engine/deprecated_contract.d.ts.map +0 -1
  1985. package/dist/engine/deprecated_contract.js +0 -14
  1986. package/dist/engine/deprecated_contract.js.map +0 -1
  1987. package/dist/engine/design_artifact_pack.d.ts +0 -50
  1988. package/dist/engine/design_artifact_pack.d.ts.map +0 -1
  1989. package/dist/engine/design_artifact_pack.js.map +0 -1
  1990. package/dist/engine/design_lifecycle_contract.d.ts +0 -60
  1991. package/dist/engine/design_lifecycle_contract.d.ts.map +0 -1
  1992. package/dist/engine/design_lifecycle_contract.js +0 -499
  1993. package/dist/engine/design_lifecycle_contract.js.map +0 -1
  1994. package/dist/engine/detail_discipline.d.ts.map +0 -1
  1995. package/dist/engine/detail_discipline.js.map +0 -1
  1996. package/dist/engine/developer_sovereignty.d.ts +0 -62
  1997. package/dist/engine/developer_sovereignty.d.ts.map +0 -1
  1998. package/dist/engine/developer_sovereignty.js +0 -141
  1999. package/dist/engine/developer_sovereignty.js.map +0 -1
  2000. package/dist/engine/diagnostic_registry.d.ts.map +0 -1
  2001. package/dist/engine/diagnostic_registry.js +0 -268
  2002. package/dist/engine/diagnostic_registry.js.map +0 -1
  2003. package/dist/engine/diff_ownership.d.ts.map +0 -1
  2004. package/dist/engine/diff_ownership.js +0 -152
  2005. package/dist/engine/diff_ownership.js.map +0 -1
  2006. package/dist/engine/diff_ownership_store.d.ts.map +0 -1
  2007. package/dist/engine/diff_ownership_store.js +0 -291
  2008. package/dist/engine/diff_ownership_store.js.map +0 -1
  2009. package/dist/engine/documentation_governance.d.ts.map +0 -1
  2010. package/dist/engine/documentation_governance.js.map +0 -1
  2011. package/dist/engine/dual_layer_mechanism_registry.d.ts +0 -68
  2012. package/dist/engine/dual_layer_mechanism_registry.d.ts.map +0 -1
  2013. package/dist/engine/dual_layer_mechanism_registry.js +0 -2408
  2014. package/dist/engine/dual_layer_mechanism_registry.js.map +0 -1
  2015. package/dist/engine/enforcement_guard.d.ts +0 -84
  2016. package/dist/engine/enforcement_guard.d.ts.map +0 -1
  2017. package/dist/engine/enforcement_guard.js +0 -320
  2018. package/dist/engine/enforcement_guard.js.map +0 -1
  2019. package/dist/engine/escape_report.d.ts.map +0 -1
  2020. package/dist/engine/escape_report.js +0 -136
  2021. package/dist/engine/escape_report.js.map +0 -1
  2022. package/dist/engine/evidence_grounding_contract.d.ts +0 -137
  2023. package/dist/engine/evidence_grounding_contract.d.ts.map +0 -1
  2024. package/dist/engine/evidence_grounding_contract.js +0 -410
  2025. package/dist/engine/evidence_grounding_contract.js.map +0 -1
  2026. package/dist/engine/evolution_regression_gate.d.ts +0 -42
  2027. package/dist/engine/evolution_regression_gate.d.ts.map +0 -1
  2028. package/dist/engine/evolution_regression_gate.js +0 -159
  2029. package/dist/engine/evolution_regression_gate.js.map +0 -1
  2030. package/dist/engine/evolver.d.ts +0 -78
  2031. package/dist/engine/evolver.d.ts.map +0 -1
  2032. package/dist/engine/evolver.js +0 -377
  2033. package/dist/engine/evolver.js.map +0 -1
  2034. package/dist/engine/existing_system_analysis.d.ts.map +0 -1
  2035. package/dist/engine/existing_system_analysis.js.map +0 -1
  2036. package/dist/engine/expand_pipeline.d.ts +0 -121
  2037. package/dist/engine/expand_pipeline.d.ts.map +0 -1
  2038. package/dist/engine/expand_pipeline.js +0 -141
  2039. package/dist/engine/expand_pipeline.js.map +0 -1
  2040. package/dist/engine/explicit_asset_registry.d.ts +0 -30
  2041. package/dist/engine/explicit_asset_registry.d.ts.map +0 -1
  2042. package/dist/engine/explicit_asset_registry.js +0 -3862
  2043. package/dist/engine/explicit_asset_registry.js.map +0 -1
  2044. package/dist/engine/extension_contract.d.ts +0 -50
  2045. package/dist/engine/extension_contract.d.ts.map +0 -1
  2046. package/dist/engine/extension_contract.js +0 -158
  2047. package/dist/engine/extension_contract.js.map +0 -1
  2048. package/dist/engine/extension_platform_contracts.d.ts +0 -718
  2049. package/dist/engine/extension_platform_contracts.d.ts.map +0 -1
  2050. package/dist/engine/extension_platform_contracts.js +0 -42
  2051. package/dist/engine/extension_platform_contracts.js.map +0 -1
  2052. package/dist/engine/extension_scenario_registry.d.ts +0 -30
  2053. package/dist/engine/extension_scenario_registry.d.ts.map +0 -1
  2054. package/dist/engine/extension_scenario_registry.js +0 -976
  2055. package/dist/engine/extension_scenario_registry.js.map +0 -1
  2056. package/dist/engine/failure_classifier.d.ts +0 -39
  2057. package/dist/engine/failure_classifier.d.ts.map +0 -1
  2058. package/dist/engine/failure_classifier.js +0 -175
  2059. package/dist/engine/failure_classifier.js.map +0 -1
  2060. package/dist/engine/failure_report.d.ts.map +0 -1
  2061. package/dist/engine/failure_report.js.map +0 -1
  2062. package/dist/engine/first_principles.d.ts +0 -37
  2063. package/dist/engine/first_principles.d.ts.map +0 -1
  2064. package/dist/engine/first_principles.js +0 -141
  2065. package/dist/engine/first_principles.js.map +0 -1
  2066. package/dist/engine/foundation_scenario_registry.d.ts +0 -76
  2067. package/dist/engine/foundation_scenario_registry.d.ts.map +0 -1
  2068. package/dist/engine/foundation_scenario_registry.js +0 -457
  2069. package/dist/engine/foundation_scenario_registry.js.map +0 -1
  2070. package/dist/engine/foundation_scenario_runners.d.ts +0 -54
  2071. package/dist/engine/foundation_scenario_runners.d.ts.map +0 -1
  2072. package/dist/engine/foundation_scenario_runners.js +0 -602
  2073. package/dist/engine/foundation_scenario_runners.js.map +0 -1
  2074. package/dist/engine/git_deps.d.ts +0 -69
  2075. package/dist/engine/git_deps.d.ts.map +0 -1
  2076. package/dist/engine/git_deps.js +0 -9
  2077. package/dist/engine/git_deps.js.map +0 -1
  2078. package/dist/engine/governance_report.d.ts +0 -100
  2079. package/dist/engine/governance_report.d.ts.map +0 -1
  2080. package/dist/engine/governance_report.js +0 -184
  2081. package/dist/engine/governance_report.js.map +0 -1
  2082. package/dist/engine/historical_issue_mechanization_matrix.d.ts +0 -28
  2083. package/dist/engine/historical_issue_mechanization_matrix.d.ts.map +0 -1
  2084. package/dist/engine/historical_issue_mechanization_matrix.js +0 -134
  2085. package/dist/engine/historical_issue_mechanization_matrix.js.map +0 -1
  2086. package/dist/engine/implementation_roadmap_registry.d.ts +0 -105
  2087. package/dist/engine/implementation_roadmap_registry.d.ts.map +0 -1
  2088. package/dist/engine/implementation_roadmap_registry.js +0 -1340
  2089. package/dist/engine/implementation_roadmap_registry.js.map +0 -1
  2090. package/dist/engine/input_material_contract_registry.d.ts +0 -185
  2091. package/dist/engine/input_material_contract_registry.d.ts.map +0 -1
  2092. package/dist/engine/input_material_contract_registry.js +0 -564
  2093. package/dist/engine/input_material_contract_registry.js.map +0 -1
  2094. package/dist/engine/input_material_extractor.d.ts +0 -47
  2095. package/dist/engine/input_material_extractor.d.ts.map +0 -1
  2096. package/dist/engine/input_material_extractor.js +0 -155
  2097. package/dist/engine/input_material_extractor.js.map +0 -1
  2098. package/dist/engine/instruction_contract.d.ts +0 -75
  2099. package/dist/engine/instruction_contract.d.ts.map +0 -1
  2100. package/dist/engine/instruction_contract.js +0 -185
  2101. package/dist/engine/instruction_contract.js.map +0 -1
  2102. package/dist/engine/intent_expander.d.ts +0 -59
  2103. package/dist/engine/intent_expander.d.ts.map +0 -1
  2104. package/dist/engine/intent_expander.js +0 -2150
  2105. package/dist/engine/intent_expander.js.map +0 -1
  2106. package/dist/engine/intent_route_scorer.d.ts +0 -45
  2107. package/dist/engine/intent_route_scorer.d.ts.map +0 -1
  2108. package/dist/engine/intent_route_scorer.js +0 -341
  2109. package/dist/engine/intent_route_scorer.js.map +0 -1
  2110. package/dist/engine/intent_router.d.ts +0 -128
  2111. package/dist/engine/intent_router.d.ts.map +0 -1
  2112. package/dist/engine/intent_router.js +0 -628
  2113. package/dist/engine/intent_router.js.map +0 -1
  2114. package/dist/engine/intent_signal_extractor.d.ts +0 -73
  2115. package/dist/engine/intent_signal_extractor.d.ts.map +0 -1
  2116. package/dist/engine/intent_signal_extractor.js +0 -296
  2117. package/dist/engine/intent_signal_extractor.js.map +0 -1
  2118. package/dist/engine/io_controller.d.ts +0 -87
  2119. package/dist/engine/io_controller.d.ts.map +0 -1
  2120. package/dist/engine/io_controller.js +0 -203
  2121. package/dist/engine/io_controller.js.map +0 -1
  2122. package/dist/engine/java_quality_guard.d.ts.map +0 -1
  2123. package/dist/engine/java_quality_guard.js +0 -228
  2124. package/dist/engine/java_quality_guard.js.map +0 -1
  2125. package/dist/engine/job_manager.d.ts +0 -111
  2126. package/dist/engine/job_manager.d.ts.map +0 -1
  2127. package/dist/engine/job_manager.js +0 -270
  2128. package/dist/engine/job_manager.js.map +0 -1
  2129. package/dist/engine/knowledge_acceptance_registry.d.ts.map +0 -1
  2130. package/dist/engine/knowledge_acceptance_registry.js +0 -271
  2131. package/dist/engine/knowledge_acceptance_registry.js.map +0 -1
  2132. package/dist/engine/knowledge_asset_audit.d.ts.map +0 -1
  2133. package/dist/engine/knowledge_asset_audit.js +0 -230
  2134. package/dist/engine/knowledge_asset_audit.js.map +0 -1
  2135. package/dist/engine/knowledge_asset_consumer.d.ts +0 -150
  2136. package/dist/engine/knowledge_asset_consumer.d.ts.map +0 -1
  2137. package/dist/engine/knowledge_asset_consumer.js +0 -287
  2138. package/dist/engine/knowledge_asset_consumer.js.map +0 -1
  2139. package/dist/engine/knowledge_asset_generation_gate.d.ts.map +0 -1
  2140. package/dist/engine/knowledge_asset_generation_gate.js.map +0 -1
  2141. package/dist/engine/knowledge_asset_migration.d.ts.map +0 -1
  2142. package/dist/engine/knowledge_asset_migration.js +0 -204
  2143. package/dist/engine/knowledge_asset_migration.js.map +0 -1
  2144. package/dist/engine/knowledge_asset_schema.d.ts +0 -97
  2145. package/dist/engine/knowledge_asset_schema.d.ts.map +0 -1
  2146. package/dist/engine/knowledge_asset_schema.js +0 -413
  2147. package/dist/engine/knowledge_asset_schema.js.map +0 -1
  2148. package/dist/engine/knowledge_config_loader.d.ts.map +0 -1
  2149. package/dist/engine/knowledge_config_loader.js +0 -113
  2150. package/dist/engine/knowledge_config_loader.js.map +0 -1
  2151. package/dist/engine/knowledge_consumption_snapshot.d.ts +0 -91
  2152. package/dist/engine/knowledge_consumption_snapshot.d.ts.map +0 -1
  2153. package/dist/engine/knowledge_consumption_snapshot.js +0 -113
  2154. package/dist/engine/knowledge_consumption_snapshot.js.map +0 -1
  2155. package/dist/engine/knowledge_evolution.d.ts +0 -82
  2156. package/dist/engine/knowledge_evolution.d.ts.map +0 -1
  2157. package/dist/engine/knowledge_evolution.js +0 -272
  2158. package/dist/engine/knowledge_evolution.js.map +0 -1
  2159. package/dist/engine/knowledge_governance_gate.d.ts +0 -38
  2160. package/dist/engine/knowledge_governance_gate.d.ts.map +0 -1
  2161. package/dist/engine/knowledge_governance_gate.js +0 -123
  2162. package/dist/engine/knowledge_governance_gate.js.map +0 -1
  2163. package/dist/engine/knowledge_injection_boundary.d.ts +0 -59
  2164. package/dist/engine/knowledge_injection_boundary.d.ts.map +0 -1
  2165. package/dist/engine/knowledge_injection_boundary.js +0 -617
  2166. package/dist/engine/knowledge_injection_boundary.js.map +0 -1
  2167. package/dist/engine/knowledge_lifecycle.d.ts +0 -83
  2168. package/dist/engine/knowledge_lifecycle.d.ts.map +0 -1
  2169. package/dist/engine/knowledge_lifecycle.js +0 -247
  2170. package/dist/engine/knowledge_lifecycle.js.map +0 -1
  2171. package/dist/engine/knowledge_manager.d.ts +0 -149
  2172. package/dist/engine/knowledge_manager.d.ts.map +0 -1
  2173. package/dist/engine/knowledge_manager.js +0 -934
  2174. package/dist/engine/knowledge_manager.js.map +0 -1
  2175. package/dist/engine/knowledge_scenario_registry.d.ts +0 -21
  2176. package/dist/engine/knowledge_scenario_registry.d.ts.map +0 -1
  2177. package/dist/engine/knowledge_scenario_registry.js +0 -337
  2178. package/dist/engine/knowledge_scenario_registry.js.map +0 -1
  2179. package/dist/engine/knowledge_sovereignty.d.ts.map +0 -1
  2180. package/dist/engine/knowledge_sovereignty.js +0 -196
  2181. package/dist/engine/knowledge_sovereignty.js.map +0 -1
  2182. package/dist/engine/knowledge_template_contracts.d.ts +0 -244
  2183. package/dist/engine/knowledge_template_contracts.d.ts.map +0 -1
  2184. package/dist/engine/knowledge_template_contracts.js.map +0 -1
  2185. package/dist/engine/language_policy.d.ts +0 -78
  2186. package/dist/engine/language_policy.d.ts.map +0 -1
  2187. package/dist/engine/language_policy.js +0 -139
  2188. package/dist/engine/language_policy.js.map +0 -1
  2189. package/dist/engine/language_policy_contract.d.ts.map +0 -1
  2190. package/dist/engine/language_policy_contract.js.map +0 -1
  2191. package/dist/engine/lifecycle_knowledge_contract.d.ts +0 -59
  2192. package/dist/engine/lifecycle_knowledge_contract.d.ts.map +0 -1
  2193. package/dist/engine/lifecycle_knowledge_contract.js +0 -203
  2194. package/dist/engine/lifecycle_knowledge_contract.js.map +0 -1
  2195. package/dist/engine/llm_gateway.d.ts +0 -167
  2196. package/dist/engine/llm_gateway.d.ts.map +0 -1
  2197. package/dist/engine/llm_gateway.js +0 -292
  2198. package/dist/engine/llm_gateway.js.map +0 -1
  2199. package/dist/engine/local_docker_acceptance.d.ts +0 -94
  2200. package/dist/engine/local_docker_acceptance.d.ts.map +0 -1
  2201. package/dist/engine/local_docker_acceptance.js +0 -312
  2202. package/dist/engine/local_docker_acceptance.js.map +0 -1
  2203. package/dist/engine/log_governance.d.ts.map +0 -1
  2204. package/dist/engine/log_governance.js +0 -76
  2205. package/dist/engine/log_governance.js.map +0 -1
  2206. package/dist/engine/logger.d.ts.map +0 -1
  2207. package/dist/engine/logger.js +0 -115
  2208. package/dist/engine/logger.js.map +0 -1
  2209. package/dist/engine/main_path_integration_contract.d.ts +0 -383
  2210. package/dist/engine/main_path_integration_contract.d.ts.map +0 -1
  2211. package/dist/engine/main_path_integration_contract.js +0 -1582
  2212. package/dist/engine/main_path_integration_contract.js.map +0 -1
  2213. package/dist/engine/mechanism_contract_registry.d.ts +0 -59
  2214. package/dist/engine/mechanism_contract_registry.d.ts.map +0 -1
  2215. package/dist/engine/mechanism_contract_registry.js +0 -1224
  2216. package/dist/engine/mechanism_contract_registry.js.map +0 -1
  2217. package/dist/engine/mechanism_family_registry.d.ts +0 -48
  2218. package/dist/engine/mechanism_family_registry.d.ts.map +0 -1
  2219. package/dist/engine/mechanism_family_registry.js +0 -197
  2220. package/dist/engine/mechanism_family_registry.js.map +0 -1
  2221. package/dist/engine/mechanism_health_check.d.ts +0 -23
  2222. package/dist/engine/mechanism_health_check.d.ts.map +0 -1
  2223. package/dist/engine/mechanism_health_check.js +0 -140
  2224. package/dist/engine/mechanism_health_check.js.map +0 -1
  2225. package/dist/engine/metric_governance.d.ts.map +0 -1
  2226. package/dist/engine/metric_governance.js.map +0 -1
  2227. package/dist/engine/mutation_audit.d.ts +0 -53
  2228. package/dist/engine/mutation_audit.d.ts.map +0 -1
  2229. package/dist/engine/mutation_audit.js +0 -136
  2230. package/dist/engine/mutation_audit.js.map +0 -1
  2231. package/dist/engine/next_action_planner.d.ts +0 -32
  2232. package/dist/engine/next_action_planner.d.ts.map +0 -1
  2233. package/dist/engine/next_action_planner.js +0 -827
  2234. package/dist/engine/next_action_planner.js.map +0 -1
  2235. package/dist/engine/observability.d.ts +0 -68
  2236. package/dist/engine/observability.d.ts.map +0 -1
  2237. package/dist/engine/observability.js +0 -435
  2238. package/dist/engine/observability.js.map +0 -1
  2239. package/dist/engine/observed_consumption.d.ts +0 -54
  2240. package/dist/engine/observed_consumption.d.ts.map +0 -1
  2241. package/dist/engine/observed_consumption.js +0 -378
  2242. package/dist/engine/observed_consumption.js.map +0 -1
  2243. package/dist/engine/ood_solid_contract.d.ts.map +0 -1
  2244. package/dist/engine/ood_solid_contract.js +0 -115
  2245. package/dist/engine/ood_solid_contract.js.map +0 -1
  2246. package/dist/engine/path_scope_utils.d.ts +0 -21
  2247. package/dist/engine/path_scope_utils.d.ts.map +0 -1
  2248. package/dist/engine/path_scope_utils.js +0 -126
  2249. package/dist/engine/path_scope_utils.js.map +0 -1
  2250. package/dist/engine/plan_proposal_gate.d.ts.map +0 -1
  2251. package/dist/engine/plan_proposal_gate.js +0 -341
  2252. package/dist/engine/plan_proposal_gate.js.map +0 -1
  2253. package/dist/engine/platform_context.d.ts +0 -44
  2254. package/dist/engine/platform_context.d.ts.map +0 -1
  2255. package/dist/engine/platform_context.js +0 -169
  2256. package/dist/engine/platform_context.js.map +0 -1
  2257. package/dist/engine/policy_drift_detector.d.ts +0 -72
  2258. package/dist/engine/policy_drift_detector.d.ts.map +0 -1
  2259. package/dist/engine/policy_drift_detector.js +0 -277
  2260. package/dist/engine/policy_drift_detector.js.map +0 -1
  2261. package/dist/engine/privacy_secret_contract.d.ts +0 -320
  2262. package/dist/engine/privacy_secret_contract.d.ts.map +0 -1
  2263. package/dist/engine/privacy_secret_contract.js +0 -875
  2264. package/dist/engine/privacy_secret_contract.js.map +0 -1
  2265. package/dist/engine/project_knowledge_contract.d.ts +0 -132
  2266. package/dist/engine/project_knowledge_contract.d.ts.map +0 -1
  2267. package/dist/engine/project_knowledge_contract.js +0 -554
  2268. package/dist/engine/project_knowledge_contract.js.map +0 -1
  2269. package/dist/engine/project_knowledge_system_regression_matrix.d.ts +0 -27
  2270. package/dist/engine/project_knowledge_system_regression_matrix.d.ts.map +0 -1
  2271. package/dist/engine/project_knowledge_system_regression_matrix.js +0 -295
  2272. package/dist/engine/project_knowledge_system_regression_matrix.js.map +0 -1
  2273. package/dist/engine/project_stage_detector.d.ts.map +0 -1
  2274. package/dist/engine/project_stage_detector.js +0 -185
  2275. package/dist/engine/project_stage_detector.js.map +0 -1
  2276. package/dist/engine/regression_matrix.d.ts.map +0 -1
  2277. package/dist/engine/regression_matrix.js +0 -410
  2278. package/dist/engine/regression_matrix.js.map +0 -1
  2279. package/dist/engine/release_compatibility.d.ts.map +0 -1
  2280. package/dist/engine/release_compatibility.js.map +0 -1
  2281. package/dist/engine/release_gate.d.ts +0 -29
  2282. package/dist/engine/release_gate.d.ts.map +0 -1
  2283. package/dist/engine/release_gate.js +0 -675
  2284. package/dist/engine/release_gate.js.map +0 -1
  2285. package/dist/engine/release_gate_scenario_registry.d.ts.map +0 -1
  2286. package/dist/engine/release_gate_scenario_registry.js +0 -717
  2287. package/dist/engine/release_gate_scenario_registry.js.map +0 -1
  2288. package/dist/engine/release_issue_scenario_registry.d.ts +0 -64
  2289. package/dist/engine/release_issue_scenario_registry.d.ts.map +0 -1
  2290. package/dist/engine/release_issue_scenario_registry.js +0 -1790
  2291. package/dist/engine/release_issue_scenario_registry.js.map +0 -1
  2292. package/dist/engine/release_readiness_gate.d.ts +0 -49
  2293. package/dist/engine/release_readiness_gate.d.ts.map +0 -1
  2294. package/dist/engine/release_readiness_gate.js +0 -3382
  2295. package/dist/engine/release_readiness_gate.js.map +0 -1
  2296. package/dist/engine/release_tool_harness.d.ts +0 -71
  2297. package/dist/engine/release_tool_harness.d.ts.map +0 -1
  2298. package/dist/engine/release_tool_harness.js +0 -161
  2299. package/dist/engine/release_tool_harness.js.map +0 -1
  2300. package/dist/engine/risk_sampler.d.ts +0 -43
  2301. package/dist/engine/risk_sampler.d.ts.map +0 -1
  2302. package/dist/engine/risk_sampler.js +0 -79
  2303. package/dist/engine/risk_sampler.js.map +0 -1
  2304. package/dist/engine/route_decision_contract_verifier.d.ts +0 -44
  2305. package/dist/engine/route_decision_contract_verifier.d.ts.map +0 -1
  2306. package/dist/engine/route_decision_contract_verifier.js +0 -154
  2307. package/dist/engine/route_decision_contract_verifier.js.map +0 -1
  2308. package/dist/engine/runtime_safety.d.ts.map +0 -1
  2309. package/dist/engine/runtime_safety.js +0 -200
  2310. package/dist/engine/runtime_safety.js.map +0 -1
  2311. package/dist/engine/scaffolder.d.ts +0 -19
  2312. package/dist/engine/scaffolder.d.ts.map +0 -1
  2313. package/dist/engine/scaffolder.js +0 -411
  2314. package/dist/engine/scaffolder.js.map +0 -1
  2315. package/dist/engine/scope_controller.d.ts +0 -16
  2316. package/dist/engine/scope_controller.d.ts.map +0 -1
  2317. package/dist/engine/scope_controller.js +0 -195
  2318. package/dist/engine/scope_controller.js.map +0 -1
  2319. package/dist/engine/scope_lease.d.ts +0 -88
  2320. package/dist/engine/scope_lease.d.ts.map +0 -1
  2321. package/dist/engine/scope_lease.js +0 -166
  2322. package/dist/engine/scope_lease.js.map +0 -1
  2323. package/dist/engine/scope_resolver.d.ts +0 -11
  2324. package/dist/engine/scope_resolver.d.ts.map +0 -1
  2325. package/dist/engine/scope_resolver.js +0 -526
  2326. package/dist/engine/scope_resolver.js.map +0 -1
  2327. package/dist/engine/semantic_evidence.d.ts +0 -29
  2328. package/dist/engine/semantic_evidence.d.ts.map +0 -1
  2329. package/dist/engine/semantic_evidence.js +0 -91
  2330. package/dist/engine/semantic_evidence.js.map +0 -1
  2331. package/dist/engine/stale_current_task_detector.d.ts +0 -30
  2332. package/dist/engine/stale_current_task_detector.d.ts.map +0 -1
  2333. package/dist/engine/stale_current_task_detector.js +0 -168
  2334. package/dist/engine/stale_current_task_detector.js.map +0 -1
  2335. package/dist/engine/standard_asset_contract.d.ts +0 -75
  2336. package/dist/engine/standard_asset_contract.d.ts.map +0 -1
  2337. package/dist/engine/standard_asset_contract.js +0 -388
  2338. package/dist/engine/standard_asset_contract.js.map +0 -1
  2339. package/dist/engine/standard_asset_coverage.d.ts.map +0 -1
  2340. package/dist/engine/standard_asset_coverage.js +0 -220
  2341. package/dist/engine/standard_asset_coverage.js.map +0 -1
  2342. package/dist/engine/state_update_bypass.d.ts +0 -19
  2343. package/dist/engine/state_update_bypass.d.ts.map +0 -1
  2344. package/dist/engine/state_update_bypass.js +0 -17
  2345. package/dist/engine/state_update_bypass.js.map +0 -1
  2346. package/dist/engine/task_context.d.ts +0 -249
  2347. package/dist/engine/task_context.d.ts.map +0 -1
  2348. package/dist/engine/task_context.js +0 -981
  2349. package/dist/engine/task_context.js.map +0 -1
  2350. package/dist/engine/task_planner.d.ts +0 -28
  2351. package/dist/engine/task_planner.d.ts.map +0 -1
  2352. package/dist/engine/task_planner.js +0 -325
  2353. package/dist/engine/task_planner.js.map +0 -1
  2354. package/dist/engine/task_stage_detector.d.ts +0 -19
  2355. package/dist/engine/task_stage_detector.d.ts.map +0 -1
  2356. package/dist/engine/task_stage_detector.js +0 -201
  2357. package/dist/engine/task_stage_detector.js.map +0 -1
  2358. package/dist/engine/technology_decision.d.ts +0 -40
  2359. package/dist/engine/technology_decision.d.ts.map +0 -1
  2360. package/dist/engine/technology_decision.js +0 -137
  2361. package/dist/engine/technology_decision.js.map +0 -1
  2362. package/dist/engine/template_asset_contract_registry.d.ts +0 -162
  2363. package/dist/engine/template_asset_contract_registry.d.ts.map +0 -1
  2364. package/dist/engine/template_asset_contract_registry.js +0 -599
  2365. package/dist/engine/template_asset_contract_registry.js.map +0 -1
  2366. package/dist/engine/template_asset_visibility.d.ts +0 -109
  2367. package/dist/engine/template_asset_visibility.d.ts.map +0 -1
  2368. package/dist/engine/template_asset_visibility.js +0 -321
  2369. package/dist/engine/template_asset_visibility.js.map +0 -1
  2370. package/dist/engine/template_init_sync.d.ts +0 -68
  2371. package/dist/engine/template_init_sync.d.ts.map +0 -1
  2372. package/dist/engine/template_init_sync.js +0 -218
  2373. package/dist/engine/template_init_sync.js.map +0 -1
  2374. package/dist/engine/template_manifest_io.d.ts +0 -57
  2375. package/dist/engine/template_manifest_io.d.ts.map +0 -1
  2376. package/dist/engine/template_manifest_io.js +0 -184
  2377. package/dist/engine/template_manifest_io.js.map +0 -1
  2378. package/dist/engine/template_mechanism_auditor.d.ts +0 -95
  2379. package/dist/engine/template_mechanism_auditor.d.ts.map +0 -1
  2380. package/dist/engine/template_mechanism_auditor.js +0 -626
  2381. package/dist/engine/template_mechanism_auditor.js.map +0 -1
  2382. package/dist/engine/template_sync.d.ts +0 -98
  2383. package/dist/engine/template_sync.d.ts.map +0 -1
  2384. package/dist/engine/template_sync.js.map +0 -1
  2385. package/dist/engine/test_generator.d.ts +0 -10
  2386. package/dist/engine/test_generator.d.ts.map +0 -1
  2387. package/dist/engine/test_generator.js +0 -265
  2388. package/dist/engine/test_generator.js.map +0 -1
  2389. package/dist/engine/test_quality.d.ts +0 -36
  2390. package/dist/engine/test_quality.d.ts.map +0 -1
  2391. package/dist/engine/test_quality.js +0 -642
  2392. package/dist/engine/test_quality.js.map +0 -1
  2393. package/dist/engine/test_strategy.d.ts.map +0 -1
  2394. package/dist/engine/test_strategy.js.map +0 -1
  2395. package/dist/engine/tool_invocation_contract_registry.d.ts +0 -136
  2396. package/dist/engine/tool_invocation_contract_registry.d.ts.map +0 -1
  2397. package/dist/engine/tool_invocation_contract_registry.js +0 -762
  2398. package/dist/engine/tool_invocation_contract_registry.js.map +0 -1
  2399. package/dist/engine/traceability.d.ts +0 -48
  2400. package/dist/engine/traceability.d.ts.map +0 -1
  2401. package/dist/engine/traceability.js +0 -470
  2402. package/dist/engine/traceability.js.map +0 -1
  2403. package/dist/engine/user_feedback_contract.d.ts +0 -162
  2404. package/dist/engine/user_feedback_contract.d.ts.map +0 -1
  2405. package/dist/engine/user_feedback_contract.js +0 -418
  2406. package/dist/engine/user_feedback_contract.js.map +0 -1
  2407. package/dist/engine/user_promise.d.ts +0 -67
  2408. package/dist/engine/user_promise.d.ts.map +0 -1
  2409. package/dist/engine/user_promise.js +0 -436
  2410. package/dist/engine/user_promise.js.map +0 -1
  2411. package/dist/engine/verification_contract.d.ts.map +0 -1
  2412. package/dist/engine/verification_contract.js.map +0 -1
  2413. package/dist/engine/verifier.d.ts +0 -45
  2414. package/dist/engine/verifier.d.ts.map +0 -1
  2415. package/dist/engine/verifier.js +0 -629
  2416. package/dist/engine/verifier.js.map +0 -1
  2417. package/dist/engine/workflow_contract_registry.d.ts +0 -70
  2418. package/dist/engine/workflow_contract_registry.d.ts.map +0 -1
  2419. package/dist/engine/workflow_contract_registry.js +0 -643
  2420. package/dist/engine/workflow_contract_registry.js.map +0 -1
  2421. package/dist/engine/workflow_navigation_contract.d.ts +0 -157
  2422. package/dist/engine/workflow_navigation_contract.d.ts.map +0 -1
  2423. package/dist/engine/workflow_navigation_contract.js +0 -39
  2424. package/dist/engine/workflow_navigation_contract.js.map +0 -1
  2425. package/dist/engine/workflow_template_pack.d.ts +0 -71
  2426. package/dist/engine/workflow_template_pack.d.ts.map +0 -1
  2427. package/dist/engine/workflow_template_pack.js +0 -246
  2428. package/dist/engine/workflow_template_pack.js.map +0 -1
  2429. package/dist/engine/workspace_lease.d.ts +0 -69
  2430. package/dist/engine/workspace_lease.d.ts.map +0 -1
  2431. package/dist/engine/workspace_lease.js +0 -154
  2432. package/dist/engine/workspace_lease.js.map +0 -1
  2433. package/dist/engine/workspace_resumer.d.ts.map +0 -1
  2434. package/dist/engine/workspace_resumer.js +0 -207
  2435. package/dist/engine/workspace_resumer.js.map +0 -1
  2436. package/dist/engine/zero_config_init.d.ts +0 -152
  2437. package/dist/engine/zero_config_init.d.ts.map +0 -1
  2438. package/dist/engine/zero_config_init.js +0 -810
  2439. package/dist/engine/zero_config_init.js.map +0 -1
  2440. package/dist/types.d.ts +0 -1737
  2441. package/dist/types.d.ts.map +0 -1
  2442. package/dist/types.js +0 -3
  2443. package/dist/types.js.map +0 -1
  2444. package/templates/knowledge/acceptance_templates/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 -74
  2445. package/templates/knowledge/acceptance_templates/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -69
  2446. package/templates/knowledge/acceptance_templates/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +0 -60
  2447. package/templates/knowledge/acceptance_templates/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +0 -63
  2448. package/templates/knowledge/acceptance_templates//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/346/235/277.md +0 -78
  2449. package/templates/knowledge/acceptance_templates//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 -54
  2450. package/templates/knowledge/acceptance_templates//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +0 -236
  2451. package/templates/knowledge/acceptance_templates//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -52
  2452. package/templates/knowledge/acceptance_templates//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 -46
  2453. package/templates/knowledge/acceptance_templates//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +0 -75
  2454. package/templates/knowledge/acceptance_templates//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -69
  2455. package/templates/knowledge/acceptance_templates//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 -46
  2456. package/templates/knowledge/acceptance_templates//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 -68
  2457. package/templates/knowledge/acceptance_templates//346/216/245/345/217/243/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -82
  2458. package/templates/knowledge/acceptance_templates//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +0 -78
  2459. package/templates/knowledge/acceptance_templates//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 -68
  2460. package/templates/knowledge/acceptance_templates//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 -52
  2461. package/templates/knowledge/acceptance_templates//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 -59
  2462. package/templates/knowledge/acceptance_templates//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -86
  2463. package/templates/knowledge/acceptance_templates//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +0 -63
  2464. package/templates/knowledge/acceptance_templates//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 -47
  2465. package/templates/knowledge/acceptance_templates//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -63
  2466. package/templates/knowledge/acceptance_templates//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +0 -66
  2467. package/templates/knowledge/acceptance_templates//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 -57
  2468. package/templates/knowledge/acceptance_templates//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -71
  2469. package/templates/knowledge/acceptance_templates//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -68
  2470. package/templates/knowledge/acceptance_templates//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 -103
  2471. 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 +0 -45
  2472. package/templates/knowledge/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -59
  2473. 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 +0 -47
  2474. 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 +0 -72
  2475. 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 +0 -47
  2476. package/templates/knowledge/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +0 -44
  2477. package/templates/knowledge/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -45
  2478. package/templates/knowledge/domain//345/244/232/347/247/237/346/210/267.md +0 -60
  2479. package/templates/knowledge/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -57
  2480. package/templates/knowledge/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +0 -64
  2481. package/templates/knowledge/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -66
  2482. package/templates/knowledge/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -64
  2483. package/templates/knowledge/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +0 -66
  2484. package/templates/knowledge/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -59
  2485. package/templates/knowledge/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -61
  2486. package/templates/knowledge/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +0 -64
  2487. package/templates/knowledge/patterns/core/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -64
  2488. package/templates/knowledge/patterns/core/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -64
  2489. package/templates/knowledge/patterns/core/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -63
  2490. package/templates/knowledge/patterns/core//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 -64
  2491. package/templates/knowledge/patterns/core//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -65
  2492. package/templates/knowledge/patterns/core//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 -63
  2493. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -65
  2494. package/templates/knowledge/patterns/core//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -64
  2495. package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -72
  2496. package/templates/knowledge/patterns/core//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -68
  2497. package/templates/knowledge/patterns/core//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -63
  2498. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -61
  2499. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -63
  2500. package/templates/knowledge/patterns/core//345/271/266/345/217/221/351/224/201.md +0 -68
  2501. package/templates/knowledge/patterns/core//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +0 -78
  2502. package/templates/knowledge/patterns/core//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -62
  2503. package/templates/knowledge/patterns/core//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +0 -66
  2504. package/templates/knowledge/patterns/core//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -74
  2505. package/templates/knowledge/patterns/core//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -76
  2506. package/templates/knowledge/patterns/core//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -64
  2507. package/templates/knowledge/patterns/core//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -68
  2508. package/templates/knowledge/patterns/core//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -64
  2509. package/templates/knowledge/patterns/core//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -63
  2510. package/templates/knowledge/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +0 -50
  2511. package/templates/knowledge/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +0 -54
  2512. 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 +0 -56
  2513. package/templates/knowledge/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +0 -60
  2514. package/templates/knowledge/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +0 -58
  2515. package/templates/knowledge/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 +0 -126
  2516. package/templates/knowledge/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +0 -67
  2517. package/templates/knowledge/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 -50
  2518. package/templates/knowledge/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +0 -53
  2519. package/templates/knowledge/procedures//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +0 -70
  2520. package/templates/knowledge/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +0 -49
  2521. package/templates/knowledge/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +0 -54
  2522. package/templates/knowledge/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +0 -49
  2523. package/templates/knowledge/procedures//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +0 -73
  2524. package/templates/knowledge/procedures//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md +0 -64
  2525. package/templates/knowledge/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 -99
  2526. package/templates/knowledge/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 -51
  2527. package/templates/knowledge/procedures//346/236/266/346/236/204/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +0 -104
  2528. package/templates/knowledge/procedures//346/236/266/346/236/204/350/256/276/350/256/241/346/265/201/347/250/213.md +0 -57
  2529. package/templates/knowledge/procedures//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +0 -51
  2530. package/templates/knowledge/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 -91
  2531. 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 +0 -65
  2532. package/templates/knowledge/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 -97
  2533. package/templates/knowledge/procedures//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +0 -67
  2534. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +0 -72
  2535. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/347/250/213.md +0 -60
  2536. 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 +0 -86
  2537. package/templates/knowledge/procedures//347/274/272/351/231/267/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +0 -55
  2538. package/templates/knowledge/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +0 -61
  2539. package/templates/knowledge/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 -45
  2540. package/templates/knowledge/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +0 -69
  2541. package/templates/knowledge/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +0 -70
  2542. package/templates/knowledge/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +0 -54
  2543. package/templates/knowledge/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +0 -72
  2544. package/templates/knowledge/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +0 -54
  2545. package/templates/knowledge/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +0 -63
  2546. package/templates/knowledge/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +0 -59
  2547. package/templates/knowledge/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -67
  2548. package/templates/knowledge/procedures//351/252/214/350/257/201/350/256/241/345/210/222/346/265/201/347/250/213.md +0 -59
  2549. package/templates/knowledge/review//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 -81
  2550. package/templates/knowledge/review_rules/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -40
  2551. package/templates/knowledge/review_rules//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 -87
  2552. package/templates/knowledge/review_rules//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 -38
  2553. package/templates/knowledge/review_rules//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -100
  2554. package/templates/knowledge/review_rules//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -87
  2555. package/templates/knowledge/review_rules//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -82
  2556. package/templates/knowledge/review_rules//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 -87
  2557. package/templates/knowledge/review_rules//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -83
  2558. package/templates/knowledge/review_rules//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -101
  2559. package/templates/knowledge/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +0 -62
  2560. package/templates/knowledge/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -57
  2561. package/templates/knowledge/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 -150
  2562. package/templates/knowledge/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 -65
  2563. package/templates/knowledge/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 -55
  2564. package/templates/knowledge/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +0 -61
  2565. 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 +0 -56
  2566. package/templates/knowledge/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 +0 -144
  2567. package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/346/250/241/346/235/277/345/214/205/350/247/204/345/210/231.md +0 -48
  2568. package/templates/knowledge/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +0 -61
  2569. package/templates/knowledge/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +0 -62
  2570. 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 +0 -60
  2571. package/templates/knowledge/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 -48
  2572. package/templates/knowledge/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 -64
  2573. 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 +0 -56
  2574. package/templates/knowledge/rules//346/225/217/346/204/237/344/277/241/346/201/257/346/227/245/345/277/227/350/247/204/345/210/231.md +0 -69
  2575. package/templates/knowledge/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 -78
  2576. package/templates/knowledge/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -49
  2577. package/templates/knowledge/rules//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -48
  2578. package/templates/knowledge/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 -49
  2579. package/templates/knowledge/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 +0 -72
  2580. package/templates/knowledge/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -50
  2581. 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 +0 -160
  2582. package/templates/knowledge/rules//346/250/241/346/235/277/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247/350/247/204/345/210/231.md +0 -71
  2583. 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 +0 -62
  2584. package/templates/knowledge/rules//346/274/224/350/277/233/345/233/236/345/275/222/350/247/204/345/210/231.md +0 -51
  2585. package/templates/knowledge/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 -74
  2586. 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 +0 -118
  2587. package/templates/knowledge/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -50
  2588. 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 +0 -61
  2589. package/templates/knowledge/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 +0 -61
  2590. package/templates/knowledge/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 -73
  2591. package/templates/knowledge/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +0 -67
  2592. package/templates/knowledge/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 -66
  2593. package/templates/knowledge/rules//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250/350/247/204/345/210/231.md +0 -59
  2594. package/templates/knowledge/rules//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205/350/247/204/345/210/231.md +0 -71
  2595. package/templates/knowledge/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 -75
  2596. package/templates/knowledge/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 -48
  2597. 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 +0 -63
  2598. package/templates/knowledge/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 -77
  2599. 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 +0 -57
  2600. package/templates/knowledge/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 -47
  2601. 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 +0 -60
  2602. 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 +0 -64
  2603. package/templates/knowledge/rules//351/252/214/346/224/266/346/250/241/346/235/277/350/276/223/345/207/272/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -96
  2604. package/templates/knowledge/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -61
  2605. package/templates/knowledge/templates//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -65
  2606. /package/dist/engine/{audit_pool.d.ts → audit/audit_pool.d.ts} +0 -0
  2607. /package/dist/engine/{degradation.d.ts → audit/degradation.d.ts} +0 -0
  2608. /package/dist/engine/{degradation.js → audit/degradation.js} +0 -0
  2609. /package/dist/engine/{diagnostic_registry.d.ts → audit/diagnostic_registry.d.ts} +0 -0
  2610. /package/dist/engine/{failure_report.d.ts → audit/failure_report.d.ts} +0 -0
  2611. /package/dist/engine/{failure_report.js → audit/failure_report.js} +0 -0
  2612. /package/dist/engine/{java_quality_guard.d.ts → audit/java_quality_guard.d.ts} +0 -0
  2613. /package/dist/engine/{runtime_safety.d.ts → audit/runtime_safety.d.ts} +0 -0
  2614. /package/dist/engine/{test_strategy.d.ts → audit/test_strategy.d.ts} +0 -0
  2615. /package/dist/engine/{test_strategy.js → audit/test_strategy.js} +0 -0
  2616. /package/dist/engine/{config_write_boundary.d.ts → config/config_write_boundary.d.ts} +0 -0
  2617. /package/dist/engine/{regression_matrix.d.ts → config/regression_matrix.d.ts} +0 -0
  2618. /package/dist/engine/{architecture_design_contract.d.ts → contracts/architecture_design_contract.d.ts} +0 -0
  2619. /package/dist/engine/{architecture_design_contract.js → contracts/architecture_design_contract.js} +0 -0
  2620. /package/dist/engine/{backend_implementation_contract.d.ts → contracts/backend_implementation_contract.d.ts} +0 -0
  2621. /package/dist/engine/{capability_action_advisor.d.ts → contracts/capability_action_advisor.d.ts} +0 -0
  2622. /package/dist/engine/{capability_registry.d.ts → contracts/capability_registry.d.ts} +0 -0
  2623. /package/dist/engine/{code_maintainability_observability_contract.d.ts → contracts/code_maintainability_observability_contract.d.ts} +0 -0
  2624. /package/dist/engine/{control_plane_contract.d.ts → contracts/control_plane_contract.d.ts} +0 -0
  2625. /package/dist/engine/{decision_workshop.js → contracts/decision_workshop.js} +0 -0
  2626. /package/dist/engine/{design_artifact_pack.js → contracts/design_artifact_pack.js} +0 -0
  2627. /package/dist/engine/{detail_discipline.d.ts → contracts/detail_discipline.d.ts} +0 -0
  2628. /package/dist/engine/{detail_discipline.js → contracts/detail_discipline.js} +0 -0
  2629. /package/dist/engine/{escape_report.d.ts → contracts/escape_report.d.ts} +0 -0
  2630. /package/dist/engine/{existing_system_analysis.d.ts → contracts/existing_system_analysis.d.ts} +0 -0
  2631. /package/dist/engine/{existing_system_analysis.js → contracts/existing_system_analysis.js} +0 -0
  2632. /package/dist/engine/{metric_governance.d.ts → contracts/metric_governance.d.ts} +0 -0
  2633. /package/dist/engine/{metric_governance.js → contracts/metric_governance.js} +0 -0
  2634. /package/dist/engine/{ood_solid_contract.d.ts → contracts/ood_solid_contract.d.ts} +0 -0
  2635. /package/dist/engine/{verification_contract.d.ts → contracts/verification_contract.d.ts} +0 -0
  2636. /package/dist/engine/{verification_contract.js → contracts/verification_contract.js} +0 -0
  2637. /package/dist/engine/{log_governance.d.ts → core/log_governance.d.ts} +0 -0
  2638. /package/dist/engine/{logger.d.ts → core/logger.d.ts} +0 -0
  2639. /package/dist/engine/{chinese_semantic_priority.d.ts → knowledge/chinese_semantic_priority.d.ts} +0 -0
  2640. /package/dist/engine/{chinese_semantic_priority.js → knowledge/chinese_semantic_priority.js} +0 -0
  2641. /package/dist/engine/{documentation_governance.d.ts → knowledge/documentation_governance.d.ts} +0 -0
  2642. /package/dist/engine/{documentation_governance.js → knowledge/documentation_governance.js} +0 -0
  2643. /package/dist/engine/{knowledge_acceptance_registry.d.ts → knowledge/knowledge_acceptance_registry.d.ts} +0 -0
  2644. /package/dist/engine/{knowledge_asset_audit.d.ts → knowledge/knowledge_asset_audit.d.ts} +0 -0
  2645. /package/dist/engine/{knowledge_asset_generation_gate.d.ts → knowledge/knowledge_asset_generation_gate.d.ts} +0 -0
  2646. /package/dist/engine/{knowledge_asset_generation_gate.js → knowledge/knowledge_asset_generation_gate.js} +0 -0
  2647. /package/dist/engine/{knowledge_asset_migration.d.ts → knowledge/knowledge_asset_migration.d.ts} +0 -0
  2648. /package/dist/engine/{knowledge_config_loader.d.ts → knowledge/knowledge_config_loader.d.ts} +0 -0
  2649. /package/dist/engine/{knowledge_sovereignty.d.ts → knowledge/knowledge_sovereignty.d.ts} +0 -0
  2650. /package/dist/engine/{knowledge_template_contracts.js → knowledge/knowledge_template_contracts.js} +0 -0
  2651. /package/dist/engine/{language_policy_contract.d.ts → knowledge/language_policy_contract.d.ts} +0 -0
  2652. /package/dist/engine/{language_policy_contract.js → knowledge/language_policy_contract.js} +0 -0
  2653. /package/dist/engine/{release_compatibility.d.ts → knowledge/release_compatibility.d.ts} +0 -0
  2654. /package/dist/engine/{release_compatibility.js → knowledge/release_compatibility.js} +0 -0
  2655. /package/dist/engine/{conflict_gate.d.ts → pipeline/conflict_gate.d.ts} +0 -0
  2656. /package/dist/engine/{diff_ownership.d.ts → pipeline/diff_ownership.d.ts} +0 -0
  2657. /package/dist/engine/{diff_ownership_store.d.ts → pipeline/diff_ownership_store.d.ts} +0 -0
  2658. /package/dist/engine/{plan_proposal_gate.d.ts → pipeline/plan_proposal_gate.d.ts} +0 -0
  2659. /package/dist/engine/{workspace_resumer.d.ts → pipeline/workspace_resumer.d.ts} +0 -0
  2660. /package/dist/engine/{release_gate_scenario_registry.d.ts → release/release_gate_scenario_registry.d.ts} +0 -0
  2661. /package/dist/engine/{standard_asset_coverage.d.ts → templates/standard_asset_coverage.d.ts} +0 -0
  2662. /package/dist/engine/{template_sync.js → templates/template_sync.js} +0 -0
  2663. /package/dist/engine/{project_stage_detector.d.ts → workflow/project_stage_detector.d.ts} +0 -0
  2664. /package/templates/{knowledge/product_profiles → profiles}/b2b-internal.yaml +0 -0
  2665. /package/templates/{knowledge/product_profiles → profiles}/b2c.yaml +0 -0
  2666. /package/templates/{knowledge/product_profiles → profiles}/saas.yaml +0 -0
@@ -1,29 +1,42 @@
1
1
  #!/usr/bin/env node
2
- import crypto from "node:crypto";
3
- import fss from "node:fs";
4
- import path from "node:path";
5
- import { resolveProjectConfig, getProjectKnowledgeDir, getGlobalPatternsDir } from "../knowledge/loader.js";
6
- import { generateHooksConfig } from "../adapters/claude_code/hooks.js";
7
- import { generateClaudeMd } from "../adapters/claude_code/hooks.js";
8
- import { generateTraeRules } from "../adapters/trae/trae_rules.js";
9
- import { generateTraeMcpConfig } from "../adapters/trae/trae_config.js";
10
- import { generateCodexMcpConfig, generateCodexHooksConfig } from "../adapters/codex/codex_config.js";
11
- import { generateCodexAgentsMd } from "../adapters/codex/codex_rules.js";
12
- import { buildHookAdditionalContext } from "../adapters/claude_code/pre_prompt_contract.js";
13
- import { detectFingerprint, generateConfigDraft, validateConfigDraft, generateConfigEvidence, canAutoWrite, parseBlueprint, generateBlueprintEvidence, } from "../engine/zero_config_init.js";
14
- import YAML from "yaml";
15
- import { cmdConfigResolve, cmdConfigExplain, cmdConfigConfirm, cmdConfigUnset, cmdConfigRepair, loadConfigEvidenceEntries, } from "./config_commands.js";
16
- import { resolveCurrentProjectConfigReports, validateConfigPrecedence, } from "../engine/config_precedence_contract.js";
17
- import { isReadForbidden } from "../engine/privacy_secret_contract.js";
18
- import { routeIntent } from "../engine/intent_router.js";
19
- import { debugLog, debug, userInfo, userWarn, userError, internalWarn, jsonSafeError, initLoggerFromEnv } from "../engine/logger.js";
20
- import { auditControlPlaneProject, isSoloforgeStateBypassCommand } from "../engine/control_plane_contract.js";
21
- import { getDesignLifecycleArtifactPaths } from "../engine/design_lifecycle_contract.js";
22
- import { isSameOrDescendantPath } from "../engine/path_scope_utils.js";
23
- const command = process.argv[2];
24
- const args = process.argv.slice(3);
2
+ import { initLoggerFromEnv, userInfo } from "../engine/core/logger.js";
3
+ import { cmdConfigSet, cmdConfigShow, cmdConfigCheck, cmdConfigExport, cmdConfigExplain, cmdConfigUnset, } from "./config_commands.js";
4
+ import { command, args } from "./args.js";
5
+ import { EXIT } from "../engine/core/exit_codes.js";
6
+ import { cmdInitAuto, cmdInitBlueprint, cmdInit } from "./commands/init.js";
7
+ import { cmdGenerateHooks, cmdGenerateClaudeMd, cmdGenerateTrae, cmdGenerateCodex } from "./commands/hooks.js";
8
+ import { cmdCheckWrite } from "./commands/check_write.js";
9
+ import { cmdCheckBash, cmdPostBash } from "./commands/check_bash.js";
10
+ import { cmdDoctor, cmdPrePrompt, cmdValidate, cmdValidateMechanisms } from "./commands/validate.js";
11
+ import { cmdAuditTemplateMechanisms, cmdAuditDesignArtifacts, cmdUpgradeDesignArtifacts, cmdAuditTemplateVisibility, cmdAuditProjectKnowledge, cmdValidateKnowledge, } from "./commands/audit.js";
12
+ import { cmdSyncTemplates, cmdSyncAdapters, cmdMigrate, cmdValidateReleaseGate, cmdValidateNewIssue, cmdValidateFoundation, } from "./commands/sync.js";
13
+ import { cmdStatus, cmdNext, cmdStage, cmdCleanup, cmdVersion } from "./commands/status.js";
14
+ import { cmdAnalyze } from "./commands/analyze.js";
15
+ import { cmdModify } from "./commands/modify.js";
16
+ import { cmdReview } from "./commands/review.js";
17
+ import { cmdBrainstorm, cmdFirstPrinciples, cmdReasoningLog } from "./commands/reasoning.js";
25
18
  async function main() {
26
19
  initLoggerFromEnv();
20
+ // ── --help / -h 支持 ──
21
+ if (command === "--help" || command === "-h" || command === "help") {
22
+ userInfo(`SoloForge CLI
23
+
24
+ 用法: soloforge <命令>
25
+
26
+ 常用命令:
27
+ init 在当前项目初始化 .soloforge/
28
+ status 显示当前项目的 SoloForge 状态
29
+ validate 验证项目配置和知识文件
30
+ audit 审计模板与机制注册表
31
+ mcp 启动 MCP Server(供 IDE 适配器调用)
32
+ config 配置管理(set / show / check / export / explain / unset)
33
+ sync 同步模板和适配器(templates / adapters)
34
+
35
+ 完整命令列表: soloforge --list
36
+ 版本信息: soloforge version
37
+ `);
38
+ process.exit(0);
39
+ }
27
40
  switch (command) {
28
41
  case "init":
29
42
  if (args.includes("--auto")) {
@@ -72,18 +85,6 @@ async function main() {
72
85
  case "upgrade-design-artifacts":
73
86
  await cmdUpgradeDesignArtifacts();
74
87
  break;
75
- case "validate-batch1":
76
- userWarn("⚠️ validate-batch1 是历史施工命令,不代表正式发布通过。请使用 validate-release。");
77
- await cmdValidateFoundation();
78
- break;
79
- case "validate-batch3":
80
- userWarn("⚠️ validate-batch3 是历史施工命令,不代表正式发布通过。请使用 validate-release。");
81
- await cmdValidateKnowledge();
82
- break;
83
- case "validate-batch5":
84
- userWarn("⚠️ validate-batch5 是历史施工命令,不代表正式发布通过。请使用 validate-release。");
85
- await cmdValidateReleaseGate();
86
- break;
87
88
  case "validate-release":
88
89
  await cmdValidateReleaseGate();
89
90
  break;
@@ -108,6 +109,12 @@ async function main() {
108
109
  case "validate-new-issue":
109
110
  await cmdValidateNewIssue();
110
111
  break;
112
+ case "validate-knowledge":
113
+ await cmdValidateKnowledge();
114
+ break;
115
+ case "validate-foundation":
116
+ await cmdValidateFoundation();
117
+ break;
111
118
  case "generate-trae":
112
119
  await cmdGenerateTrae();
113
120
  break;
@@ -122,29 +129,33 @@ async function main() {
122
129
  case "config": {
123
130
  const subCommand = args[0];
124
131
  switch (subCommand) {
125
- case "resolve":
126
- await cmdConfigResolve();
132
+ case "set":
133
+ await cmdConfigSet();
134
+ break;
135
+ case "show":
136
+ await cmdConfigShow();
137
+ break;
138
+ case "check":
139
+ await cmdConfigCheck();
140
+ break;
141
+ case "export":
142
+ await cmdConfigExport();
127
143
  break;
128
144
  case "explain":
129
145
  await cmdConfigExplain();
130
146
  break;
131
- case "confirm":
132
- await cmdConfigConfirm();
133
- break;
134
147
  case "unset":
135
148
  await cmdConfigUnset();
136
149
  break;
137
- case "repair":
138
- await cmdConfigRepair();
139
- break;
140
150
  default:
141
- userInfo("用法: soloforge config <resolve|explain|confirm|unset|repair> [options]");
151
+ userInfo("用法: soloforge config <set|show|check|export|explain|unset> [options]");
142
152
  userInfo("");
143
- userInfo(" resolve 解析配置字段优先级(只读,显示所有候选来源)");
144
- userInfo(" explain 解释指定字段的来源和优先级(只读,中文输出)");
145
- userInfo(" confirm 确认配置字段值(写入 config + evidence)");
146
- userInfo(" unset 移除指定字段的确认配置和 evidence");
147
- userInfo(" repair 自动修复机械类型错误并重签 evidence(支持 --dry-run/--json)");
153
+ userInfo(" set 写入 intent.yaml 字段(如 set product_profile saas)");
154
+ userInfo(" show 显示合并后的完整配置(探测+intent+默认)");
155
+ userInfo(" check 运行探测+验证+冲突检测");
156
+ userInfo(" export 导出 intent.yaml 原始内容");
157
+ userInfo(" explain 解释字段来源和优先级");
158
+ userInfo(" unset 移除 intent.yaml 字段");
148
159
  }
149
160
  break;
150
161
  }
@@ -160,6 +171,29 @@ async function main() {
160
171
  case "cleanup":
161
172
  await cmdCleanup();
162
173
  break;
174
+ case "analyze":
175
+ await cmdAnalyze();
176
+ break;
177
+ case "modify":
178
+ await cmdModify();
179
+ break;
180
+ case "review":
181
+ await cmdReview();
182
+ break;
183
+ case "头脑风暴":
184
+ case "brainstorm":
185
+ await cmdBrainstorm();
186
+ break;
187
+ case "第一性原理":
188
+ case "first-principles":
189
+ case "first_principles":
190
+ await cmdFirstPrinciples();
191
+ break;
192
+ case "推理记录":
193
+ case "reasoning-log":
194
+ case "reasoning_log":
195
+ await cmdReasoningLog();
196
+ break;
163
197
  default:
164
198
  userInfo(`SoloForge CLI
165
199
 
@@ -179,25 +213,23 @@ async function main() {
179
213
  check-bash PreToolUse hook,阻止 Bash 直接篡改 .soloforge/state 或绕过受控任务写业务实现
180
214
  doctor 审计 MCP 控制面、适配器 hook、状态可信和恢复路径
181
215
  post-bash PostToolUse hook,用于跟踪 Bash 执行结果
182
- validate 验证项目配置和知识文件(config.yaml 可选,缺失时自动推断)
216
+ validate 验证项目配置和知识文件(intent.yaml 优先,缺失时自动推断)
183
217
  validate-mechanisms 验证双层机制承载模型完整性(模板层 + 机制层)
184
218
  audit-template-mechanisms 扫描模板与机制注册表交叉校验(--json 输出完整报告,--changed-only 仅检查变更文件)
185
219
  audit-design-artifacts 审计架构/数据库/API 设计产物包(只读,--json 输出报告)
186
220
  audit-project-knowledge 审计用户项目 .soloforge/knowledge 自定义规则承载与消费
187
221
  upgrade-design-artifacts 生成存量设计资产升级计划(默认 dry-run,--apply --confirm 仅建立已归档迁移基线)
188
222
  validate-release 验证发布门禁(契约、场景矩阵、消费 trace、双层机制、回归基线)
189
- validate-batch1 [历史] 仅基础契约验证,不代表正式发布通过
190
- validate-batch3 [历史] 仅知识模板验证,不代表正式发布通过
191
- validate-batch5 [历史] 仅发布门禁验证,不代表正式发布通过
192
223
  sync-templates 同步模板到项目(默认 dry-run,--apply 需 --confirm)
193
224
  sync-adapters 同步适配器 Prompt(默认 dry-run,--apply 需 --confirm)
194
225
  migrate 迁移项目 .soloforge/(默认 dry-run,--apply 需确认)
195
226
  version 显示 SoloForge 版本信息
196
- config resolve 解析配置字段优先级(只读)
197
- config explain 解释配置字段来源(只读,中文)
198
- config confirm <field> <value> 确认配置字段(写入 config + evidence)
199
- config repair 自动修复机械类型错误并重签 evidence
200
- config unset <field> 移除确认配置
227
+ config set <field> <value> 写入 intent.yaml 字段
228
+ config show 显示合并后的完整配置(探测+intent+默认)
229
+ config check 运行探测+验证+冲突检测
230
+ config export 导出 intent.yaml 原始内容
231
+ config explain <field> 解释字段来源和优先级
232
+ config unset <field> 移除 intent.yaml 字段
201
233
  status 显示当前项目的 SoloForge 状态
202
234
  next 查询下一步操作和可执行工作包(默认只读)
203
235
  next --json 纯 JSON 输出(无日志污染)
@@ -206,2782 +238,17 @@ async function main() {
206
238
  stage --explain 详细解释当前阶段(判断依据、必要条件、下一阶段)
207
239
  cleanup 清理过期任务和 evidence(默认 dry-run,--apply 执行实际清理)
208
240
  cleanup --stale 检测陈旧 current-task 指针(--apply 时受控归档)
241
+ analyze 按需调用上下文引擎视图(--view <名称> --targets [...])
242
+ modify 脱离管线修改产物(读取 stdin 作为新内容)
243
+ review 脱离管线审查产物(自动应用 review 规则)
244
+ 头脑风暴 / brainstorm 不确定时决策辅助(列举候选方案 + AI 偏好标注 + 用户选择)
245
+ 第一性原理 / first-principles FP-01~04 规则检查(fundamental_need + 推理链 + 表面修复 + 术语替换)
246
+ 推理记录 / reasoning-log 查看 FP 规则命中和头脑风暴历史记录
209
247
  `);
210
248
  }
211
249
  }
212
- async function cmdInitAuto() {
213
- debug("CLI", "执行 cmdInitAuto");
214
- const dryRun = args.includes("--dry-run");
215
- const projectPathArg = getArgValue("--project-path");
216
- const projectPath = projectPathArg ? path.resolve(projectPathArg) : process.cwd();
217
- // 层 1: 确定性指纹探测
218
- const fp = await detectFingerprint(projectPath);
219
- // 层 2: 规则推导 → config 草案
220
- const draft = generateConfigDraft(fp);
221
- // 层 3: 字段级 evidence
222
- const evidence = generateConfigEvidence(fp, draft, "auto");
223
- // 展示探测结果 + evidence
224
- userInfo("\nSoloForge 自动配置探测结果:");
225
- userInfo("=".repeat(50));
226
- for (const [key, field] of Object.entries(evidence.fields)) {
227
- const icon = field.confidence === "high" ? "✅" : field.confidence === "medium" ? "⚠️" : "❓";
228
- const valStr = typeof field.value === "object" ? JSON.stringify(field.value) : String(field.value);
229
- userInfo(` ${icon} ${key}: ${valStr} (${field.confidence}, ${field.confidence_source})`);
230
- userInfo(` 证据: ${field.evidence.join(", ")}`);
231
- }
232
- userInfo("=".repeat(50));
233
- userInfo(`综合置信度: ${draft.confidence}`);
234
- if (draft.advisory_notes.length > 0) {
235
- userInfo("建议:");
236
- for (const note of draft.advisory_notes) {
237
- userInfo(` - ${note}`);
238
- }
239
- }
240
- // Schema 校验 (advisory)
241
- const validation = validateConfigDraft(draft);
242
- if (validation.warnings.length > 0) {
243
- userInfo("\nschema 建议:");
244
- for (const w of validation.warnings) {
245
- userInfo(` ⚠️ ${w}`);
246
- }
247
- }
248
- if (!validation.valid) {
249
- userInfo("\nschema 错误:");
250
- for (const e of validation.errors) {
251
- userInfo(` ❌ ${e}`);
252
- }
253
- userInfo("\n配置校验失败,请手动运行 `soloforge init --interactive`。");
254
- return;
255
- }
256
- if (dryRun) {
257
- userInfo("\n[dry-run] 不写入文件。使用不带 --dry-run 的命令执行写入。");
258
- return;
259
- }
260
- // 写入门禁: 所有必要字段必须 high confidence + detected/user_declared/confirmed
261
- const gate = canAutoWrite(evidence);
262
- if (!gate.allowed) {
263
- userInfo(`\n⚠️ 存在低/中置信度配置项,拒绝写入:`);
264
- for (const f of gate.blockedFields) {
265
- userInfo(` - ${f}`);
266
- }
267
- userInfo("请使用 `soloforge init --interactive` 或 `soloforge init --blueprint \"...\"` 生成配置。");
268
- return;
269
- }
270
- // 写入配置 + evidence
271
- await finishInitAutoConfig(projectPath, draft, evidence);
272
- }
273
- async function finishInitAutoConfig(projectPath, draft, evidence) {
274
- const dirs = [
275
- ".soloforge/state", ".soloforge/state/debt",
276
- ".soloforge/knowledge/patterns", ".soloforge/knowledge/patterns/core",
277
- ".soloforge/knowledge/patterns/temp",
278
- ".soloforge/knowledge/procedures", ".soloforge/knowledge/domain/backend",
279
- ".soloforge/knowledge/domain/frontend", ".soloforge/knowledge/acceptance_templates",
280
- ".soloforge/knowledge/review_rules", ".soloforge/knowledge/product_profiles",
281
- ".soloforge/knowledge/checklists", ".soloforge/knowledge/templates",
282
- ".soloforge/staged",
283
- ];
284
- for (const dir of dirs) {
285
- fss.mkdirSync(path.join(projectPath, dir), { recursive: true });
286
- }
287
- writeConfigWithEvidence(projectPath, draft, evidence);
288
- ensureGitignore(projectPath);
289
- // 继续执行普通 init 的模板复制和适配器生成
290
- await copyGlobalPatterns(projectPath);
291
- await copyKnowledgeTemplates(projectPath);
292
- await generateAdapterConfigs(projectPath, "claude-code");
293
- }
294
- function writeConfigWithEvidence(projectPath, draft, evidence) {
295
- const configPath = path.join(projectPath, ".soloforge", "config.yaml");
296
- const evidencePath = path.join(projectPath, ".soloforge", "config.evidence.json");
297
- const yamlConfig = {
298
- schema_version: 1,
299
- name: draft.name,
300
- tech_stack: draft.tech_stack,
301
- product_profile: draft.product_profile,
302
- repos: [],
303
- build_commands: draft.build_commands,
304
- scope: draft.scope,
305
- };
306
- fss.writeFileSync(configPath, YAML.stringify(yamlConfig), "utf-8");
307
- // 写入旧版 evidence 格式(向后兼容)+ schema v2 条目
308
- fss.writeFileSync(evidencePath, JSON.stringify(evidence, null, 2), "utf-8");
309
- // 同时写入 schema v2 条目
310
- const v2Entries = Object.entries(evidence.fields).map(([key, field]) => ({
311
- field_path: key,
312
- value_hash: hashConfigValue(JSON.stringify(field.value)),
313
- source: mapLegacySource(field.confidence_source),
314
- confidence: field.confidence === "high" ? 1.0 : field.confidence === "medium" ? 0.6 : 0.3,
315
- evidence_refs: field.evidence || [],
316
- lifetime: "project_persistent",
317
- collected_at: evidence.generated_at || new Date().toISOString(),
318
- }));
319
- // 合并 v2 条目到 evidence 文件
320
- try {
321
- const existing = JSON.parse(fss.readFileSync(evidencePath, "utf-8"));
322
- existing.entries = v2Entries;
323
- existing.updated_at = new Date().toISOString();
324
- fss.writeFileSync(evidencePath, JSON.stringify(existing, null, 2), "utf-8");
325
- }
326
- catch (e) {
327
- internalWarn("CLI", `更新 evidence 文件失败: ${e instanceof Error ? e.message : String(e)}`);
328
- }
329
- userInfo(`\n✅ .soloforge/config.yaml + config.evidence.json created`);
330
- }
331
- function hashConfigValue(str) {
332
- return crypto.createHash("sha256").update(str).digest("hex").slice(0, 16);
333
- }
334
- function mapLegacySource(source) {
335
- switch (source) {
336
- case "detected": return "detected";
337
- case "user_declared": return "user_declared";
338
- case "confirmed": return "confirmed";
339
- default: return "knowledge_default";
340
- }
341
- }
342
- async function cmdInitBlueprint() {
343
- debug("CLI", "执行 cmdInitBlueprint");
344
- const blueprintText = getArgValue("--blueprint");
345
- if (!blueprintText) {
346
- userError("❌ --blueprint 需要提供描述文本,例如: soloforge init --blueprint \"Spring Boot + React 的 B2B 内部管理系统\"");
347
- return;
348
- }
349
- const projectPathArg = getArgValue("--project-path");
350
- const projectPath = projectPathArg ? path.resolve(projectPathArg) : process.cwd();
351
- const parsed = parseBlueprint(blueprintText);
352
- if (!parsed.parsed) {
353
- userInfo("⚠️ 无法从蓝图文本解析技术栈,请使用 --interactive。");
354
- userInfo("支持的框架关键词: Spring Boot, Go, Rust, Gradle, React, Vue, Angular, Next.js, Nuxt");
355
- return;
356
- }
357
- // 从解析的蓝图构建草稿
358
- const draft = {
359
- name: path.basename(projectPath),
360
- tech_stack: {
361
- backend: parsed.tech_stack.backend ?? { lang: "", framework: "", version: "" },
362
- frontend: parsed.tech_stack.frontend ?? { lang: "", framework: "", version: "" },
363
- },
364
- product_profile: parsed.product_profile ?? "default",
365
- build_commands: {
366
- backend: blueprintBackendCommands(parsed.tech_stack.backend?.framework),
367
- frontend: blueprintFrontendCommands(parsed.tech_stack.frontend?.framework),
368
- },
369
- scope: {
370
- backend: parsed.tech_stack.backend ? ["src/"] : [],
371
- frontend: parsed.tech_stack.frontend ? ["src/"] : [],
372
- },
373
- advisory_notes: [],
374
- confidence: "high",
375
- };
376
- const evidence = generateBlueprintEvidence(blueprintText, draft, projectPath);
377
- // 创建目录 + 写入配置 + evidence
378
- const dirs = [
379
- ".soloforge/state", ".soloforge/state/debt",
380
- ".soloforge/knowledge/patterns", ".soloforge/knowledge/patterns/core",
381
- ".soloforge/knowledge/patterns/temp",
382
- ".soloforge/knowledge/procedures", ".soloforge/knowledge/domain/backend",
383
- ".soloforge/knowledge/domain/frontend", ".soloforge/knowledge/acceptance_templates",
384
- ".soloforge/knowledge/review_rules", ".soloforge/knowledge/product_profiles",
385
- ".soloforge/knowledge/checklists", ".soloforge/knowledge/templates",
386
- ".soloforge/staged",
387
- ];
388
- for (const dir of dirs) {
389
- fss.mkdirSync(path.join(projectPath, dir), { recursive: true });
390
- }
391
- writeConfigWithEvidence(projectPath, draft, evidence);
392
- ensureGitignore(projectPath);
393
- await copyGlobalPatterns(projectPath);
394
- await copyKnowledgeTemplates(projectPath);
395
- await generateAdapterConfigs(projectPath, "claude-code");
396
- }
397
- function blueprintBackendCommands(framework) {
398
- switch (framework) {
399
- case "spring-boot": return { build: "./mvnw compile -q", test: "./mvnw test -q", full: "./mvnw verify -q" };
400
- case "gradle": return { build: "./gradlew compileJava", test: "./gradlew test", full: "./gradlew check" };
401
- case "stdlib": return { build: "go build ./...", test: "go test ./...", full: "go test -race ./..." };
402
- case "cargo": return { build: "cargo build", test: "cargo test", full: "cargo test --all" };
403
- default: return { build: "echo 'no backend build'", test: "echo 'no backend tests'", full: "echo 'no backend'" };
404
- }
405
- }
406
- function blueprintFrontendCommands(framework) {
407
- switch (framework) {
408
- case "react":
409
- case "vue":
410
- return { build: "npm run build", test: "npm test", full: "npm run build && npm test" };
411
- case "angular":
412
- return { build: "npx ng build", test: "npx ng test", full: "npx ng build && npx ng test" };
413
- default: return { build: "echo 'no frontend build'", test: "echo 'no frontend tests'", full: "echo 'no frontend'" };
414
- }
415
- }
416
- async function cmdInit() {
417
- debug("CLI", "执行 cmdInit");
418
- const interactive = args.includes("--interactive");
419
- const adapter = getArgValue("--adapter") || "claude-code";
420
- const projectPathArg = getArgValue("--project-path");
421
- const projectPath = projectPathArg ? path.resolve(projectPathArg) : process.cwd();
422
- // 创建目录
423
- const dirs = [
424
- ".soloforge/state",
425
- ".soloforge/state/debt",
426
- ".soloforge/knowledge/patterns",
427
- ".soloforge/knowledge/patterns/core",
428
- ".soloforge/knowledge/patterns/temp",
429
- ".soloforge/knowledge/procedures",
430
- ".soloforge/knowledge/domain/backend",
431
- ".soloforge/knowledge/domain/frontend",
432
- ".soloforge/knowledge/acceptance_templates",
433
- ".soloforge/knowledge/review_rules",
434
- ".soloforge/knowledge/product_profiles",
435
- ".soloforge/knowledge/checklists",
436
- ".soloforge/knowledge/templates",
437
- ".soloforge/staged",
438
- ];
439
- for (const dir of dirs) {
440
- fss.mkdirSync(path.join(projectPath, dir), { recursive: true });
441
- }
442
- // 仅 --interactive 模式生成 config.yaml + evidence;普通 init 不再生成
443
- if (interactive) {
444
- const config = await interactiveConfig(projectPath);
445
- if (config) {
446
- // config 结构为 { draft, evidence }
447
- writeConfigWithEvidence(projectPath, config.draft, config.evidence);
448
- }
449
- else if (!process.stdin.isTTY) {
450
- userInfo("⚠️ interactive requires TTY. 请使用 --auto 或 --blueprint。");
451
- }
452
- }
453
- // 生成 .mcp.json(SoloForge + Playwright)
454
- if (adapter === "claude-code" || adapter === "all") {
455
- const mcpPath = path.join(projectPath, ".mcp.json");
456
- if (!fss.existsSync(mcpPath)) {
457
- const mcpConfig = {
458
- mcpServers: {
459
- soloforge: {
460
- command: "soloforge",
461
- args: ["mcp"],
462
- env: { SOLOFORGE_PROJECT: projectPath },
463
- },
464
- playwright: {
465
- command: "npx",
466
- args: ["@playwright/mcp@latest", "--headless"],
467
- },
468
- },
469
- };
470
- fss.writeFileSync(mcpPath, JSON.stringify(mcpConfig, null, 2), "utf-8");
471
- userInfo("✅ .mcp.json 已创建(soloforge + playwright)");
472
- }
473
- // 生成 hooks
474
- await cmdGenerateHooks(projectPath);
475
- // 生成 CLAUDE.md
476
- await cmdGenerateClaudeMdInner(projectPath);
477
- }
478
- // 生成 Trae IDE 配置
479
- if (adapter === "trae" || adapter === "all") {
480
- await cmdGenerateTraeInner(projectPath);
481
- userInfo("💡 提示: 使用项目级 .trae/ 配置需在 Trae 中开启 beta flag");
482
- }
483
- // 生成 Codex App 配置
484
- if (adapter === "codex" || adapter === "all") {
485
- await cmdGenerateCodexInner(projectPath);
486
- }
487
- // 复制模板 + 适配器配置(共享逻辑)
488
- await copyGlobalPatterns(projectPath);
489
- await copyKnowledgeTemplates(projectPath);
490
- // 确保 .gitignore 包含必要条目
491
- ensureGitignore(projectPath);
492
- userInfo(`\n✅ SoloForge 初始化完成 (适配器: ${adapter})。${adapter === "trae" ? "请打开 Trae IDE 开始使用。" :
493
- adapter === "codex" ? "请打开 Codex App 开始使用。" :
494
- adapter === "all" ? "可在 Claude Code、Trae IDE 或 Codex App 中使用。" :
495
- "请打开 Claude Code 开始使用。"}`);
496
- }
497
- async function copyGlobalPatterns(projectPath) {
498
- const { copyPatternsToGlobal } = await import("../engine/template_init_sync.js");
499
- const globalDir = getGlobalPatternsDir();
500
- const templatesRoot = path.resolve(import.meta.dirname, "..", "..");
501
- const result = await copyPatternsToGlobal(templatesRoot, globalDir);
502
- const parts = [];
503
- if (result.copied > 0)
504
- parts.push(`新增 ${result.copied} 个`);
505
- if (result.skipped > 0)
506
- parts.push(`跳过 ${result.skipped} 个(已存在)`);
507
- if (parts.length > 0) {
508
- userInfo(`✅ 全局模板 ~/.soloforge/patterns/: ${parts.join(",")}`);
509
- }
510
- }
511
- async function copyKnowledgeTemplates(projectPath) {
512
- const { copyKnowledgeToProject } = await import("../engine/template_init_sync.js");
513
- const templatesRoot = path.resolve(import.meta.dirname, "..", "..");
514
- const result = await copyKnowledgeToProject(templatesRoot, projectPath);
515
- const parts = [];
516
- if (result.copied > 0)
517
- parts.push(`${result.copied} 个已复制`);
518
- if (result.skipped_internal > 0)
519
- parts.push(`${result.skipped_internal} 个内部资产已跳过`);
520
- if (result.skipped_no_contract > 0)
521
- parts.push(`${result.skipped_no_contract} 个无合同已跳过`);
522
- if (parts.length > 0) {
523
- userInfo(`✅ 知识模板: ${parts.join(",")}`);
524
- }
525
- }
526
- async function generateAdapterConfigs(projectPath, adapter) {
527
- if (adapter === "claude-code" || adapter === "all") {
528
- const mcpPath = path.join(projectPath, ".mcp.json");
529
- if (!fss.existsSync(mcpPath)) {
530
- const mcpConfig = {
531
- mcpServers: {
532
- soloforge: { command: "soloforge", args: ["mcp"], env: { SOLOFORGE_PROJECT: projectPath } },
533
- playwright: { command: "npx", args: ["@playwright/mcp@latest", "--headless"] },
534
- },
535
- };
536
- fss.writeFileSync(mcpPath, JSON.stringify(mcpConfig, null, 2), "utf-8");
537
- userInfo("✅ .mcp.json 已创建(soloforge + playwright)");
538
- }
539
- await cmdGenerateHooks(projectPath);
540
- await cmdGenerateClaudeMdInner(projectPath);
541
- }
542
- }
543
- function ensureGitignore(projectPath) {
544
- const gitignorePath = path.join(projectPath, ".gitignore");
545
- const requiredEntries = [".mcp.json", ".soloforge/"];
546
- let content = "";
547
- if (fss.existsSync(gitignorePath)) {
548
- content = fss.readFileSync(gitignorePath, "utf-8");
549
- }
550
- const lines = content.split("\n");
551
- const missing = requiredEntries.filter((entry) => !lines.some((l) => l.trim() === entry));
552
- if (missing.length > 0) {
553
- const addition = (content.endsWith("\n") ? "" : "\n") + missing.join("\n") + "\n";
554
- fss.appendFileSync(gitignorePath, addition, "utf-8");
555
- userInfo(`✅ .gitignore 已更新: ${missing.join(", ")}`);
556
- }
557
- }
558
- async function cmdGenerateHooks(projectPath) {
559
- const targetPath = projectPath ?? process.cwd();
560
- const hooksConfig = generateHooksConfig();
561
- const claudeDir = path.join(targetPath, ".claude");
562
- fss.mkdirSync(claudeDir, { recursive: true });
563
- const settingsPath = path.join(claudeDir, "settings.json");
564
- let existing = {};
565
- if (fss.existsSync(settingsPath)) {
566
- try {
567
- existing = JSON.parse(fss.readFileSync(settingsPath, "utf-8"));
568
- }
569
- catch {
570
- existing = {};
571
- }
572
- }
573
- // 仅 merge hooks 字段,保留用户的 permissions/env 等设置
574
- existing.hooks = hooksConfig.hooks;
575
- fss.writeFileSync(settingsPath, JSON.stringify(existing, null, 2), "utf-8");
576
- userInfo("✅ .claude/settings.json 已更新 hooks 配置");
577
- }
578
- async function cmdGenerateClaudeMd() {
579
- await cmdGenerateClaudeMdInner(process.cwd());
580
- }
581
- async function cmdGenerateTrae() {
582
- await cmdGenerateTraeInner(process.cwd());
583
- }
584
- async function cmdGenerateCodex() {
585
- await cmdGenerateCodexInner(process.cwd());
586
- }
587
- async function cmdGenerateCodexInner(projectPath) {
588
- // 生成 .codex/config.toml
589
- const codexDir = path.join(projectPath, ".codex");
590
- fss.mkdirSync(codexDir, { recursive: true });
591
- const tomlContent = generateCodexMcpConfig(projectPath);
592
- fss.writeFileSync(path.join(codexDir, "config.toml"), tomlContent, "utf-8");
593
- userInfo("✅ .codex/config.toml 已创建");
594
- // 生成 .codex/hooks.json
595
- const hooksContent = generateCodexHooksConfig();
596
- fss.writeFileSync(path.join(codexDir, "hooks.json"), hooksContent, "utf-8");
597
- userInfo("✅ .codex/hooks.json 已创建");
598
- // 生成 AGENTS.md
599
- const { config } = await resolveProjectConfig(projectPath);
600
- const agentsContent = generateCodexAgentsMd(config);
601
- fss.writeFileSync(path.join(projectPath, "AGENTS.md"), agentsContent, "utf-8");
602
- userInfo("✅ AGENTS.md 已创建");
603
- }
604
- async function cmdGenerateTraeInner(projectPath) {
605
- // 生成 .trae/mcp.json
606
- const traeDir = path.join(projectPath, ".trae");
607
- fss.mkdirSync(traeDir, { recursive: true });
608
- const traeMcpPath = path.join(traeDir, "mcp.json");
609
- const traeMcpConfig = generateTraeMcpConfig(projectPath);
610
- fss.writeFileSync(traeMcpPath, JSON.stringify(traeMcpConfig, null, 2), "utf-8");
611
- userInfo("✅ .trae/mcp.json created");
612
- // 生成 .trae/rules/project_rules.md
613
- const rulesDir = path.join(traeDir, "rules");
614
- fss.mkdirSync(rulesDir, { recursive: true });
615
- const { config } = await resolveProjectConfig(projectPath);
616
- const rulesContent = generateTraeRules(config);
617
- fss.writeFileSync(path.join(rulesDir, "project_rules.md"), rulesContent, "utf-8");
618
- userInfo("✅ .trae/rules/project_rules.md created");
619
- }
620
- async function cmdGenerateClaudeMdInner(projectPath) {
621
- const { config } = await resolveProjectConfig(projectPath);
622
- const content = generateClaudeMd(config);
623
- fss.writeFileSync(path.join(projectPath, "CLAUDE.md"), content, "utf-8");
624
- userInfo("✅ CLAUDE.md created");
625
- }
626
- async function cmdCheckWrite() {
627
- debugLog("CLI: 执行 cmdCheckWrite");
628
- try {
629
- // 所有适配器均通过 stdin 读取 JSON(Claude Code / Codex 统一)
630
- let toolInput;
631
- {
632
- const chunks = [];
633
- for await (const chunk of process.stdin) {
634
- chunks.push(chunk);
635
- }
636
- const stdin = Buffer.concat(chunks).toString().trim();
637
- if (stdin)
638
- toolInput = stdin;
639
- }
640
- // 回退: 从命令行参数读取
641
- if (!toolInput) {
642
- toolInput = args[0];
643
- }
644
- if (!toolInput) {
645
- process.exit(0); // 无输入,放行
646
- }
647
- const parsed = JSON.parse(toolInput);
648
- let filePath;
649
- let content;
650
- {
651
- // Claude Code: { tool_input: { file_path, content/new_string } } 格式
652
- // Codex: { input: { file_path, content/new_string } } 格式
653
- // 回退: 顶层 { file_path, content/new_string }
654
- const input = parsed.tool_input || parsed.input || parsed;
655
- filePath = input.file_path || input.path || "";
656
- content = input.content || input.new_string || "";
657
- }
658
- // 加载配置
659
- const projectPath = resolveProjectPath();
660
- const { config, source } = await resolveProjectConfig(projectPath);
661
- // 从配置中收集所有允许路径
662
- let allowedPaths = [
663
- ...(config.scope.backend || []),
664
- ...(config.scope.frontend || []),
665
- ...config.repos.flatMap((r) => r.scope || []),
666
- ].map((p) => path.resolve(projectPath, p));
667
- if (source === "inferred" || allowedPaths.length === 0) {
668
- allowedPaths = [...new Set([...allowedPaths, projectPath])];
669
- }
670
- // 使用 scope_controller 统一检查
671
- const { checkScope } = await import("../engine/scope_controller.js");
672
- const rawTargetFilePath = path.isAbsolute(filePath) ? filePath : path.resolve(projectPath, filePath);
673
- const projectRealPath = fss.realpathSync(projectPath);
674
- const targetFilePath = isSameOrDescendantPath(rawTargetFilePath, projectPath, { caseSensitive: false })
675
- ? path.join(projectRealPath, path.relative(projectPath, rawTargetFilePath))
676
- : rawTargetFilePath;
677
- const result = checkScope(targetFilePath, allowedPaths, content || undefined);
678
- // 隐私/秘密契约:禁止读取的模式
679
- if (isReadForbidden(filePath)) {
680
- process.stdout.write(JSON.stringify({
681
- hookSpecificOutput: {
682
- hookEventName: "PreToolUse",
683
- permissionDecision: "deny",
684
- permissionDecisionReason: `隐私策略: ${filePath} 匹配禁止读取模式`,
685
- },
686
- }));
687
- process.exit(0);
688
- }
689
- if (result.severity === "blocked") {
690
- const denyOutput = {
691
- hookSpecificOutput: {
692
- hookEventName: "PreToolUse",
693
- permissionDecision: "deny",
694
- permissionDecisionReason: result.reason || "范围检查阻止了写入",
695
- },
696
- };
697
- process.stdout.write(JSON.stringify(denyOutput));
698
- process.exit(0);
699
- }
700
- if (result.severity === "warning") {
701
- jsonSafeError(JSON.stringify(result));
702
- }
703
- const relativeFilePath = path.relative(projectRealPath, targetFilePath).replaceAll(path.sep, "/");
704
- const implementationGateReason = await evaluateImplementationWriteGate(projectPath, relativeFilePath);
705
- if (implementationGateReason) {
706
- denyPreToolUse(implementationGateReason);
707
- process.exit(0);
708
- }
709
- process.exit(0); // 允许
710
- }
711
- catch (e) {
712
- userError(`SoloForge 写入检查错误: ${e instanceof Error ? e.message : String(e)}`);
713
- process.exit(1);
714
- }
715
- }
716
- function resolveProjectPath() {
717
- const envPath = process.env.SOLOFORGE_PROJECT;
718
- if (envPath) {
719
- try {
720
- const stat = fss.statSync(envPath);
721
- if (!stat.isDirectory()) {
722
- userWarn(`⚠️ SOLOFORGE_PROJECT (${envPath}) 不是目录,回退到 cwd`);
723
- return process.cwd();
724
- }
725
- return envPath;
726
- }
727
- catch {
728
- userWarn(`⚠️ SOLOFORGE_PROJECT (${envPath}) 路径不存在,回退到 cwd`);
729
- return process.cwd();
730
- }
731
- }
732
- const projectPathArg = getArgValue("--project-path");
733
- if (projectPathArg) {
734
- return path.resolve(projectPathArg);
735
- }
736
- return process.cwd();
737
- }
738
- function isImplementationSourcePath(relativeFilePath) {
739
- if (/^(?:docs|templates|\.soloforge|\.claude|\.codex|\.trae)\//.test(relativeFilePath))
740
- return false;
741
- if (/(^|\/)(?:package-lock|pnpm-lock|yarn.lock)$/.test(relativeFilePath))
742
- return false;
743
- return /\.(?:java|kt|kts|scala|ts|tsx|js|jsx|mjs|cjs|py|go|rs|php|rb|cs|swift|vue|svelte|sql|xml|yml|yaml|properties)$/.test(relativeFilePath);
744
- }
745
- function isDesignArtifactPath(relativeFilePath) {
746
- const lifecyclePaths = getDesignLifecycleArtifactPaths();
747
- if ([
748
- lifecyclePaths.decision_record,
749
- lifecyclePaths.architecture_document,
750
- lifecyclePaths.database_document,
751
- lifecyclePaths.api_document,
752
- lifecyclePaths.optional_detail_design_document,
753
- lifecyclePaths.slice_plan,
754
- lifecyclePaths.consistency_report,
755
- lifecyclePaths.traceability_matrix,
756
- lifecyclePaths.openapi,
757
- ].includes(relativeFilePath))
758
- return true;
759
- return /^docs\/architecture\//.test(relativeFilePath) ||
760
- /^docs\/traceability\//.test(relativeFilePath) ||
761
- /^docs\/api\/openapi\.(?:ya?ml|json)$/.test(relativeFilePath) ||
762
- /^db\/(?:migrations?|schema|changelog)\//.test(relativeFilePath) ||
763
- /(?:^|\/)(?:src\/main\/resources\/)?db\/(?:migrations?|schema|changelog)\//.test(relativeFilePath);
764
- }
765
- function denyPreToolUse(reason) {
766
- process.stdout.write(JSON.stringify({
767
- hookSpecificOutput: {
768
- hookEventName: "PreToolUse",
769
- permissionDecision: "deny",
770
- permissionDecisionReason: reason,
771
- },
772
- }));
773
- }
774
- async function evaluateImplementationWriteGate(projectPath, relativeFilePath) {
775
- // 问题六十二/七十三: Edit/Write/Bash 都必须遵守同一编码前门禁。
776
- // 设计资产本身允许继续修订;非设计业务实现文件在产物包复验通过前禁止写入。
777
- if (isDesignArtifactPath(relativeFilePath) || !isImplementationSourcePath(relativeFilePath))
778
- return undefined;
779
- const stateDir = path.join(projectPath, ".soloforge", "state");
780
- if (!fss.existsSync(stateDir))
781
- return undefined;
782
- const { TaskContextManager } = await import("../engine/task_context.js");
783
- const manager = new TaskContextManager(stateDir);
784
- const currentTask = await manager.getCurrentTask();
785
- const designPack = currentTask?.design_artifact_pack;
786
- if (currentTask && ["classifying", "clarifying", "expanding"].includes(currentTask.status)) {
787
- return `当前 SoloForge 任务仍处于 ${currentTask.status},说明分类、澄清或意图膨胀未闭合。不得绕过 sf_expand,不得取消/归档当前任务后改用 Bash/Edit/Write 直接写业务实现,也不得把 Bash 作为恢复路径。请先运行 soloforge next 查看阻断项;按返回的 auto_resolvable 或 recovery_command 补齐后重新 sf_expand。只有 soloforge next 明确判定 current-task 陈旧且用户确认时,才可运行 sf_status action=archive_stale confirm=true;归档后仍必须重新 sf_classify → sf_expand 建立受控编码任务。`;
788
- }
789
- if (!currentTask && hasDesignArtifacts(projectPath)) {
790
- return "检测到项目已有架构/详细/API/数据库设计产物,但当前没有受控 SoloForge 任务。不得绕过 sf_classify/sf_expand 直接写业务实现,不得改用 Bash/Edit/Write 先写代码再补验证;请先运行 soloforge next 或通过 MCP 建立编码任务。";
791
- }
792
- if (currentTask && !designPack && hasDesignArtifacts(projectPath)) {
793
- return "检测到项目已有设计产物,但当前任务缺少 design_artifact_pack 复验状态。不得取消任务后直接写业务实现,不得改用 Bash 绕过;请先运行 soloforge audit-design-artifacts,并通过 sf_expand/sf_verify 绑定设计产物包。";
794
- }
795
- if (designPack && designPack.status !== "implementation_ready") {
796
- return `设计产物包状态为 ${designPack.status},不得改用 Bash/Edit/Write 绕过设计复验;请先完善 docs/architecture、docs/traceability、docs/api/openapi 或 db/migration|migrations|schema|changelog 并通过复验,再写入业务实现`;
797
- }
798
- return undefined;
799
- }
800
- function hasDesignArtifacts(projectPath) {
801
- const lifecyclePaths = getDesignLifecycleArtifactPaths();
802
- const candidates = [
803
- lifecyclePaths.decision_record,
804
- lifecyclePaths.architecture_document,
805
- lifecyclePaths.database_document,
806
- lifecyclePaths.api_document,
807
- lifecyclePaths.optional_detail_design_document,
808
- lifecyclePaths.slice_plan,
809
- lifecyclePaths.consistency_report,
810
- lifecyclePaths.traceability_matrix,
811
- lifecyclePaths.openapi,
812
- path.join(projectPath, "docs", "api", "openapi.yml"),
813
- ...lifecyclePaths.sql_roots,
814
- ].map((candidate) => path.join(projectPath, candidate));
815
- return candidates.some((candidate) => fss.existsSync(candidate));
816
- }
817
- async function cmdPostBash() {
818
- debugLog("CLI: 执行 cmdPostBash");
819
- // Bash 的 PostToolUse hook — 目前为空操作占位符
820
- // 未来: 跟踪命令结果,检测构建/测试失败
821
- process.exit(0);
822
- }
823
- function extractBashCommand(rawInput) {
824
- const trimmed = rawInput.trim();
825
- if (!trimmed)
826
- return "";
827
- try {
828
- const parsed = JSON.parse(trimmed);
829
- const input = parsed.tool_input || parsed.toolInput || parsed.input || parsed;
830
- return String(input.command || input.cmd || parsed.command || "");
831
- }
832
- catch {
833
- return trimmed;
834
- }
835
- }
836
- function unquoteShellToken(token) {
837
- if (!token)
838
- return undefined;
839
- const trimmed = token.trim();
840
- if ((trimmed.startsWith("\"") && trimmed.endsWith("\"")) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
841
- return trimmed.slice(1, -1);
842
- }
843
- return trimmed;
844
- }
845
- function addShellPathToken(targets, token) {
846
- const value = unquoteShellToken(token);
847
- if (!value || value === "-" || value.startsWith("$"))
848
- return;
849
- targets.add(value.replace(/[),;]+$/, ""));
850
- }
851
- function addSourcePathTokens(targets, commandText) {
852
- const pathTokenPattern = /"([^"]+\.(?:java|kt|kts|scala|ts|tsx|js|jsx|mjs|cjs|py|go|rs|php|rb|cs|swift|vue|svelte|sql|xml|ya?ml|properties))"|'([^']+\.(?:java|kt|kts|scala|ts|tsx|js|jsx|mjs|cjs|py|go|rs|php|rb|cs|swift|vue|svelte|sql|xml|ya?ml|properties))'|([^\s'";&|()<>]+\.(?:java|kt|kts|scala|ts|tsx|js|jsx|mjs|cjs|py|go|rs|php|rb|cs|swift|vue|svelte|sql|xml|ya?ml|properties))/gi;
853
- for (const match of commandText.matchAll(pathTokenPattern)) {
854
- addShellPathToken(targets, match[1] || match[2] || match[3]);
855
- }
856
- }
857
- function extractBashWriteTargets(commandText) {
858
- const command = commandText.replace(/\s+/g, " ").trim();
859
- const targets = new Set();
860
- const redirectionPattern = /(?:^|[^<])>>?\s*(?:"([^"]+)"|'([^']+)'|([^\s;&|]+))/g;
861
- for (const match of command.matchAll(redirectionPattern)) {
862
- addShellPathToken(targets, match[1] || match[2] || match[3]);
863
- }
864
- const teePattern = /(?:^|[\s;&|()])tee\s+(?:-[A-Za-z]+\s+)*(?:"([^"]+)"|'([^']+)'|([^\s;&|]+))/g;
865
- for (const match of command.matchAll(teePattern)) {
866
- addShellPathToken(targets, match[1] || match[2] || match[3]);
867
- }
868
- const writeApiPattern = /(?:writeFileSync|writeFile|write_text)\s*\(\s*["']([^"']+)["']/g;
869
- for (const match of command.matchAll(writeApiPattern)) {
870
- addShellPathToken(targets, match[1]);
871
- }
872
- const pythonOpenWritePattern = /open\s*\(\s*["']([^"']+)["']\s*,\s*["'][^"']*[wa+][^"']*["']/g;
873
- for (const match of command.matchAll(pythonOpenWritePattern)) {
874
- addShellPathToken(targets, match[1]);
875
- }
876
- const pathlibWritePattern = /(?:Path|pathlib\.Path)\s*\(\s*["']([^"']+)["']\s*\)\.write_text/g;
877
- for (const match of command.matchAll(pathlibWritePattern)) {
878
- addShellPathToken(targets, match[1]);
879
- }
880
- const mutatingCommandPattern = /(?:^|[\s;&|()])(?:rm|mv|cp|touch|chmod|chown)\b/i;
881
- const inPlaceEditPattern = /(?:^|[\s;&|()])(?:(?:g?sed)\s+[^;&|]*\s-i\b|perl\s+[^;&|]*\s-pi\b)/i;
882
- if (mutatingCommandPattern.test(command) || inPlaceEditPattern.test(command)) {
883
- addSourcePathTokens(targets, command);
884
- }
885
- return [...targets];
886
- }
887
- function resolveProjectRelativeTarget(projectPath, targetPath) {
888
- const rawTargetFilePath = path.isAbsolute(targetPath) ? path.normalize(targetPath) : path.resolve(projectPath, targetPath);
889
- const projectRealPath = fss.realpathSync(projectPath);
890
- const targetFilePath = isSameOrDescendantPath(rawTargetFilePath, projectPath, { caseSensitive: false })
891
- ? path.join(projectRealPath, path.relative(projectPath, rawTargetFilePath))
892
- : rawTargetFilePath;
893
- const relativeFilePath = path.relative(projectRealPath, targetFilePath).replaceAll(path.sep, "/");
894
- if (relativeFilePath === "" || relativeFilePath.startsWith("../") || path.isAbsolute(relativeFilePath))
895
- return undefined;
896
- return relativeFilePath;
897
- }
898
- async function cmdCheckBash() {
899
- debugLog("CLI: 执行 cmdCheckBash");
900
- try {
901
- const chunks = [];
902
- for await (const chunk of process.stdin) {
903
- chunks.push(chunk);
904
- }
905
- const stdin = Buffer.concat(chunks).toString();
906
- const commandText = extractBashCommand(stdin || args.join(" "));
907
- if (isSoloforgeStateBypassCommand(commandText)) {
908
- denyPreToolUse("禁止通过 Bash 直接修改 .soloforge/state;请使用 SoloForge MCP 工具,例如 sf_status action=archive_stale confirm=true。");
909
- process.exit(0);
910
- }
911
- const projectPath = resolveProjectPath();
912
- for (const target of extractBashWriteTargets(commandText)) {
913
- const relativeTarget = resolveProjectRelativeTarget(projectPath, target);
914
- if (!relativeTarget)
915
- continue;
916
- const implementationGateReason = await evaluateImplementationWriteGate(projectPath, relativeTarget);
917
- if (implementationGateReason) {
918
- denyPreToolUse(`禁止通过 Bash 直接写业务实现文件 ${relativeTarget};${implementationGateReason}`);
919
- process.exit(0);
920
- }
921
- }
922
- process.exit(0);
923
- }
924
- catch (e) {
925
- userError(`SoloForge Bash 检查错误: ${e instanceof Error ? e.message : String(e)}`);
926
- process.exit(1);
927
- }
928
- }
929
- async function cmdDoctor() {
930
- debugLog("CLI: 执行 cmdDoctor");
931
- const isJson = args.includes("--json");
932
- const projectPath = process.cwd();
933
- const report = auditControlPlaneProject(projectPath);
934
- if (isJson) {
935
- process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
936
- return;
937
- }
938
- userInfo(`SoloForge 控制面诊断: ${projectPath}`);
939
- userInfo(` 状态: ${report.passed ? "通过" : "需修复"}`);
940
- userInfo(` 控制面矩阵: ${report.matrix_count} 类`);
941
- userInfo(` 枝叶细节: ${report.branch_detail_count} 条`);
942
- if (report.findings.length === 0) {
943
- userInfo(" finding: 0");
944
- return;
945
- }
946
- for (const finding of report.findings) {
947
- const marker = finding.severity === "hard_fail" ? "❌" : finding.severity === "warning" ? "⚠️" : "ℹ️";
948
- userInfo(` ${marker} [${finding.code}] ${finding.message}`);
949
- userInfo(` 恢复: ${finding.recovery}`);
950
- }
951
- }
952
- export { buildHookAdditionalContext } from "../adapters/claude_code/pre_prompt_contract.js";
953
- async function cmdPrePrompt() {
954
- debugLog("CLI: 执行 cmdPrePrompt");
955
- try {
956
- // UserPromptSubmit hook 从 stdin 接收 JSON { prompt: "..." }
957
- const chunks = [];
958
- for await (const chunk of process.stdin) {
959
- chunks.push(chunk);
960
- }
961
- const stdin = Buffer.concat(chunks).toString().trim();
962
- if (!stdin) {
963
- process.exit(0);
964
- return;
965
- }
966
- let userMessage = "";
967
- try {
968
- const parsed = JSON.parse(stdin);
969
- userMessage = parsed.prompt || parsed.message || "";
970
- }
971
- catch {
972
- userMessage = stdin;
973
- }
974
- if (!userMessage || userMessage.length < 2) {
975
- process.exit(0);
976
- return;
977
- }
978
- // 使用意图路由器分类 — 如果路由属于 SoloForge 范畴,注入结构化上下文
979
- const decision = routeIntent({ intent: userMessage });
980
- const additionalContext = buildHookAdditionalContext(decision);
981
- if (additionalContext) {
982
- const output = {
983
- hookSpecificOutput: {
984
- hookEventName: "UserPromptSubmit",
985
- additionalContext: typeof additionalContext === "string"
986
- ? additionalContext
987
- : JSON.stringify(additionalContext),
988
- },
989
- };
990
- process.stdout.write(JSON.stringify(output));
991
- }
992
- }
993
- catch (e) {
994
- internalWarn("CLI", "pre-prompt hook 错误:", e);
995
- }
996
- process.exit(0);
997
- }
998
- async function checkEvidenceWarnings(projectPath) {
999
- debug("CLI", "执行 checkEvidenceWarnings —", projectPath);
1000
- const warnings = [];
1001
- const configPath = path.join(projectPath, ".soloforge", "config.yaml");
1002
- const evidencePath = path.join(projectPath, ".soloforge", "config.evidence.json");
1003
- if (!fss.existsSync(configPath))
1004
- return warnings;
1005
- if (!fss.existsSync(evidencePath)) {
1006
- warnings.push("config.yaml 存在但 config.evidence.json 缺失 — 来源追溯性丢失");
1007
- return warnings;
1008
- }
1009
- // 检查 mtime 过期
1010
- try {
1011
- const configStat = fss.statSync(configPath);
1012
- const evidenceStat = fss.statSync(evidencePath);
1013
- if (configStat.mtimeMs > evidenceStat.mtimeMs) {
1014
- warnings.push("config.evidence.json 已过期(config.yaml 在 evidence 生成后被修改)");
1015
- }
1016
- }
1017
- catch { }
1018
- // 旧版字段一致性检查(schema v1 evidence)
1019
- try {
1020
- const evidenceRaw = JSON.parse(fss.readFileSync(evidencePath, "utf-8"));
1021
- const configContent = fss.readFileSync(configPath, "utf-8");
1022
- const config = YAML.parse(configContent);
1023
- for (const [key, field] of Object.entries(evidenceRaw.fields)) {
1024
- const actualValue = getConfigFieldValue(config, key);
1025
- if (actualValue !== undefined && JSON.stringify(field.value) !== JSON.stringify(actualValue)) {
1026
- warnings.push(`evidence 字段 '${key}' 的值与 config.yaml 不匹配`);
1027
- }
1028
- }
1029
- }
1030
- catch { }
1031
- // 使用 schema v2 条目验证配置优先级
1032
- try {
1033
- const entries = loadConfigEvidenceEntries(projectPath);
1034
- // 检查 C 类字段自动写入违规
1035
- for (const e of entries) {
1036
- if (e.source === "cli_flag" || e.source === "mcp_param") {
1037
- if (e.lifetime === "project_persistent") {
1038
- warnings.push(`CLI/MCP 参数(${e.source})已持久化到 config — 字段: ${e.field_path}`);
1039
- }
1040
- }
1041
- }
1042
- // 运行实时解析的配置优先级验证
1043
- try {
1044
- const { reports } = await resolveCurrentProjectConfigReports(projectPath);
1045
- const findings = validateConfigPrecedence(reports, entries);
1046
- for (const f of findings) {
1047
- if (f.severity === "hard_fail") {
1048
- warnings.push(`[${f.rule}] ${f.message}`);
1049
- }
1050
- }
1051
- }
1052
- catch { }
1053
- }
1054
- catch { }
1055
- return warnings;
1056
- }
1057
- function getConfigFieldValue(config, key) {
1058
- const parts = key.split(".");
1059
- let obj = config;
1060
- for (const part of parts) {
1061
- if (obj == null || typeof obj !== "object")
1062
- return undefined;
1063
- obj = obj[part];
1064
- }
1065
- return obj;
1066
- }
1067
- async function cmdValidate() {
1068
- debug("CLI", "执行 cmdValidate");
1069
- const projectPath = resolveProjectPath();
1070
- try {
1071
- const { config, source } = await resolveProjectConfig(projectPath);
1072
- if (source === "inferred") {
1073
- userInfo("ℹ️ 配置来源: 自动推断");
1074
- }
1075
- else {
1076
- userInfo("✅ config.yaml 有效");
1077
- }
1078
- // 使用共享函数验证配置优先级
1079
- let hasHardFail = false;
1080
- const hardFailSources = new Set();
1081
- try {
1082
- const { reports, entries } = await resolveCurrentProjectConfigReports(projectPath);
1083
- const findings = validateConfigPrecedence(reports, entries);
1084
- const hardFails = findings.filter(f => f.severity === "hard_fail");
1085
- const advisory = findings.filter(f => f.severity === "advisory");
1086
- if (hardFails.length > 0) {
1087
- hasHardFail = true;
1088
- hardFailSources.add("配置优先级");
1089
- userInfo(`❌ 配置优先级: ${hardFails.length} hard_fail`);
1090
- for (const f of hardFails) {
1091
- userInfo(` - [${f.rule}] ${f.field_path ?? "N/A"}: ${f.message}`);
1092
- }
1093
- }
1094
- if (advisory.length > 0) {
1095
- userInfo(`⚠️ 配置优先级: ${advisory.length} advisory`);
1096
- for (const f of advisory) {
1097
- userInfo(` - [${f.rule}] ${f.field_path ?? "N/A"}: ${f.message}`);
1098
- }
1099
- }
1100
- if (hardFails.length === 0 && advisory.length === 0) {
1101
- userInfo("✅ 配置优先级验证通过");
1102
- }
1103
- }
1104
- catch { }
1105
- // Evidence 检查
1106
- const evidenceWarnings = await checkEvidenceWarnings(projectPath);
1107
- for (const w of evidenceWarnings) {
1108
- userInfo(`⚠️ evidence: ${w}`);
1109
- }
1110
- // 知识治理统一入口:生命周期、语义、文档与语言策略的轻量主链路消费
1111
- try {
1112
- const { runKnowledgeGovernanceCheck } = await import("../engine/knowledge_governance_gate.js");
1113
- const kgReport = runKnowledgeGovernanceCheck({
1114
- project_language: "zh",
1115
- contents: [{ id: "cli-validate", domain: "user_feedback", content: "SoloForge 校验输出保持中文语义优先" }],
1116
- });
1117
- if (kgReport.hard_fail_count > 0) {
1118
- userInfo(`❌ 知识治理: ${kgReport.hard_fail_count} hard_fail`);
1119
- for (const f of kgReport.findings.filter((f) => f.severity === "hard_fail")) {
1120
- userInfo(` - [${f.kind}] ${f.message_zh}`);
1121
- }
1122
- hasHardFail = true;
1123
- hardFailSources.add("知识治理");
1124
- }
1125
- else {
1126
- userInfo(`✅ 知识治理检查: ${kgReport.warning_count} warning, 0 hard_fail`);
1127
- }
1128
- }
1129
- catch (e) {
1130
- userInfo(` ⚠ 知识治理检查异常: ${e instanceof Error ? e.message : String(e)}`);
1131
- }
1132
- // 检查知识文件
1133
- const knowledgeDir = getProjectKnowledgeDir(config);
1134
- if (fss.existsSync(knowledgeDir)) {
1135
- const { KnowledgeIndexManager } = await import("../knowledge/index_manager.js");
1136
- const index = new KnowledgeIndexManager(config, { watch: false });
1137
- try {
1138
- await index.build();
1139
- const entries = index.getAllEntries();
1140
- userInfo(`✅ ${entries.project.length} 条项目知识已索引`);
1141
- const issues = await index.checkHealth();
1142
- if (issues.length > 0) {
1143
- userInfo(`⚠️ ${issues.length} 个健康问题:`);
1144
- for (const { entry, issue } of issues) {
1145
- userInfo(` - ${entry.name}: ${issue}`);
1146
- }
1147
- }
1148
- }
1149
- finally {
1150
- await index.close();
1151
- }
1152
- const { auditProjectKnowledge } = await import("../engine/project_knowledge_contract.js");
1153
- const pkReport = auditProjectKnowledge(projectPath, config);
1154
- if (pkReport.hard_fail_count > 0) {
1155
- userInfo(`❌ 项目知识承载: ${pkReport.hard_fail_count} hard_fail`);
1156
- for (const asset of pkReport.assets) {
1157
- for (const finding of asset.findings.filter((f) => f.severity === "hard_fail")) {
1158
- userInfo(` - ${asset.rel_path}: [${finding.code}] ${finding.message_zh}`);
1159
- }
1160
- }
1161
- hasHardFail = true;
1162
- hardFailSources.add("项目知识承载");
1163
- }
1164
- else {
1165
- userInfo(`✅ 项目知识承载: ${pkReport.total} 条,${pkReport.injectable} 条可注入,${pkReport.index_only} 条仅索引,0 hard_fail`);
1166
- }
1167
- }
1168
- // 扩展清单校验 (problem-39: validateExtensionManifest)
1169
- try {
1170
- const { validateExtensionManifest } = await import("../engine/extension_contract.js");
1171
- const extResult = validateExtensionManifest({ extension_id: "soloforge-cli-validate", name: "SoloForge CLI 验证", version: "1.0.0", provider: "soloforge", extension_type: "workflow", contract_ids: [], capability_ids: [], permissions: ["read_project"], entrypoints: [], outputs: [], default_state: "disabled", compatibility: { min_soloforge_version: "1.0.0" } }, { extension_id: "soloforge-cli-validate", claimed_capabilities: [], claimed_enforcement: "advisory", third_party: false });
1172
- if (extResult.violations.length > 0) {
1173
- userInfo(" ✗ 扩展清单校验失败:");
1174
- for (const v of extResult.violations)
1175
- userInfo(` - ${v}`);
1176
- hasHardFail = true;
1177
- hardFailSources.add("扩展清单");
1178
- }
1179
- else {
1180
- userInfo(" ✓ 扩展清单校验通过");
1181
- }
1182
- }
1183
- catch (e) {
1184
- userInfo(` ⚠ 扩展清单校验异常: ${e instanceof Error ? e.message : String(e)}`);
1185
- }
1186
- // 平台兼容性检查 (problem-40: normalizePathRef via generatePlatformReport)
1187
- try {
1188
- const { generatePlatformReport } = await import("../engine/platform_context.js");
1189
- const platform = {
1190
- os: process.platform,
1191
- arch: process.arch,
1192
- shell: (process.env.SHELL?.includes("zsh") ? "zsh" : process.env.SHELL?.includes("fish") ? "fish" : "bash"),
1193
- path_case_sensitive: process.platform !== "darwin" && process.platform !== "win32",
1194
- path_separator: process.platform === "win32" ? "\\" : "/",
1195
- line_ending: process.platform === "win32" ? "crlf" : "lf",
1196
- supports_symlink: process.platform !== "win32",
1197
- workspace_realpath: projectPath,
1198
- };
1199
- const platformReport = generatePlatformReport(platform, ["package.json", "tsconfig.json"], process.cwd());
1200
- if (platformReport.platform_compatibility_status === "blocked") {
1201
- userInfo(` ✗ 平台兼容性阻断: ${platformReport.issues_found.join(", ")}`);
1202
- hasHardFail = true;
1203
- hardFailSources.add("平台兼容性");
1204
- }
1205
- else {
1206
- userInfo(` ✓ 平台兼容性检查: ${platformReport.platform_compatibility_status}`);
1207
- }
1208
- }
1209
- catch (e) {
1210
- userInfo(` ⚠ 平台兼容性检查异常: ${e instanceof Error ? e.message : String(e)}`);
1211
- }
1212
- // README 命令漂移检测 (problem-30: detectReadmeDrift via validateUserPromise)
1213
- try {
1214
- const { validateUserPromise, getCliCommandContracts } = await import("../engine/user_promise.js");
1215
- const { extractReadmeCommands } = await import("../engine/knowledge_scenario_registry.js");
1216
- const fs = await import("node:fs");
1217
- const pathMod = await import("node:path");
1218
- const readmePath = pathMod.join(projectPath, "README.md");
1219
- if (fs.existsSync(readmePath)) {
1220
- const readmeContent = fs.readFileSync(readmePath, "utf-8");
1221
- const readmeCommands = extractReadmeCommands(readmeContent);
1222
- const promiseResult = validateUserPromise(readmeCommands, getCliCommandContracts());
1223
- const hardFails = promiseResult.findings.filter(f => f.severity === "hard_fail");
1224
- const warnings = promiseResult.findings.filter(f => f.severity === "warning");
1225
- if (hardFails.length > 0) {
1226
- userInfo(" ✗ README 命令漂移:");
1227
- for (const hf of hardFails)
1228
- userInfo(` - ${hf.message_zh}`);
1229
- hasHardFail = true;
1230
- hardFailSources.add("README 命令漂移");
1231
- }
1232
- else if (warnings.length > 0) {
1233
- userInfo(" ⚠ README 命令漂移警告:");
1234
- for (const w of warnings)
1235
- userInfo(` - ${w.message_zh}`);
1236
- }
1237
- else {
1238
- userInfo(" ✓ README 命令一致性检查通过");
1239
- }
1240
- }
1241
- }
1242
- catch (e) {
1243
- userInfo(` ⚠ README 命令漂移检测异常: ${e instanceof Error ? e.message : String(e)}`);
1244
- }
1245
- // 双层机制验证 (仅限 SoloForge 自身源码目录)
1246
- if (fss.existsSync(path.join(projectPath, "src", "engine", "dual_layer_mechanism_registry.ts"))) {
1247
- const { validateMechanismLayerMaps } = await import("../engine/dual_layer_mechanism_registry.js");
1248
- const dlFindings = validateMechanismLayerMaps();
1249
- const dlHard = dlFindings.filter((f) => f.severity === "hard_fail");
1250
- const dlAdvisory = dlFindings.filter((f) => f.severity === "advisory");
1251
- if (dlHard.length > 0) {
1252
- userInfo(`❌ 双层机制验证: ${dlHard.length} hard_fail`);
1253
- for (const f of dlHard) {
1254
- userInfo(` - [${f.finding_type}] ${f.mechanism_id}: ${f.message}`);
1255
- }
1256
- userError(`❌ validate 失败: 双层机制存在 ${dlHard.length} hard_fail`);
1257
- process.exit(1);
1258
- }
1259
- else {
1260
- userInfo(`✅ 双层机制验证: ${dlAdvisory.length} advisory, 0 hard_fail`);
1261
- }
1262
- // problem-34: 测试策略覆盖验证 — 从 contract_registry 真实元数据构建
1263
- try {
1264
- const { validateTestStrategy } = await import("../engine/test_strategy.js");
1265
- const { getAllContracts } = await import("../engine/contract_registry.js");
1266
- const enforcedContracts = getAllContracts().filter((c) => c.state === "enforced");
1267
- let tsHardFail = false;
1268
- let tsChecked = 0;
1269
- let tsPending = 0;
1270
- for (const c of enforcedContracts) {
1271
- const hasTests = c.test_files && c.test_files.length > 0;
1272
- const hasLifecycle = c.lifecycle_test_files && c.lifecycle_test_files.length > 0;
1273
- if (!hasTests) {
1274
- // enforced 契约无测试文件元数据 → hard_fail,不得用 required_test_types:[] 掩盖
1275
- userInfo(`❌ 测试策略: ${c.contract_id} — enforced 契约缺少 test_files 元数据,无法验证覆盖`);
1276
- tsHardFail = true;
1277
- tsPending++;
1278
- continue;
1279
- }
1280
- const coverage = {
1281
- contract_id: c.contract_id,
1282
- required_test_types: ["unit"],
1283
- coverage_status: hasLifecycle ? "satisfied" : "partial",
1284
- satisfied_types: ["unit"],
1285
- missing_types: hasLifecycle ? [] : ["lifecycle"],
1286
- test_files: c.test_files || [],
1287
- has_lifecycle_test: hasLifecycle,
1288
- has_must_fail_case: false,
1289
- };
1290
- const tsErrors = validateTestStrategy(c.contract_id, true, coverage);
1291
- tsChecked++;
1292
- for (const e of tsErrors) {
1293
- if (e.severity === "hard_fail") {
1294
- tsHardFail = true;
1295
- userInfo(`❌ 测试策略: ${c.contract_id} — ${e.error}`);
1296
- }
1297
- }
1298
- }
1299
- if (tsHardFail) {
1300
- userError(`❌ 测试策略覆盖验证失败: ${tsChecked} 个已检查, ${tsPending} 个元数据缺失`);
1301
- hasHardFail = true;
1302
- hardFailSources.add("测试策略覆盖");
1303
- }
1304
- else {
1305
- userInfo(`✅ 测试策略覆盖: 已检查 ${tsChecked} 个 enforced 契约`);
1306
- }
1307
- }
1308
- catch (e) {
1309
- userError(`❌ 测试策略验证异常: ${e.message}`);
1310
- hasHardFail = true;
1311
- hardFailSources.add("测试策略覆盖");
1312
- }
1313
- } // 双层机制检查结束
1314
- try {
1315
- const { planNextAction } = await import("../engine/next_action_planner.js");
1316
- const navigation = await planNextAction(projectPath);
1317
- userInfo(` 阶段: ${navigation.project_stage}${navigation.task_stage ? ` / ${navigation.task_stage}` : ""}`);
1318
- if (navigation.blocking_reasons.length > 0) {
1319
- userInfo(` 导航阻断: ${navigation.blocking_reasons.join("; ")}`);
1320
- }
1321
- userInfo(` 下一步: ${navigation.work_package?.goal_zh ?? navigation.recommended_prompt_zh}`);
1322
- }
1323
- catch (e) {
1324
- userInfo(` ⚠ 导航摘要异常: ${e instanceof Error ? e.message : String(e)}`);
1325
- }
1326
- if (hasHardFail) {
1327
- const sources = hardFailSources.size > 0 ? Array.from(hardFailSources).join("、") : "校验项";
1328
- userError(`❌ validate 失败: ${sources} 存在 hard_fail`);
1329
- process.exit(1);
1330
- }
1331
- }
1332
- catch (e) {
1333
- userError(`❌ 验证失败: ${e.message}`);
1334
- process.exit(1);
1335
- }
1336
- }
1337
- async function cmdValidateMechanisms() {
1338
- debug("CLI", "执行 cmdValidateMechanisms");
1339
- // 从编译后的二进制位置推导根目录: dist/bin/soloforge.js -> 项目根
1340
- const soloforgeRoot = path.resolve(import.meta.dirname, "..", "..");
1341
- const projectPath = fss.existsSync(path.join(soloforgeRoot, "src", "engine"))
1342
- ? soloforgeRoot
1343
- : process.cwd();
1344
- try {
1345
- const { validateMechanismLayerMaps } = await import("../engine/dual_layer_mechanism_registry.js");
1346
- const findings = validateMechanismLayerMaps(undefined, projectPath);
1347
- const hardFails = findings.filter((f) => f.severity === "hard_fail");
1348
- const advisory = findings.filter((f) => f.severity === "advisory");
1349
- if (findings.length === 0) {
1350
- userInfo("✅ 所有双层机制映射验证通过,无发现。");
1351
- process.exit(0);
1352
- return;
1353
- }
1354
- if (advisory.length > 0) {
1355
- userInfo(`⚠️ advisory findings (${advisory.length}):`);
1356
- for (const f of advisory) {
1357
- userInfo(` - [${f.finding_type}] ${f.mechanism_id}: ${f.message}`);
1358
- }
1359
- }
1360
- if (hardFails.length > 0) {
1361
- userInfo(`❌ hard_fail findings (${hardFails.length}):`);
1362
- for (const f of hardFails) {
1363
- userInfo(` - [${f.finding_type}] ${f.mechanism_id}: ${f.message}`);
1364
- }
1365
- userInfo(`\n❌ 双层机制验证失败: ${hardFails.length} hard_fail`);
1366
- process.exit(1);
1367
- }
1368
- userInfo(`\n✅ 双层机制验证通过,${advisory.length} advisory findings`);
1369
- // problem-15: 机制族实现一致性验证
1370
- try {
1371
- const { validateMechanismFamilies } = await import("../engine/mechanism_family_registry.js");
1372
- const familyFindings = validateMechanismFamilies();
1373
- const familyHardFails = familyFindings.filter((f) => f.severity === "hard_fail");
1374
- if (familyHardFails.length > 0) {
1375
- userInfo(`\n❌ 机制族验证失败 (${familyHardFails.length} hard_fail):`);
1376
- for (const f of familyHardFails)
1377
- userInfo(` - ${f.mechanism_id}: ${f.message_zh}`);
1378
- process.exit(1);
1379
- }
1380
- else if (familyFindings.length > 0) {
1381
- userInfo(`\n📊 机制族验证: ${familyFindings.length} advisory`);
1382
- }
1383
- }
1384
- catch (e) {
1385
- userError(`❌ 机制族验证异常: ${e.message}`);
1386
- process.exit(1);
1387
- }
1388
- // 审计摘要
1389
- try {
1390
- const { auditTemplateMechanisms } = await import("../engine/template_mechanism_auditor.js");
1391
- const audit = auditTemplateMechanisms(projectPath);
1392
- if (audit.hard_fail_count > 0) {
1393
- userInfo(`\n❌ 模板审计摘要: ${audit.hard_fail_count} hard_fail, ${audit.unmapped_template_assets.length} unmapped`);
1394
- process.exit(1);
1395
- }
1396
- else {
1397
- userInfo(`\n📊 模板审计: ${audit.total_template_files} 文件, ${audit.unmapped_template_assets.length} unmapped, ${audit.advisory_count} advisory`);
1398
- }
1399
- }
1400
- catch (e) {
1401
- userError(`❌ 模板审计异常: ${e.message}`);
1402
- process.exit(1);
1403
- }
1404
- try {
1405
- const { runFullHealthCheck } = await import("../engine/mechanism_health_check.js");
1406
- const health = runFullHealthCheck(projectPath);
1407
- if (health.hard_fail_count > 0) {
1408
- userInfo(`\n❌ 机制运行时健康度: ${health.hard_fail_count} hard_fail`);
1409
- for (const f of health.findings.filter((f) => f.severity === "hard_fail")) {
1410
- userInfo(` - [${f.kind}] ${f.target}: ${f.message_zh}`);
1411
- }
1412
- process.exit(1);
1413
- }
1414
- userInfo(`\n📊 机制运行时健康度: ${health.warning_count} warning, 0 hard_fail`);
1415
- }
1416
- catch (e) {
1417
- userError(`❌ 机制运行时健康度检查异常: ${e.message}`);
1418
- process.exit(1);
1419
- }
1420
- }
1421
- catch (e) {
1422
- userError(`❌ validate-mechanisms 失败: ${e.message}`);
1423
- process.exit(1);
1424
- }
1425
- }
1426
- async function cmdAuditTemplateMechanisms() {
1427
- debug("CLI", "执行 cmdAuditTemplateMechanisms");
1428
- const asJson = args.includes("--json");
1429
- const changedOnly = args.includes("--changed-only");
1430
- // 从编译后的二进制位置推导根目录
1431
- const soloforgeRoot = path.resolve(import.meta.dirname, "..", "..");
1432
- const projectPath = fss.existsSync(path.join(soloforgeRoot, "src", "engine"))
1433
- ? soloforgeRoot
1434
- : process.cwd();
1435
- try {
1436
- const { auditTemplateMechanisms } = await import("../engine/template_mechanism_auditor.js");
1437
- const report = auditTemplateMechanisms(projectPath);
1438
- if (asJson) {
1439
- userInfo(JSON.stringify(report, null, 2));
1440
- if (report.hard_fail_count > 0) {
1441
- process.exit(1);
1442
- }
1443
- return;
1444
- }
1445
- // 人类可读输出
1446
- userInfo(`模板-机制审计报告 (${report.generated_at})`);
1447
- userInfo(` 模板文件: ${report.total_template_files}`);
1448
- userInfo(` 注册资产: ${report.total_registered_assets}`);
1449
- userInfo(` 机制总数: ${report.total_mechanisms}`);
1450
- userInfo("");
1451
- if (report.unmapped_template_assets.length > 0) {
1452
- userInfo(`⚠️ 未注册模板 (${report.unmapped_template_assets.length}):`);
1453
- for (const u of report.unmapped_template_assets) {
1454
- userInfo(` - ${u.path}`);
1455
- }
1456
- }
1457
- if (report.unconsumed_template_assets.length > 0) {
1458
- userInfo(`⚠️ 未消费资产 (${report.unconsumed_template_assets.length}):`);
1459
- for (const u of report.unconsumed_template_assets) {
1460
- userInfo(` - ${u.path} (mode=${u.consumption_mode})`);
1461
- }
1462
- }
1463
- if (report.code_only_mechanisms.length > 0) {
1464
- userInfo(`⚠️ 仅代码机制 (无模板层):`);
1465
- for (const m of report.code_only_mechanisms) {
1466
- userInfo(` - ${m.mechanism_id} (${m.priority}, ${m.status})`);
1467
- }
1468
- }
1469
- if (report.template_only_mechanisms.length > 0) {
1470
- userInfo(`⚠️ 仅模板机制 (无代码层):`);
1471
- for (const m of report.template_only_mechanisms) {
1472
- userInfo(` - ${m.mechanism_id} (${m.priority}, ${m.status})`);
1473
- }
1474
- }
1475
- if (report.required_assets_without_enforcer.length > 0) {
1476
- userInfo(`❌ Required 资产无 enforcer (${report.required_assets_without_enforcer.length}):`);
1477
- for (const r of report.required_assets_without_enforcer) {
1478
- userInfo(` - ${r.path} (mechanism=${r.owner_mechanism_id})`);
1479
- }
1480
- }
1481
- if (report.overpromised_adapter_rules.length > 0) {
1482
- userInfo(`❌ 适配器过度承诺 (${report.overpromised_adapter_rules.length}):`);
1483
- for (const o of report.overpromised_adapter_rules) {
1484
- userInfo(` - ${o.source_file}: ${o.promised_mechanism_id} (${o.promise_keywords.join(",")})`);
1485
- }
1486
- }
1487
- if (report.deprecated_assets_injected.length > 0) {
1488
- userInfo(`⚠️ Deprecated 资产仍被注入:`);
1489
- for (const d of report.deprecated_assets_injected) {
1490
- userInfo(` - ${d.path}`);
1491
- }
1492
- }
1493
- if (report.template_mechanism_drift.length > 0) {
1494
- const driftHard = report.template_mechanism_drift.filter((f) => f.severity === "hard_fail");
1495
- const driftAdvisory = report.template_mechanism_drift.filter((f) => f.severity === "advisory");
1496
- if (driftAdvisory.length > 0) {
1497
- userInfo(`⚠️ 漂移 advisory (${driftAdvisory.length}):`);
1498
- for (const f of driftAdvisory) {
1499
- userInfo(` - [${f.finding_type}] ${f.mechanism_id}: ${f.message}`);
1500
- }
1501
- }
1502
- if (driftHard.length > 0) {
1503
- userInfo(`❌ 漂移 hard_fail (${driftHard.length}):`);
1504
- for (const f of driftHard) {
1505
- userInfo(` - [${f.finding_type}] ${f.mechanism_id}: ${f.message}`);
1506
- }
1507
- }
1508
- }
1509
- userInfo("");
1510
- if (report.hard_fail_count > 0) {
1511
- userInfo(`❌ 审计失败: ${report.hard_fail_count} hard_fail, ${report.advisory_count} advisory`);
1512
- }
1513
- else {
1514
- userInfo(`✅ 审计通过: 0 hard_fail, ${report.advisory_count} advisory`);
1515
- }
1516
- // problem-57: 知识资产 schema 审计
1517
- try {
1518
- const { auditKnowledgeAssets, parseAssetFile } = await import("../engine/knowledge_asset_audit.js");
1519
- const knowledgeDirs = [
1520
- path.join(projectPath, "templates", "knowledge", "procedures"),
1521
- path.join(projectPath, "templates", "knowledge", "rules"),
1522
- path.join(projectPath, "templates", "knowledge", "checklists"),
1523
- path.join(projectPath, "templates", "knowledge", "acceptance_templates"),
1524
- path.join(projectPath, "templates", "knowledge", "review_rules"),
1525
- path.join(projectPath, "templates", "knowledge", "workflow_templates"),
1526
- ];
1527
- const assets = [];
1528
- for (const dir of knowledgeDirs) {
1529
- if (!fss.existsSync(dir))
1530
- continue;
1531
- for (const entry of fss.readdirSync(dir).filter((f) => f.endsWith(".md"))) {
1532
- const fp = path.join(dir, entry);
1533
- const content = fss.readFileSync(fp, "utf-8");
1534
- assets.push(parseAssetFile(fp, content));
1535
- }
1536
- }
1537
- if (assets.length > 0) {
1538
- const kaReport = auditKnowledgeAssets(assets);
1539
- userInfo("");
1540
- userInfo("知识资产审计:");
1541
- userInfo(` 资产数: ${kaReport.total_assets}`);
1542
- userInfo(` 通过: ${kaReport.passed ? "✓" : "✗"}`);
1543
- userInfo(` hard_fail: ${kaReport.hard_fail_count}, warning: ${kaReport.warning_count}`);
1544
- for (const f of kaReport.findings) {
1545
- const icon = f.severity === "hard_fail" ? "❌" : "⚠️";
1546
- userInfo(` ${icon} ${f.asset_id ?? f.file_path}: ${f.detail} (${f.kind})`);
1547
- }
1548
- if (kaReport.hard_fail_count > 0) {
1549
- userInfo(`❌ 知识资产审计有 ${kaReport.hard_fail_count} hard_fail`);
1550
- process.exit(1);
1551
- }
1552
- }
1553
- }
1554
- catch (e) {
1555
- userError(`❌ 知识资产审计异常: ${e.message}`);
1556
- process.exit(1);
1557
- }
1558
- if (report.hard_fail_count > 0) {
1559
- process.exit(1);
1560
- }
1561
- }
1562
- catch (e) {
1563
- userError(`❌ audit-template-mechanisms 失败: ${e.message}`);
1564
- process.exit(1);
1565
- }
1566
- }
1567
- async function cmdAuditDesignArtifacts() {
1568
- debug("CLI", "执行 cmdAuditDesignArtifacts");
1569
- const isJson = args.includes("--json");
1570
- const projectPath = resolveProjectPath();
1571
- const { createDesignArtifactPack, verifyDesignArtifactPack } = await import("../engine/design_artifact_pack.js");
1572
- const contract = createDesignArtifactPack("design-artifact-audit-cli");
1573
- const result = verifyDesignArtifactPack(projectPath, contract);
1574
- if (isJson) {
1575
- userInfo(JSON.stringify({ command: "audit-design-artifacts", project_path: projectPath, ...result }, null, 2));
1576
- }
1577
- else {
1578
- userInfo(`设计产物包审计: ${projectPath}`);
1579
- userInfo(` 状态: ${result.status}`);
1580
- userInfo(` 已检查文件: ${result.checked_files.length}`);
1581
- userInfo(` hard_fail: ${result.findings.filter((finding) => finding.severity === "hard_fail").length}`);
1582
- for (const finding of result.findings) {
1583
- userInfo(` ${finding.severity === "hard_fail" ? "❌" : "⚠️"} [${finding.code}] ${finding.message_zh}`);
1584
- if (finding.template_path)
1585
- userInfo(` 模板: ${finding.template_path}`);
1586
- if (finding.recovery_command)
1587
- userInfo(` 命令: ${finding.recovery_command}`);
1588
- if (finding.recovery_zh)
1589
- userInfo(` 恢复: ${finding.recovery_zh}`);
1590
- }
1591
- if (result.passed)
1592
- userInfo("✅ 设计产物包复验通过,可作为后续实现输入");
1593
- }
1594
- if (!result.passed)
1595
- process.exit(1);
1596
- }
1597
- /**
1598
- * 存量设计资产升级只负责安全建立复验基线与归档原文。
1599
- * 修正文档内容仍须经 AI 草案和用户确认后写入,再由 audit 命令真实复验。
1600
- */
1601
- async function cmdUpgradeDesignArtifacts() {
1602
- debug("CLI", "执行 cmdUpgradeDesignArtifacts");
1603
- const apply = args.includes("--apply");
1604
- const confirm = args.includes("--confirm");
1605
- const isJson = args.includes("--json");
1606
- const projectPath = resolveProjectPath();
1607
- const { createDesignArtifactPack, verifyDesignArtifactPack } = await import("../engine/design_artifact_pack.js");
1608
- const contract = createDesignArtifactPack("design-artifact-upgrade-cli");
1609
- const audit = verifyDesignArtifactPack(projectPath, contract);
1610
- const presentFiles = audit.checked_files.filter((relativePath) => fss.existsSync(path.join(projectPath, relativePath)));
1611
- const output = {
1612
- command: "upgrade-design-artifacts",
1613
- mode: apply ? "apply" : "dry_run",
1614
- status: audit.passed ? "implementation_ready" : "needs_revalidation",
1615
- present_files: presentFiles,
1616
- findings: audit.findings,
1617
- next_steps: audit.passed
1618
- ? ["设计产物已符合当前标准,无需覆盖现有文件"]
1619
- : ["保留原文归档", "基于 findings 生成修订草案", "用户确认后写入修订文档/OpenAPI/SQL", "重新执行 audit-design-artifacts"],
1620
- };
1621
- if (!apply) {
1622
- if (isJson)
1623
- userInfo(JSON.stringify(output, null, 2));
1624
- else {
1625
- userInfo("设计产物升级计划: dry-run(不会修改现有文档)");
1626
- userInfo(` 当前状态: ${output.status}`);
1627
- userInfo(` 已发现现有资产: ${presentFiles.length}`);
1628
- userInfo(` 待修复项: ${audit.findings.length}`);
1629
- userInfo(" 使用 --apply --confirm 仅归档现有基线并登记 needs_revalidation;修订内容仍须用户确认。");
1630
- }
1631
- return;
1632
- }
1633
- if (!confirm) {
1634
- userError("❌ upgrade-design-artifacts --apply 必须同时提供 --confirm,禁止静默改写或归档现有设计文档");
1635
- process.exit(1);
1636
- }
1637
- const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
1638
- const archiveDir = path.join(projectPath, ".soloforge", "design-artifacts", "archive", timestamp);
1639
- fss.mkdirSync(archiveDir, { recursive: true });
1640
- for (const relativePath of presentFiles) {
1641
- const target = path.join(archiveDir, relativePath);
1642
- fss.mkdirSync(path.dirname(target), { recursive: true });
1643
- fss.copyFileSync(path.join(projectPath, relativePath), target);
1644
- }
1645
- const contractDir = path.join(projectPath, ".soloforge", "design-artifacts");
1646
- fss.mkdirSync(contractDir, { recursive: true });
1647
- fss.writeFileSync(path.join(contractDir, "upgrade-contract.json"), JSON.stringify({
1648
- ...contract,
1649
- status: audit.passed ? "implementation_ready" : "needs_revalidation",
1650
- baseline_hashes: audit.hashes,
1651
- findings: audit.findings,
1652
- verified_at: new Date().toISOString(),
1653
- archive_dir: path.relative(projectPath, archiveDir),
1654
- write_policy: "原文仅归档;修订文档须由用户确认后另行写入并重新复验",
1655
- }, null, 2), "utf-8");
1656
- const appliedOutput = { ...output, archive_dir: path.relative(projectPath, archiveDir), original_documents_overwritten: false };
1657
- if (isJson)
1658
- userInfo(JSON.stringify(appliedOutput, null, 2));
1659
- else {
1660
- userInfo(`✅ 已归档现有设计基线: ${appliedOutput.archive_dir}`);
1661
- userInfo(" 未覆盖现有设计文档;请确认修订草案后重新执行复验。");
1662
- }
1663
- }
1664
- async function cmdValidateKnowledge() {
1665
- debug("CLI", "执行 cmdValidateKnowledge");
1666
- const { validateContractRegistry } = await import("../engine/contract_registry.js");
1667
- const { listProblemsByBatch } = await import("../engine/implementation_roadmap_registry.js");
1668
- const { runAllKnowledgeScenarios, extractReadmeCommands } = await import("../engine/knowledge_scenario_registry.js");
1669
- const { listKnowledgeIssueDetailAcceptances, validateKnowledgeIssueDetailAcceptance, } = await import("../engine/knowledge_acceptance_registry.js");
1670
- const isJson = args.includes("--json");
1671
- const cwd = process.cwd();
1672
- const fs = await import("node:fs");
1673
- const pathModule = await import("node:path");
1674
- // 收集项目文件集合
1675
- const existingFiles = new Set();
1676
- function walkDir(dir, prefix) {
1677
- try {
1678
- for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
1679
- const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
1680
- if (entry.isDirectory()) {
1681
- walkDir(pathModule.join(dir, entry.name), rel);
1682
- }
1683
- else {
1684
- existingFiles.add(rel);
1685
- }
1686
- }
1687
- }
1688
- catch { /* 忽略不存在目录 */ }
1689
- }
1690
- walkDir(pathModule.join(cwd, "src"), "src");
1691
- walkDir(pathModule.join(cwd, "tests"), "tests");
1692
- // 验证契约注册表
1693
- const contractFindings = validateContractRegistry(existingFiles);
1694
- const hardFails = contractFindings.filter((f) => f.severity === "hard_fail");
1695
- // 验证 知识模板问题状态
1696
- const knowledgeProblems = listProblemsByBatch("batch-3");
1697
- const allImplemented = knowledgeProblems.every((p) => p.status === "implemented_verified");
1698
- // 读取真实 README 并提取命令
1699
- let readmeCommands;
1700
- try {
1701
- const readmeContent = fs.readFileSync(pathModule.join(cwd, "README.md"), "utf-8");
1702
- readmeCommands = extractReadmeCommands(readmeContent);
1703
- }
1704
- catch { /* README 不存在时跳过 */ }
1705
- // 运行真实场景矩阵
1706
- const scenarioResults = runAllKnowledgeScenarios(readmeCommands);
1707
- const scenariosPass = scenarioResults.every((s) => s.status === "PASS");
1708
- // 验证 IssueDetailAcceptance 注册表
1709
- const acceptances = listKnowledgeIssueDetailAcceptances();
1710
- const acceptanceFindings = acceptances.flatMap((a) => validateKnowledgeIssueDetailAcceptance(a));
1711
- const acceptanceHardFails = acceptanceFindings.filter((f) => f.severity === "hard_fail");
1712
- const result = {
1713
- knowledge_problems: knowledgeProblems.length,
1714
- all_implemented_verified: allImplemented,
1715
- contract_hard_fails: hardFails.length,
1716
- issue_acceptances: acceptances.length,
1717
- acceptance_hard_fails: acceptanceHardFails.length,
1718
- scenarios_pass: scenariosPass,
1719
- scenario_results: scenarioResults.map((s) => ({
1720
- scenario_id: s.scenario_id,
1721
- scenario_name: s.scenario_name,
1722
- status: s.status,
1723
- evidence: s.evidence,
1724
- failures: s.failures.length,
1725
- })),
1726
- };
1727
- if (isJson) {
1728
- userInfo(JSON.stringify(result, null, 2));
1729
- }
1730
- else {
1731
- userInfo("═══ Batch 3 验证 ═══");
1732
- userInfo(` 问题数: ${knowledgeProblems.length}`);
1733
- userInfo(` 全部 implemented_verified: ${allImplemented ? "✓" : "✗"}`);
1734
- userInfo(` 契约 hard_fail: ${hardFails.length}`);
1735
- for (const f of hardFails) {
1736
- userInfo(` ✗ ${f.contract_id}: ${f.message_zh}`);
1737
- }
1738
- userInfo(` IssueDetailAcceptance: ${acceptances.length} 条, hard_fail: ${acceptanceHardFails.length}`);
1739
- for (const f of acceptanceHardFails) {
1740
- userInfo(` ✗ ${f.issue_id}: ${f.message_zh}`);
1741
- }
1742
- userInfo(` 场景矩阵:`);
1743
- for (const s of scenarioResults) {
1744
- const icon = s.status === "PASS" ? "✓" : "✗";
1745
- userInfo(` ${icon} ${s.scenario_id}: ${s.scenario_name} — ${s.status}`);
1746
- for (const ev of s.evidence) {
1747
- userInfo(` ✓ ${ev}`);
1748
- }
1749
- for (const fl of s.failures) {
1750
- userInfo(` ✗ ${fl}`);
1751
- }
1752
- }
1753
- const overallPass = allImplemented && hardFails.length === 0 && scenariosPass && acceptanceHardFails.length === 0;
1754
- userInfo(overallPass ? "\n✅ Batch 3 验证通过" : "\n❌ Batch 3 验证失败");
1755
- }
1756
- const overallPass = allImplemented && hardFails.length === 0 && scenariosPass && acceptanceHardFails.length === 0;
1757
- process.exit(overallPass ? 0 : 1);
1758
- }
1759
- async function cmdSyncTemplates() {
1760
- debug("CLI", "执行 cmdSyncTemplates");
1761
- const apply = args.includes("--apply");
1762
- const confirm = args.includes("--confirm");
1763
- const isJson = args.includes("--json");
1764
- const { executeSync, validateSyncSafety, computeTemplateAssetVersions } = await import("../engine/template_sync.js");
1765
- const { validateWorkflowTemplatePack, createWorkflowTemplatePackContract, createWorkflowTemplateEntry, createTemplateConsumptionEvidence, } = await import("../engine/workflow_template_pack.js");
1766
- const { buildTemplateManifestFromSource, computeFileHashes, loadProjectManifest, saveProjectManifest, writeFileSyncRecursive, sha256Hex, hashFile, } = await import("../engine/template_manifest_io.js");
1767
- const projectPath = process.cwd();
1768
- const packageRoot = path.resolve(import.meta.dirname, "..", "..");
1769
- const sourceDir = args.find((a) => a.startsWith("--source="))?.slice("--source=".length) ?? path.join(packageRoot, "templates");
1770
- if (apply) {
1771
- const { classifyConfigContext, validateWriteBoundary } = await import("../engine/config_write_boundary.js");
1772
- const writeContext = classifyConfigContext(projectPath, { confirmed: confirm });
1773
- const violations = validateWriteBoundary(writeContext, [
1774
- path.join(projectPath, ".soloforge", "template-manifest.json"),
1775
- path.join(projectPath, ".soloforge", "knowledge"),
1776
- ]);
1777
- if (violations.length > 0) {
1778
- for (const v of violations)
1779
- userError(`❌ 模板同步写入边界阻断: ${v.target_path} — ${v.reason_zh}`);
1780
- process.exit(1);
1781
- }
1782
- }
1783
- // 读取当前包版本
1784
- let packageVersion = "0.0.0";
1785
- try {
1786
- const pkgJson = JSON.parse(fss.readFileSync(path.join(packageRoot, "package.json"), "utf-8"));
1787
- packageVersion = pkgJson.version;
1788
- }
1789
- catch { /* 回退 */ }
1790
- // 构建源清单(真实模板文件)
1791
- const sourceManifest = buildTemplateManifestFromSource(sourceDir, packageVersion);
1792
- // 加载已安装清单
1793
- const installedManifest = loadProjectManifest(projectPath) ?? [];
1794
- // 计算哈希(Map key 用相对路径,与 computeTemplateAssetVersions 查找键一致)
1795
- const sourceHashes = new Map();
1796
- for (const e of sourceManifest) {
1797
- const h = hashFile(path.join(packageRoot, e.source_path));
1798
- if (h !== null)
1799
- sourceHashes.set(e.source_path, h);
1800
- }
1801
- const baseManifest = installedManifest.length > 0 ? installedManifest : sourceManifest;
1802
- const currentHashes = new Map();
1803
- for (const e of baseManifest) {
1804
- const h = hashFile(path.join(projectPath, e.target_path));
1805
- if (h !== null)
1806
- currentHashes.set(e.target_path, h);
1807
- }
1808
- // 计算差异(首次安装用 sourceManifest 作为基准,全部为 missing)
1809
- const assets = computeTemplateAssetVersions(baseManifest, currentHashes, sourceHashes);
1810
- // problem-53: 工作流模板包完整性校验 — 用真实 manifest 数据构建 pack
1811
- const wfPackEntries = sourceManifest
1812
- .filter(e => e.asset_kind === "workflow_template")
1813
- .map(e => createWorkflowTemplateEntry("architecture_design", e.target_path));
1814
- const wfConsumptionEvidences = assets
1815
- .filter(a => wfPackEntries.some(w => w.template_path === a.target_path))
1816
- .map(a => createTemplateConsumptionEvidence(a.target_path));
1817
- if (wfPackEntries.length > 0) {
1818
- const wfPack = createWorkflowTemplatePackContract({
1819
- workflows: wfPackEntries,
1820
- mechanism_consumption_map: sourceManifest
1821
- .filter(e => e.asset_kind === "workflow_template")
1822
- .map(e => ({ template_path: e.target_path, consumed_mechanism_id: `mc-${e.asset_id}`, consumption_type: "route_trigger", evidence_required: true })),
1823
- });
1824
- const wfResult = validateWorkflowTemplatePack(wfPack, wfConsumptionEvidences);
1825
- if (!wfResult.valid && !isJson) {
1826
- userInfo(` ⚠ 工作流模板包校验: ${wfResult.violations.length} 个违规`);
1827
- for (const v of wfResult.violations)
1828
- userInfo(` - ${v}`);
1829
- }
1830
- if (!wfResult.valid && apply) {
1831
- // 校验失败阻断 apply
1832
- internalWarn("CLI", `工作流模板包校验失败,apply 已阻断。违规: ${wfResult.violations.join("; ")}`);
1833
- process.exit(1);
1834
- }
1835
- }
1836
- const safeCheck = validateSyncSafety(assets);
1837
- try {
1838
- const { runKnowledgeGovernanceCheck } = await import("../engine/knowledge_governance_gate.js");
1839
- const kgReport = runKnowledgeGovernanceCheck({
1840
- project_language: "zh",
1841
- contents: sourceManifest.slice(0, 12).map((e) => ({ id: e.asset_id, domain: "governance_contracts", content: e.target_path })),
1842
- });
1843
- if (kgReport.hard_fail_count > 0 && apply) {
1844
- userError(`❌ 知识治理阻断模板同步: ${kgReport.hard_fail_count} hard_fail`);
1845
- process.exit(1);
1846
- }
1847
- }
1848
- catch (e) {
1849
- if (!isJson)
1850
- userInfo(` ⚠ 知识治理同步检查异常: ${e instanceof Error ? e.message : String(e)}`);
1851
- }
1852
- const syncResult = executeSync({ dry_run: !apply, apply, confirm, project_path: projectPath, source_path: sourceDir }, assets, sourceManifest);
1853
- // apply 模式:真实文件复制
1854
- if (apply && confirm && syncResult.success && syncResult.backup_path) {
1855
- const backupDir = syncResult.backup_path;
1856
- fss.mkdirSync(backupDir, { recursive: true });
1857
- const assetMap = new Map(assets.map((a) => [a.asset_id, a]));
1858
- const updatedManifest = [...sourceManifest];
1859
- for (const assetId of [...syncResult.report.added, ...syncResult.report.updated]) {
1860
- const asset = assetMap.get(assetId);
1861
- if (!asset)
1862
- continue;
1863
- const srcAbs = path.join(packageRoot, asset.source_path);
1864
- const tgtAbs = path.join(projectPath, asset.target_path);
1865
- // 备份已有文件
1866
- if (fss.existsSync(tgtAbs)) {
1867
- const backupFile = path.join(backupDir, path.basename(tgtAbs));
1868
- fss.copyFileSync(tgtAbs, backupFile);
1869
- }
1870
- // 复制源文件到目标
1871
- writeFileSyncRecursive(tgtAbs, fss.readFileSync(srcAbs));
1872
- // 更新清单中的 installed_hash
1873
- const idx = updatedManifest.findIndex((e) => e.asset_id === assetId);
1874
- if (idx >= 0) {
1875
- updatedManifest[idx] = {
1876
- ...updatedManifest[idx],
1877
- installed_hash: asset.source_hash,
1878
- installed_at: new Date().toISOString(),
1879
- };
1880
- }
1881
- }
1882
- // 持久化清单
1883
- saveProjectManifest(projectPath, updatedManifest);
1884
- }
1885
- if (isJson) {
1886
- userInfo(JSON.stringify({
1887
- command: "sync-templates",
1888
- mode: apply ? "apply" : "dry_run",
1889
- total_assets: assets.length,
1890
- safe: safeCheck.safe,
1891
- result: syncResult.success,
1892
- dry_run: syncResult.dry_run,
1893
- report: syncResult.report,
1894
- }, null, 2));
1895
- }
1896
- else {
1897
- userInfo(apply ? "模板同步: apply 模式" : "模板同步: dry-run 模式(不写入文件)");
1898
- userInfo(` 资产总数: ${assets.length}`);
1899
- userInfo(` 应用安全: ${safeCheck.safe ? "安全" : "需确认"}`);
1900
- userInfo(` 结果: ${syncResult.success ? "成功" : "失败"}`);
1901
- userInfo(` 新增: ${syncResult.report.added.length}`);
1902
- userInfo(` 更新: ${syncResult.report.updated.length}`);
1903
- userInfo(` 跳过(用户修改): ${syncResult.report.skipped_user_modified.length}`);
1904
- userInfo(` 废弃: ${syncResult.report.deprecated.length}`);
1905
- if (!apply)
1906
- userInfo(" 使用 --apply --confirm 应用同步;需确认表示 dry-run 发现现有用户资产,不会自动覆盖");
1907
- }
1908
- if (!syncResult.success)
1909
- process.exit(1);
1910
- }
1911
- async function cmdSyncAdapters() {
1912
- debug("CLI", "执行 cmdSyncAdapters");
1913
- const apply = args.includes("--apply");
1914
- const confirm = args.includes("--confirm");
1915
- const isJson = args.includes("--json");
1916
- const { syncAdapterPrompts, validateAdapterPrompt, REQUIRED_ADAPTER_SECTIONS, } = await import("../engine/adapter_prompt_contract.js");
1917
- const { writeFileSyncRecursive, sha256Hex, hashFile, } = await import("../engine/template_manifest_io.js");
1918
- const projectPath = process.cwd();
1919
- // 加载项目配置(回退到默认)
1920
- let config;
1921
- try {
1922
- const resolved = await resolveProjectConfig(projectPath);
1923
- config = resolved.config;
1924
- }
1925
- catch {
1926
- config = {
1927
- name: "default", tech_stack: { backend: { lang: "", framework: "", version: "" }, frontend: { lang: "", framework: "", version: "" } },
1928
- product_profile: "general", repos: [], build_commands: { backend: {}, frontend: {} }, scope: { backend: [], frontend: [] },
1929
- };
1930
- }
1931
- // 适配器生成器
1932
- const { generateClaudeMd } = await import("../adapters/claude_code/claude_md.js");
1933
- const { generateCodexAgentsMd } = await import("../adapters/codex/codex_rules.js");
1934
- const { generateTraeRules } = await import("../adapters/trae/trae_rules.js");
1935
- const sections = [...REQUIRED_ADAPTER_SECTIONS];
1936
- // 适配器 installed hash 记录文件
1937
- const ADAPTER_HASH_FILE = ".soloforge/adapter_hashes.json";
1938
- // 加载已安装的适配器 hash 记录
1939
- let installedAdapterHashes = {};
1940
- try {
1941
- const hashContent = fss.readFileSync(path.join(projectPath, ADAPTER_HASH_FILE), "utf-8");
1942
- installedAdapterHashes = JSON.parse(hashContent);
1943
- }
1944
- catch { /* 首次无记录 */ }
1945
- const adapterContracts = [
1946
- {
1947
- adapter_id: "claude-code", host_type: "claude_code",
1948
- prompt_path: "CLAUDE.md",
1949
- generated_from_contract_version: "1",
1950
- required_sections: sections,
1951
- forbidden_claims: [],
1952
- sync_required: true,
1953
- next_allowed_tools: ["sf_classify", "sf_expand", "sf_verify", "sf_learn", "sf_deliver", "sf_review"],
1954
- },
1955
- {
1956
- adapter_id: "codex", host_type: "codex",
1957
- prompt_path: "AGENTS.md",
1958
- generated_from_contract_version: "1",
1959
- required_sections: sections,
1960
- forbidden_claims: [],
1961
- sync_required: true,
1962
- next_allowed_tools: ["sf_classify", "sf_expand", "sf_verify", "sf_learn"],
1963
- },
1964
- {
1965
- adapter_id: "trae", host_type: "cursor",
1966
- prompt_path: ".trae/rules/project_rules.md",
1967
- generated_from_contract_version: "1",
1968
- required_sections: sections,
1969
- forbidden_claims: [],
1970
- sync_required: true,
1971
- next_allowed_tools: ["sf_classify", "sf_expand", "sf_verify", "sf_learn"],
1972
- },
1973
- ];
1974
- // 验证所有适配器
1975
- const validations = syncAdapterPrompts(adapterContracts, { dry_run: !apply, apply, confirm });
1976
- // 适配器内容生成
1977
- const generators = {
1978
- "claude-code": () => generateClaudeMd(config),
1979
- "codex": () => generateCodexAgentsMd(config),
1980
- "trae": () => generateTraeRules(config),
1981
- };
1982
- // apply 模式:写入合规的适配器文件
1983
- const writtenFiles = [];
1984
- const skippedFiles = [];
1985
- if (apply && confirm) {
1986
- const updatedHashes = { ...installedAdapterHashes };
1987
- for (const contract of adapterContracts) {
1988
- const validation = validations.find((v) => v.adapter_id === contract.adapter_id);
1989
- if (!validation?.compliant) {
1990
- skippedFiles.push(`${contract.adapter_id}: 不合规,跳过`);
1991
- continue;
1992
- }
1993
- const targetPath = path.join(projectPath, contract.prompt_path);
1994
- const generator = generators[contract.adapter_id];
1995
- if (!generator)
1996
- continue;
1997
- const content = generator();
1998
- const generatedHash = sha256Hex(content);
1999
- // 用户修改检测:文件存在且 hash 与已安装 hash 不一致
2000
- if (fss.existsSync(targetPath)) {
2001
- const diskHash = hashFile(targetPath);
2002
- const installedHash = installedAdapterHashes[contract.adapter_id];
2003
- if (diskHash && installedHash && diskHash !== installedHash) {
2004
- // 文件被用户修改,不得覆盖
2005
- skippedFiles.push(`${contract.adapter_id}: 用户已修改,跳过`);
2006
- continue;
2007
- }
2008
- }
2009
- // 首次安装或内容有变化:写入
2010
- writeFileSyncRecursive(targetPath, content);
2011
- writtenFiles.push(contract.prompt_path);
2012
- updatedHashes[contract.adapter_id] = generatedHash;
2013
- }
2014
- // 持久化 hash 记录
2015
- writeFileSyncRecursive(path.join(projectPath, ADAPTER_HASH_FILE), JSON.stringify(updatedHashes, null, 2));
2016
- }
2017
- if (isJson) {
2018
- userInfo(JSON.stringify({
2019
- command: "sync-adapters",
2020
- mode: apply ? "apply" : "dry_run",
2021
- adapter_count: adapterContracts.length,
2022
- validations,
2023
- written: writtenFiles,
2024
- skipped: skippedFiles,
2025
- }, null, 2));
2026
- }
2027
- else {
2028
- userInfo(apply ? "适配器同步: apply 模式" : "适配器同步: dry-run 模式(不写入文件)");
2029
- userInfo(` 适配器数量: ${adapterContracts.length}`);
2030
- for (const v of validations) {
2031
- const icon = v.compliant ? "✓" : "✗";
2032
- userInfo(` ${icon} ${v.adapter_id}: ${v.compliant ? "合规" : "不合规"}`);
2033
- for (const f of v.findings) {
2034
- if (f.severity !== "info")
2035
- userInfo(` ${f.severity === "critical" ? "✗" : "⚠"} ${f.message_zh}`);
2036
- }
2037
- }
2038
- if (writtenFiles.length > 0) {
2039
- userInfo(` 已写入: ${writtenFiles.join(", ")}`);
2040
- }
2041
- if (skippedFiles.length > 0) {
2042
- userInfo(` 已跳过: ${skippedFiles.join("; ")}`);
2043
- }
2044
- if (!apply)
2045
- userInfo(" 使用 --apply --confirm 应用同步");
2046
- }
2047
- }
2048
- async function cmdMigrate() {
2049
- debug("CLI", "执行 cmdMigrate");
2050
- const apply = args.includes("--apply");
2051
- const confirm = args.includes("--confirm");
2052
- const isJson = args.includes("--json");
2053
- const { createMigrationPlan, getCurrentCompatibility, validateMigrationSafety, generateVersionFile } = await import("../engine/release_compatibility.js");
2054
- const { loadProjectVersion, saveProjectVersion, writeFileSyncRecursive } = await import("../engine/template_manifest_io.js");
2055
- const projectPath = process.cwd();
2056
- const compat = getCurrentCompatibility();
2057
- const toVersion = compat.package_version;
2058
- // 读取项目已安装版本,不存在视为首次
2059
- const installed = loadProjectVersion(projectPath);
2060
- const fromVersion = installed?.soloforge_package_version ?? "0.0.0";
2061
- // 版本相同,无需迁移
2062
- if (fromVersion === toVersion) {
2063
- if (isJson) {
2064
- userInfo(JSON.stringify({
2065
- command: "migrate",
2066
- mode: "noop",
2067
- success: true,
2068
- dry_run: !apply,
2069
- safe: true,
2070
- message: `已是最新版本 ${toVersion}`,
2071
- from_version: fromVersion,
2072
- to_version: toVersion,
2073
- }, null, 2));
2074
- }
2075
- else {
2076
- userInfo(`项目迁移: 已是最新版本 ${toVersion}`);
2077
- userInfo(` 当前版本: ${fromVersion}`);
2078
- }
2079
- return;
2080
- }
2081
- // 先生成真实迁移计划
2082
- const plan = createMigrationPlan({ dry_run: !apply, apply, confirm, project_path: projectPath, from_version: fromVersion, to_version: toVersion }, compat);
2083
- // 基于真实 plan 做安全检查
2084
- const safetyCheck = validateMigrationSafety(plan.plan, apply, !!confirm);
2085
- // apply --confirm 模式且安全通过时:创建备份 + 写入 version.json
2086
- if (apply && confirm && plan.success && safetyCheck.safe && plan.backup_path) {
2087
- const backupDir = path.join(projectPath, plan.backup_path);
2088
- fss.mkdirSync(backupDir, { recursive: true });
2089
- // 备份已有 version.json
2090
- const versionPath = path.join(projectPath, ".soloforge/version.json");
2091
- if (fss.existsSync(versionPath)) {
2092
- fss.copyFileSync(versionPath, path.join(backupDir, "version.json"));
2093
- }
2094
- // 写入新版本文件
2095
- const versionContent = generateVersionFile(toVersion, compat.contract_registry_version);
2096
- // 合并 created_at(首次用新时间,升级保留原时间)
2097
- if (installed?.created_at) {
2098
- versionContent.created_at = installed.created_at;
2099
- }
2100
- saveProjectVersion(projectPath, versionContent);
2101
- }
2102
- const success = plan.success && safetyCheck.safe;
2103
- if (isJson) {
2104
- userInfo(JSON.stringify({
2105
- command: "migrate",
2106
- mode: apply ? "apply" : "dry_run",
2107
- success,
2108
- dry_run: plan.dry_run,
2109
- safe: safetyCheck.safe,
2110
- from_version: fromVersion,
2111
- to_version: toVersion,
2112
- plan: plan.plan,
2113
- backup_path: plan.backup_path,
2114
- }, null, 2));
2115
- }
2116
- else {
2117
- userInfo(apply ? "项目迁移: apply 模式" : "项目迁移: dry-run 模式(不写入文件)");
2118
- userInfo(` 结果: ${success ? "成功" : "失败"}`);
2119
- userInfo(` 从版本: ${fromVersion}`);
2120
- userInfo(` 到版本: ${toVersion}`);
2121
- userInfo(` 安全检查: ${safetyCheck.safe ? "✓" : "✗"}`);
2122
- userInfo(` 需迁移: ${plan.plan.required_migrations.length}`);
2123
- userInfo(` 自动应用: ${plan.plan.auto_applicable.length}`);
2124
- userInfo(` 需人工: ${plan.plan.requires_human.length}`);
2125
- if (!apply)
2126
- userInfo(" 使用 --apply --confirm 执行迁移");
2127
- }
2128
- if (!success)
2129
- process.exit(1);
2130
- }
2131
- async function cmdValidateReleaseGate() {
2132
- const isJson = args.includes("--json");
2133
- debug("CLI", "执行 cmdValidateReleaseGate");
2134
- const { runReleaseReadinessGate } = await import("../engine/release_readiness_gate.js");
2135
- const result = await runReleaseReadinessGate(process.cwd());
2136
- if (isJson) {
2137
- userInfo(JSON.stringify({
2138
- passed: result.passed,
2139
- hard_fail_count: result.hard_fail_count,
2140
- hard_fails: result.hard_fails,
2141
- phases: result.phases,
2142
- }, null, 2));
2143
- }
2144
- else {
2145
- userInfo("══════════════════════════════════════════════════════════════");
2146
- userInfo(`发布结论: ${result.passed ? "PASS" : "FAIL"}`);
2147
- userInfo(`hard_fail 数量: ${result.hard_fail_count}`);
2148
- userInfo("══════════════════════════════════════════════════════════════");
2149
- userInfo();
2150
- for (const p of result.phases) {
2151
- userInfo(` ${p.hard_fail_count === 0 ? "[PASS]" : "[FAIL]"} ${p.name} — ${p.hard_fail_count} hard_fail`);
2152
- }
2153
- if (result.hard_fails.length > 0) {
2154
- userInfo();
2155
- userInfo("━━━ hard_fail 明细 ━━━");
2156
- for (let i = 0; i < result.hard_fails.length; i++) {
2157
- const hf = result.hard_fails[i];
2158
- userInfo(`[${i + 1}] ${hf.code}: ${hf.message}`);
2159
- userInfo(` 涉及: ${hf.files.join(", ")}`);
2160
- userInfo(` 下一步: ${hf.nextStep}`);
2161
- }
2162
- }
2163
- }
2164
- if (!result.passed)
2165
- process.exit(1);
2166
- }
2167
- async function cmdValidateFoundation() {
2168
- debug("CLI", "执行 cmdValidateFoundation");
2169
- const { validateMechanismLayerMaps, listMechanismLayerMaps } = await import("../engine/dual_layer_mechanism_registry.js");
2170
- const { auditTemplateMechanisms } = await import("../engine/template_mechanism_auditor.js");
2171
- const { validateFoundationScenarios, validateFoundationProblemMatrix } = await import("../engine/foundation_scenario_registry.js");
2172
- const cwd = process.cwd();
2173
- const maps = listMechanismLayerMaps();
2174
- const mechFindings = validateMechanismLayerMaps(maps, cwd);
2175
- const mechanismsPass = mechFindings.filter((f) => f.severity === "hard_fail").length === 0;
2176
- const auditReport = auditTemplateMechanisms(cwd);
2177
- const auditPass = auditReport.hard_fail_count === 0;
2178
- const scenarioResults = await validateFoundationScenarios(mechanismsPass, auditPass, true);
2179
- const allPass = scenarioResults.every((s) => s.status === "PASS");
2180
- const isJson = process.argv.includes("--json");
2181
- if (isJson) {
2182
- const problemMatrix = validateFoundationProblemMatrix(cwd);
2183
- const problemAllPass = problemMatrix.every((p) => Object.values(p.dimensions).every((d) => d.status === "PASS"));
2184
- userInfo(JSON.stringify({
2185
- mechanisms_pass: mechanismsPass,
2186
- audit_pass: auditPass,
2187
- all_pass: allPass && problemAllPass,
2188
- problem_matrix_count: problemMatrix.length,
2189
- problem_matrix: problemMatrix,
2190
- scenarios: scenarioResults,
2191
- }, null, 2));
2192
- }
2193
- else {
2194
- for (const s of scenarioResults) {
2195
- const icon = s.status === "PASS" ? "✓" : "✗";
2196
- userInfo(`${icon} ${s.scenario_id}: ${s.scenario_name} — ${s.status}`);
2197
- for (const r of s.rules) {
2198
- const ri = r.status === "PASS" ? " ✓" : " ✗";
2199
- userInfo(`${ri} ${r.rule}: ${r.evidence}`);
2200
- }
2201
- }
2202
- userInfo(allPass ? "\n所有场景通过" : "\n部分场景失败");
2203
- }
2204
- process.exit(allPass ? 0 : 1);
2205
- }
2206
- /**
2207
- * 新增问题/issue 演进门控 — problem-54 真实消费入口。
2208
- * 用法: soloforge validate-new-issue --title="问题标题" --batch=2 [--json]
2209
- */
2210
- async function cmdValidateNewIssue() {
2211
- debug("CLI", "执行 cmdValidateNewIssue");
2212
- const title = getArgValue("--title") ?? "";
2213
- const batchStr = getArgValue("--batch");
2214
- const batch = batchStr ? parseInt(batchStr, 10) : 0;
2215
- const isJson = args.includes("--json");
2216
- if (!title) {
2217
- userError("❌ 错误: --title 必须提供");
2218
- process.exit(1);
2219
- }
2220
- const { performEvolutionGate, checkDuplicateIssue, createNewIssueRegressionGate, } = await import("../engine/evolution_regression_gate.js");
2221
- // 从 implementation_roadmap_registry 加载真实已有问题
2222
- const { listAllProblems } = await import("../engine/implementation_roadmap_registry.js");
2223
- const allProblems = listAllProblems();
2224
- // 精确重复检测: label 精确匹配(不子串),title 语义包含,id 精确匹配
2225
- const lower = title.toLowerCase();
2226
- const matchedProblemMap = new Map();
2227
- for (const p of allProblems) {
2228
- let matched = false;
2229
- // id 精确匹配
2230
- if (p.id.toLowerCase() === lower)
2231
- matched = true;
2232
- // label 精确匹配
2233
- if (p.label.toLowerCase() === lower)
2234
- matched = true;
2235
- // label 前缀匹配: "问题四十二" 匹配 "问题四十二" 等
2236
- if (p.label.toLowerCase().startsWith(lower + "("))
2237
- matched = true;
2238
- // 完整 title 的包含匹配(title 是长描述,子串匹配合理)
2239
- if (lower.length >= 2 && p.title.toLowerCase().includes(lower))
2240
- matched = true;
2241
- // 输入包含完整 title(输入更长时)
2242
- if (lower.length >= 4 && p.title.length >= 4 && lower.includes(p.title.toLowerCase()))
2243
- matched = true;
2244
- if (matched) {
2245
- matchedProblemMap.set(p.id, { id: p.id, label: p.label, title: p.title });
2246
- }
2247
- }
2248
- const deduplicatedIds = [...matchedProblemMap.keys()];
2249
- const matchedDetails = [...matchedProblemMap.values()];
2250
- // 稳定 slug: 基于标题哈希而非 Date.now
2251
- const titleSlug = title
2252
- .toLowerCase()
2253
- .replace(/[^a-z0-9一-鿿]+/g, "-")
2254
- .replace(/^-|-$/g, "")
2255
- .slice(0, 40);
2256
- const hashSuffix = crypto.createHash("sha256").update(title).digest("hex").slice(0, 8);
2257
- const candidateId = `problem-new-${titleSlug}-${hashSuffix}`;
2258
- const gate = createNewIssueRegressionGate({
2259
- issue_candidate_id: candidateId,
2260
- candidate_title: title,
2261
- });
2262
- // 重复检测 — 写入去重后的 ID 列表
2263
- gate.duplicate_check.possible_duplicates = deduplicatedIds;
2264
- // 演进门控
2265
- const result = performEvolutionGate(gate);
2266
- const output = {
2267
- title,
2268
- batch,
2269
- candidate_id: candidateId,
2270
- existing_issues_checked: allProblems.length,
2271
- duplicate_detected: gate.duplicate_check.possible_duplicates.length > 0,
2272
- duplicates: [...new Set(gate.duplicate_check.possible_duplicates)],
2273
- matched_duplicate_details: matchedDetails,
2274
- gate_status: result.gate_status,
2275
- can_proceed: result.allowed,
2276
- reasons: result.reasons,
2277
- };
2278
- if (isJson) {
2279
- userInfo(JSON.stringify(output, null, 2));
2280
- }
2281
- else {
2282
- userInfo(`需求演进检查: ${output.gate_status}`);
2283
- userInfo(` 已检查 ${allProblems.length} 个已有功能记录`);
2284
- if (output.duplicate_detected) {
2285
- userInfo(` ⚠ 重复检测: 发现 ${output.duplicates.join(", ")}`);
2286
- for (const d of matchedDetails) {
2287
- userInfo(` - ${d.id}: ${d.label} — ${d.title}`);
2288
- }
2289
- }
2290
- if (result.reasons.length > 0) {
2291
- userInfo(` 原因:`);
2292
- for (const r of result.reasons)
2293
- userInfo(` - ${r}`);
2294
- }
2295
- if (output.can_proceed) {
2296
- userInfo(` ✓ 可继续: 需求新增已通过演进检查 (ID: ${candidateId})`);
2297
- }
2298
- }
2299
- if (!output.can_proceed) {
2300
- process.exit(1);
2301
- }
2302
- }
2303
- async function cmdStatus() {
2304
- debug("CLI", "执行 cmdStatus");
2305
- const projectPath = resolveProjectPath();
2306
- const { config, source } = await resolveProjectConfig(projectPath);
2307
- userInfo(`SoloForge 状态: ${projectPath}`);
2308
- userInfo(` 配置来源: ${source === "config_file" ? "config.yaml" : "自动推断"}`);
2309
- userInfo(` 产品: ${config.product_profile}`);
2310
- userInfo(` 后端: ${config.tech_stack.backend.framework || "未配置"}`);
2311
- userInfo(` 前端: ${config.tech_stack.frontend.framework || "未配置"}`);
2312
- // 逐字段配置优先级状态
2313
- try {
2314
- const { resolutions, entries } = await resolveCurrentProjectConfigReports(projectPath);
2315
- if (resolutions.length > 0) {
2316
- userInfo("");
2317
- userInfo(" 字段解析状态:");
2318
- for (const r of resolutions) {
2319
- const stale = r.stale_warning ? " ⚠️ stale" : "";
2320
- const conflict = r.conflict_report ? " ⚠️ conflict" : "";
2321
- userInfo(` ${r.field_path}: ${JSON.stringify(r.resolved_value)} (${r.source}${stale}${conflict})`);
2322
- }
2323
- }
2324
- const schemaPath = path.join(projectPath, ".soloforge", "config.evidence.json");
2325
- if (fss.existsSync(schemaPath)) {
2326
- try {
2327
- const raw = JSON.parse(fss.readFileSync(schemaPath, "utf-8"));
2328
- userInfo(` evidence: schema_version=${raw.schema_version ?? 1}, ${entries.length} 条`);
2329
- }
2330
- catch {
2331
- userInfo(" evidence: 无法解析");
2332
- }
2333
- }
2334
- else if (source === "config_file") {
2335
- userInfo(" evidence: ⚠️ config.evidence.json 缺失");
2336
- }
2337
- }
2338
- catch { }
2339
- // Evidence 警告
2340
- const evidenceWarnings = await checkEvidenceWarnings(projectPath);
2341
- for (const w of evidenceWarnings) {
2342
- userInfo(` ⚠️ evidence: ${w}`);
2343
- }
2344
- const knowledgeDir = getProjectKnowledgeDir(config);
2345
- if (fss.existsSync(knowledgeDir)) {
2346
- const { KnowledgeIndexManager } = await import("../knowledge/index_manager.js");
2347
- const index = new KnowledgeIndexManager(config, { watch: false });
2348
- try {
2349
- await index.build();
2350
- const entries = index.getAllEntries();
2351
- userInfo(` 知识: ${entries.global.length} 全局 + ${entries.project.length} 项目`);
2352
- }
2353
- finally {
2354
- await index.close();
2355
- }
2356
- }
2357
- else {
2358
- userInfo(" 知识: 未初始化");
2359
- }
2360
- // 导航摘要(消费同一规划模块,包含阻断项和下一步)
2361
- try {
2362
- const { planNextAction } = await import("../engine/next_action_planner.js");
2363
- const navigation = await planNextAction(projectPath);
2364
- userInfo(` 阶段: ${navigation.project_stage}${navigation.task_stage ? ` / ${navigation.task_stage}` : ""}`);
2365
- if (navigation.blocking_reasons.length > 0) {
2366
- userInfo(` 导航阻断: ${navigation.blocking_reasons.join("; ")}`);
2367
- }
2368
- if (navigation.confirmation_decisions.auto_resolvable.length > 0) {
2369
- userInfo(` 可自动处理: ${navigation.confirmation_decisions.auto_resolvable.map((item) => item.command_hint ?? item.title_zh).join(" / ")}`);
2370
- }
2371
- if (navigation.confirmation_decisions.must_confirm.length > 0) {
2372
- userInfo(` 必须确认: ${navigation.confirmation_decisions.must_confirm.map((item) => item.title_zh).join(" / ")}`);
2373
- }
2374
- userInfo(` 下一步: ${navigation.work_package?.goal_zh ?? navigation.recommended_prompt_zh}`);
2375
- }
2376
- catch (e) {
2377
- userInfo(` ⚠ 导航摘要异常: ${e instanceof Error ? e.message : String(e)}`);
2378
- }
2379
- }
2380
- async function interactiveConfig(projectPath) {
2381
- debug("CLI", "执行 interactiveConfig");
2382
- if (!process.stdin.isTTY)
2383
- return undefined;
2384
- const readline = await import("node:readline");
2385
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
2386
- const ask = (q) => new Promise((res) => rl.question(q, res));
2387
- const name = await ask("项目名称: ") || "my-project";
2388
- const product = await ask("产品类型 (saas/b2b-internal/b2c): ") || "default";
2389
- const backendFramework = await ask("后端框架 (spring-boot): ") || "spring-boot";
2390
- const frontendFramework = await ask("前端框架 (react): ") || "react";
2391
- rl.close();
2392
- const draft = {
2393
- name,
2394
- tech_stack: {
2395
- backend: { lang: backendFramework === "go" ? "go" : "java", framework: backendFramework, version: "" },
2396
- frontend: { lang: "typescript", framework: frontendFramework, version: "" },
2397
- },
2398
- product_profile: product,
2399
- build_commands: {
2400
- backend: blueprintBackendCommands(backendFramework),
2401
- frontend: blueprintFrontendCommands(frontendFramework),
2402
- },
2403
- scope: { backend: ["src/"], frontend: ["src/"] },
2404
- advisory_notes: [],
2405
- confidence: "high",
2406
- };
2407
- const src = "confirmed";
2408
- const evidence = {
2409
- schema_version: 1,
2410
- generated_at: new Date().toISOString(),
2411
- mode: "interactive",
2412
- project_root: projectPath,
2413
- fields: {
2414
- "name": { value: name, confidence: "high", confidence_source: src, evidence: ["--interactive input"] },
2415
- "tech_stack.backend": { value: draft.tech_stack.backend, confidence: "high", confidence_source: src, evidence: ["--interactive input"] },
2416
- "tech_stack.frontend": { value: draft.tech_stack.frontend, confidence: "high", confidence_source: src, evidence: ["--interactive input"] },
2417
- "build_commands.backend": { value: draft.build_commands.backend, confidence: "high", confidence_source: src, evidence: ["--interactive input"] },
2418
- "build_commands.frontend": { value: draft.build_commands.frontend, confidence: "high", confidence_source: src, evidence: ["--interactive input"] },
2419
- "product_profile": { value: product, confidence: "high", confidence_source: src, evidence: ["--interactive input"] },
2420
- "scope.backend": { value: draft.scope.backend, confidence: "high", confidence_source: src, evidence: ["--interactive input"] },
2421
- "scope.frontend": { value: draft.scope.frontend, confidence: "high", confidence_source: src, evidence: ["--interactive input"] },
2422
- },
2423
- };
2424
- return { draft, evidence };
2425
- }
2426
- function cmdVersion() {
2427
- debug("CLI", "执行 cmdVersion");
2428
- // dist/bin/soloforge.js → dist/package.json (local) 或 package.json (global npm)
2429
- const pkgPath = path.resolve(import.meta.dirname, "..", "package.json");
2430
- try {
2431
- const pkg = JSON.parse(fss.readFileSync(pkgPath, "utf-8"));
2432
- userInfo("SoloForge v" + pkg.version);
2433
- }
2434
- catch {
2435
- // 回退: 从 dist 同级目录查找
2436
- const altPath = path.resolve(import.meta.dirname, "..", "..", "package.json");
2437
- const pkg = JSON.parse(fss.readFileSync(altPath, "utf-8"));
2438
- userInfo("SoloForge v" + pkg.version);
2439
- }
2440
- }
2441
- async function cmdNext() {
2442
- debug("CLI", "执行 cmdNext");
2443
- const projectPath = resolveProjectPath();
2444
- const isJson = args.includes("--json");
2445
- const writeSnapshot = args.includes("--write-snapshot");
2446
- const { planNextAction } = await import("../engine/next_action_planner.js");
2447
- const plan = await planNextAction(projectPath);
2448
- if (isJson) {
2449
- // JSON 模式: 纯 JSON 到 stdout,无日志污染
2450
- const wp = plan.work_package;
2451
- const output = {
2452
- project_stage: plan.project_stage,
2453
- task_stage: plan.task_stage,
2454
- confidence: plan.confidence,
2455
- stage_evidence: plan.stage_evidence,
2456
- blocking_reasons: plan.blocking_reasons,
2457
- confirmation_decisions: plan.confirmation_decisions,
2458
- warnings: plan.warnings,
2459
- recommended_commands: plan.recommended_commands,
2460
- recommended_prompt: plan.recommended_prompt_zh,
2461
- project_knowledge_context: plan.project_knowledge_context,
2462
- disallowed_next_actions: plan.disallowed_actions.map((da) => ({
2463
- rule_id: da.rule_id,
2464
- blocked_actions: da.blocked_actions,
2465
- reason_zh: da.reason_zh,
2466
- })),
2467
- work_package: wp ? {
2468
- id: wp.id,
2469
- goal: wp.goal_zh,
2470
- input_files: wp.input_files,
2471
- must_read: wp.must_read,
2472
- forbidden_changes: wp.forbidden_changes,
2473
- expected_outputs: wp.expected_outputs,
2474
- acceptance_commands: wp.acceptance_commands,
2475
- user_confirmation_points: wp.user_confirmation_points,
2476
- rollback_or_fallback: wp.rollback_or_fallback,
2477
- } : null,
2478
- };
2479
- process.stdout.write(JSON.stringify(output, null, 2) + "\n");
2480
- }
2481
- else {
2482
- // 人类可读输出
2483
- userInfo(`\n项目阶段: ${plan.project_stage}`);
2484
- if (plan.task_stage) {
2485
- userInfo(`任务阶段: ${plan.task_stage}`);
2486
- }
2487
- else {
2488
- userInfo("任务阶段: 无活跃任务");
2489
- }
2490
- userInfo(`置信度: ${plan.confidence}`);
2491
- if (plan.stage_evidence.length > 0) {
2492
- userInfo(`\n判断依据:`);
2493
- for (const ev of plan.stage_evidence) {
2494
- userInfo(` - ${ev}`);
2495
- }
2496
- }
2497
- if (plan.warnings.length > 0) {
2498
- userInfo(`\n提示:`);
2499
- for (const warning of plan.warnings) {
2500
- userInfo(` - [${warning.code}] ${warning.message_zh}`);
2501
- }
2502
- }
2503
- userInfo(`\n确认分级:`);
2504
- userInfo(` 必须确认: ${plan.confirmation_decisions.must_confirm.length}`);
2505
- for (const item of plan.confirmation_decisions.must_confirm) {
2506
- userInfo(` - ${item.title_zh}: ${item.reason_zh}`);
2507
- if (item.command_hint)
2508
- userInfo(` 命令: ${item.command_hint}`);
2509
- userInfo(` 不确认影响: ${item.if_unconfirmed_zh}`);
2510
- }
2511
- userInfo(` 建议确认: ${plan.confirmation_decisions.should_confirm.length}`);
2512
- for (const item of plan.confirmation_decisions.should_confirm) {
2513
- userInfo(` - ${item.title_zh}: ${item.reason_zh}`);
2514
- if (item.command_hint)
2515
- userInfo(` 命令: ${item.command_hint}`);
2516
- }
2517
- userInfo(` 可自动处理: ${plan.confirmation_decisions.auto_resolvable.length}`);
2518
- for (const item of plan.confirmation_decisions.auto_resolvable) {
2519
- userInfo(` - ${item.title_zh}`);
2520
- if (item.command_hint)
2521
- userInfo(` 命令: ${item.command_hint}`);
2522
- }
2523
- userInfo(` 推荐处理: ${plan.confirmation_decisions.recommended_action}`);
2524
- if (plan.project_knowledge_context && plan.project_knowledge_context.total > 0) {
2525
- userInfo(`\n项目规则上下文:`);
2526
- userInfo(` 项目知识: ${plan.project_knowledge_context.total} 条,hard_fail: ${plan.project_knowledge_context.hard_fail_count}`);
2527
- if (plan.project_knowledge_context.selected.length > 0) {
2528
- userInfo(" 下一步会优先参考:");
2529
- for (const item of plan.project_knowledge_context.selected) {
2530
- userInfo(` - ${item.name} (${item.rel_path}, ${item.enforcement ?? item.consumption})`);
2531
- if (item.reason_zh)
2532
- userInfo(` 原因: ${item.reason_zh}`);
2533
- if (item.verification_command)
2534
- userInfo(` 复验: ${item.verification_command}`);
2535
- }
2536
- }
2537
- if (plan.project_knowledge_context.blocked && plan.project_knowledge_context.blocked.length > 0) {
2538
- userInfo(" 必须先处理:");
2539
- for (const item of plan.project_knowledge_context.blocked) {
2540
- userInfo(` - ${item.name} (${item.rel_path})`);
2541
- userInfo(` 原因: ${item.reason_zh}`);
2542
- if (item.recovery)
2543
- userInfo(` 恢复: ${item.recovery}`);
2544
- }
2545
- }
2546
- }
2547
- // 陈旧任务
2548
- if (plan.stale_task?.is_stale) {
2549
- userInfo(`\n⚠️ 检测到陈旧任务: ${plan.stale_task.reason_zh}`);
2550
- userInfo(` 任务 ID: ${plan.stale_task.task_id}`);
2551
- userInfo(` 建议操作: ${plan.stale_task.suggested_resolutions.join(" / ")}`);
2552
- userInfo(` ⚠️ 不要绕过 SoloForge 状态直接操作`);
2553
- }
2554
- // 阻断项
2555
- if (plan.blocking_reasons.length > 0) {
2556
- userInfo(`\n阻断项:`);
2557
- for (const r of plan.blocking_reasons) {
2558
- userInfo(` - ${r}`);
2559
- }
2560
- }
2561
- // 工作包
2562
- if (plan.work_package) {
2563
- const wp = plan.work_package;
2564
- userInfo(`\n下一步: ${wp.goal_zh}`);
2565
- userInfo(` 描述: ${wp.description_zh}`);
2566
- if (wp.tool_name) {
2567
- userInfo(` 工具: ${wp.tool_name}`);
2568
- }
2569
- if (wp.must_read.length > 0) {
2570
- userInfo(` 必读文件:`);
2571
- for (const f of wp.must_read)
2572
- userInfo(` - ${f}`);
2573
- }
2574
- if (wp.forbidden_changes.length > 0) {
2575
- userInfo(` 禁止操作:`);
2576
- for (const f of wp.forbidden_changes)
2577
- userInfo(` - ${f}`);
2578
- }
2579
- if (wp.expected_outputs.length > 0) {
2580
- userInfo(` 预期产出:`);
2581
- for (const e of wp.expected_outputs)
2582
- userInfo(` - ${e}`);
2583
- }
2584
- if (wp.acceptance_commands.length > 0) {
2585
- userInfo(` 验收命令:`);
2586
- for (const c of wp.acceptance_commands)
2587
- userInfo(` - ${c}`);
2588
- }
2589
- if (wp.user_confirmation_points.length > 0) {
2590
- userInfo(` 工作包确认点(是否阻塞以上方确认分级为准):`);
2591
- for (const u of wp.user_confirmation_points)
2592
- userInfo(` - ${u}`);
2593
- }
2594
- if (wp.rollback_or_fallback.length > 0) {
2595
- userInfo(` 失败回退:`);
2596
- for (const r of wp.rollback_or_fallback)
2597
- userInfo(` - ${r}`);
2598
- }
2599
- }
2600
- // 推荐命令
2601
- if (plan.recommended_commands.length > 0) {
2602
- userInfo(`\n推荐命令:`);
2603
- for (const c of plan.recommended_commands) {
2604
- userInfo(` ${c}`);
2605
- }
2606
- }
2607
- // 禁止动作
2608
- if (plan.disallowed_actions.length > 0) {
2609
- userInfo(`\n禁止动作:`);
2610
- for (const da of plan.disallowed_actions) {
2611
- userInfo(` [${da.rule_id}] ${da.blocked_actions.join(", ")}: ${da.reason_zh}`);
2612
- }
2613
- }
2614
- // 推荐给 AI 的指令
2615
- userInfo(`\n推荐指令: ${plan.recommended_prompt_zh}`);
2616
- }
2617
- // 写入快照(只在显式 --write-snapshot 时)
2618
- if (writeSnapshot) {
2619
- const snapshotPath = path.join(projectPath, ".soloforge", "navigation-snapshot.json");
2620
- const snapshot = {
2621
- plan_id: plan.plan_id,
2622
- generated_at: plan.generated_at,
2623
- project_stage: plan.project_stage,
2624
- task_stage: plan.task_stage,
2625
- current_task_id: plan.current_task_id,
2626
- work_package: plan.work_package,
2627
- };
2628
- fss.mkdirSync(path.join(projectPath, ".soloforge"), { recursive: true });
2629
- fss.writeFileSync(snapshotPath, JSON.stringify(snapshot, null, 2));
2630
- if (!isJson) {
2631
- userInfo(`\n导航快照已写入: ${snapshotPath}`);
2632
- }
2633
- }
2634
- }
2635
- async function cmdStage() {
2636
- debug("CLI", "执行 cmdStage");
2637
- const projectPath = resolveProjectPath();
2638
- const explain = args.includes("--explain");
2639
- const isJson = args.includes("--json");
2640
- const { detectProjectStage, explainProjectStage } = await import("../engine/project_stage_detector.js");
2641
- const { detectTaskStage, explainTaskStage } = await import("../engine/task_stage_detector.js");
2642
- const projectStage = await detectProjectStage(projectPath);
2643
- // 加载当前任务
2644
- let taskStage = null;
2645
- let taskId = null;
2646
- try {
2647
- const { TaskContextManager } = await import("../engine/task_context.js");
2648
- const stateDir = path.join(projectPath, ".soloforge", "state");
2649
- if (fss.existsSync(stateDir)) {
2650
- const manager = new TaskContextManager(stateDir);
2651
- const ctx = await manager.getCurrentTask();
2652
- if (ctx) {
2653
- taskStage = detectTaskStage(ctx);
2654
- taskId = ctx.task_id;
2655
- }
2656
- }
2657
- }
2658
- catch { }
2659
- if (isJson) {
2660
- const projExplanation = explainProjectStage(projectStage);
2661
- process.stdout.write(JSON.stringify({
2662
- project: projExplanation,
2663
- task: taskStage ? explainTaskStage(taskStage) : null,
2664
- task_id: taskId,
2665
- }, null, 2) + "\n");
2666
- return;
2667
- }
2668
- userInfo(`\n项目阶段: ${projectStage}`);
2669
- if (explain) {
2670
- const projExplanation = explainProjectStage(projectStage);
2671
- userInfo(` ${projExplanation.description_zh}`);
2672
- userInfo(` 必要条件: ${projExplanation.required_evidence.join(", ") || "无"}`);
2673
- userInfo(` 下一步可能: ${projExplanation.next_possible_stages.join(", ")}`);
2674
- }
2675
- if (taskStage) {
2676
- userInfo(`\n任务阶段: ${taskStage} (${taskId ?? "unknown"})`);
2677
- if (explain) {
2678
- const taskExplanation = explainTaskStage(taskStage);
2679
- userInfo(` ${taskExplanation.description_zh}`);
2680
- userInfo(` 必要条件: ${taskExplanation.required_evidence.join(", ")}`);
2681
- userInfo(` 下一步可能: ${taskExplanation.next_possible_stages.join(", ")}`);
2682
- }
2683
- }
2684
- else {
2685
- userInfo("\n当前无活跃任务");
2686
- }
2687
- }
2688
- async function cmdCleanup() {
2689
- debug("CLI", "执行 cmdCleanup");
2690
- const dryRun = !args.includes("--apply");
2691
- const staleOnly = args.includes("--stale");
2692
- const projectPath = process.cwd();
2693
- const stateDir = path.join(projectPath, ".soloforge", "state");
2694
- let hasError = false;
2695
- userInfo(`SoloForge 清理: ${projectPath}`);
2696
- userInfo(` 模式: ${dryRun ? "dry-run(仅评估)" : "⚠️ 实际清理"}`);
2697
- if (staleOnly) {
2698
- try {
2699
- const { detectStaleCurrentTask, archiveStaleCurrentPointer } = await import("../engine/stale_current_task_detector.js");
2700
- const stale = await detectStaleCurrentTask(stateDir);
2701
- userInfo("");
2702
- userInfo(" 陈旧 current-task 检测:");
2703
- if (!stale.is_stale || !stale.task_id) {
2704
- userInfo(" 未发现陈旧指针");
2705
- return;
2706
- }
2707
- userInfo(` 陈旧任务: ${stale.task_id}`);
2708
- userInfo(` 原因: ${stale.reason_zh}`);
2709
- if (dryRun) {
2710
- userInfo(" 处理: dry-run,仅提示;使用 --apply 归档指针");
2711
- return;
2712
- }
2713
- const archived = await archiveStaleCurrentPointer(stateDir, stale.task_id);
2714
- if (!archived) {
2715
- userError(" ❌ 陈旧指针归档失败");
2716
- process.exit(1);
2717
- }
2718
- userInfo(" 处理: 已归档 current-task 指针,任务文件未删除");
2719
- return;
2720
- }
2721
- catch (e) {
2722
- userError(` ❌ 陈旧 current-task 检测失败: ${e.message}`);
2723
- process.exit(1);
2724
- }
2725
- }
2726
- // 收集所有 evidence 引用来源:task-*.json 中的 evidence 文件名 / evidence id
2727
- const referencedEvidenceIds = new Set();
2728
- // 扫描 task context 文件中的 evidence 引用
2729
- if (fss.existsSync(stateDir)) {
2730
- for (const f of fss.readdirSync(stateDir).filter((f) => f.startsWith("task-") && f.endsWith(".json"))) {
2731
- try {
2732
- const content = fss.readFileSync(path.join(stateDir, f), "utf-8");
2733
- const ctx = JSON.parse(content);
2734
- // 从 verification_evidence 收集引用
2735
- if (ctx.verification_evidence && typeof ctx.verification_evidence === "object") {
2736
- for (const [key, val] of Object.entries(ctx.verification_evidence)) {
2737
- if (typeof val === "string")
2738
- referencedEvidenceIds.add(val);
2739
- referencedEvidenceIds.add(key);
2740
- }
2741
- }
2742
- // 从 artifacts 的 evidence_refs 收集
2743
- if (Array.isArray(ctx.output_artifacts)) {
2744
- for (const art of ctx.output_artifacts) {
2745
- if (art.evidence_refs && Array.isArray(art.evidence_refs)) {
2746
- for (const ref of art.evidence_refs)
2747
- referencedEvidenceIds.add(ref);
2748
- }
2749
- if (art.artifact_id)
2750
- referencedEvidenceIds.add(art.artifact_id);
2751
- }
2752
- }
2753
- // 从 delivery_report 收集
2754
- if (ctx.delivery_report && typeof ctx.delivery_report === "object") {
2755
- const dr = ctx.delivery_report;
2756
- if (dr.evidence_refs && Array.isArray(dr.evidence_refs)) {
2757
- for (const ref of dr.evidence_refs)
2758
- referencedEvidenceIds.add(ref);
2759
- }
2760
- }
2761
- // 从 governance_report 收集
2762
- if (ctx.governance_report && typeof ctx.governance_report === "string") {
2763
- referencedEvidenceIds.add(ctx.governance_report);
2764
- }
2765
- }
2766
- catch {
2767
- // 跳过不可解析文件
2768
- }
2769
- }
2770
- }
2771
- // 1. TaskContext 清理(使用 retention_policy)
2772
- if (fss.existsSync(stateDir)) {
2773
- try {
2774
- const { TaskContextManager } = await import("../engine/task_context.js");
2775
- const mgr = new TaskContextManager(stateDir);
2776
- const result = await mgr.cleanup(dryRun);
2777
- userInfo("");
2778
- userInfo(" TaskContext 清理:");
2779
- userInfo(` 已清理: ${result.removed} 条`);
2780
- userInfo(` 受保护(被引用不可删除): ${result.protected} 条`);
2781
- userInfo(` 禁止内容检出: ${result.forbidden_content_hits.length > 0 ? result.forbidden_content_hits.join("; ") : "无"}`);
2782
- userInfo(` dry_run: ${result.dry_run}`);
2783
- if (result.forbidden_content_hits.length > 0) {
2784
- userError(` ❌ TaskContext 包含禁止内容,清理中止`);
2785
- hasError = true;
2786
- }
2787
- }
2788
- catch (e) {
2789
- userError(` ❌ TaskContext 清理失败: ${e.message}`);
2790
- process.exit(1);
2791
- }
2792
- }
2793
- else {
2794
- userInfo(" TaskContext: 状态目录不存在,跳过");
2795
- }
2796
- // 2. Evidence 文件清理(真实引用扫描)
2797
- const evidenceDir = path.join(projectPath, ".soloforge");
2798
- if (fss.existsSync(evidenceDir)) {
2799
- try {
2800
- const { evaluateCleanup, checkForbiddenContent } = await import("../engine/retention_policy.js");
2801
- const evidenceFiles = fss.readdirSync(evidenceDir)
2802
- .filter((f) => f.endsWith(".json") && !f.startsWith("config."))
2803
- .map((f) => {
2804
- const fp = path.join(evidenceDir, f);
2805
- const stat = fss.statSync(fp);
2806
- const ageDays = Math.max(0, (Date.now() - stat.mtimeMs) / (24 * 60 * 60 * 1000));
2807
- const content = fss.readFileSync(fp, "utf-8");
2808
- const forbiddenHits = checkForbiddenContent("evidence", content);
2809
- // 真实引用检查: evidence 文件名或内容中的 id 出现在引用集合中
2810
- const isReferenced = referencedEvidenceIds.has(f) || referencedEvidenceIds.has(f.replace(/\.json$/, ""));
2811
- return { name: f, age_days: ageDays, is_referenced: isReferenced, forbidden: forbiddenHits };
2812
- });
2813
- const records = evidenceFiles.map(e => ({ id: e.name, age_days: e.age_days, is_referenced: e.is_referenced }));
2814
- const result = evaluateCleanup("evidence", records, dryRun);
2815
- userInfo("");
2816
- userInfo(" Evidence 清理:");
2817
- userInfo(` 总文件: ${result.total_records}`);
2818
- userInfo(` 可清理: ${result.eligible_for_cleanup}`);
2819
- userInfo(` 受保护: ${result.protected_records}`);
2820
- userInfo(` dry_run: ${result.dry_run}`);
2821
- if (result.cleanup_candidates.length > 0) {
2822
- userInfo(` 清理候选: ${result.cleanup_candidates.join(", ")}`);
2823
- }
2824
- const forbiddenFiles = evidenceFiles.filter(e => e.forbidden.length > 0);
2825
- if (forbiddenFiles.length > 0) {
2826
- userInfo(" ❌ 禁止内容检出:");
2827
- for (const f of forbiddenFiles) {
2828
- userInfo(` ${f.name}: ${f.forbidden.join(", ")}`);
2829
- }
2830
- hasError = true;
2831
- }
2832
- }
2833
- catch (e) {
2834
- userError(` ❌ Evidence 清理失败: ${e.message}`);
2835
- process.exit(1);
2836
- }
2837
- }
2838
- // 3. 列出所有保留策略
2839
- try {
2840
- const { listRetentionPolicies } = await import("../engine/retention_policy.js");
2841
- const policies = listRetentionPolicies();
2842
- userInfo("");
2843
- userInfo(" 保留策略:");
2844
- for (const p of policies) {
2845
- userInfo(` ${p.policy_id}: ${p.record_type}, 最大 ${p.max_age_days} 天 / ${p.max_count} 条, dry_run_default=${p.dry_run_default}`);
2846
- }
2847
- }
2848
- catch (e) {
2849
- userError(` ❌ 保留策略加载失败: ${e.message}`);
2850
- process.exit(1);
2851
- }
2852
- if (hasError)
2853
- process.exit(1);
2854
- }
2855
- main().catch((e) => { internalWarn("CLI", "启动失败:", e); process.exit(1); });
2856
- function getArgValue(flag) {
2857
- // 支持 --flag=value 格式
2858
- const eqPrefix = flag + "=";
2859
- const eqIdx = args.findIndex((a) => a.startsWith(eqPrefix));
2860
- if (eqIdx !== -1) {
2861
- return args[eqIdx].slice(eqPrefix.length) || undefined;
2862
- }
2863
- const idx = args.indexOf(flag);
2864
- if (idx === -1 || idx + 1 >= args.length)
2865
- return undefined;
2866
- const result = args[idx + 1];
2867
- if (result.startsWith("--"))
2868
- return undefined;
2869
- return result;
2870
- }
2871
- async function cmdAuditTemplateVisibility() {
2872
- const projectPath = process.env.SOLOFORGE_PROJECT ?? process.cwd();
2873
- const { auditStandardAssetCoverage } = await import("../engine/standard_asset_coverage.js");
2874
- const { listBuiltinConsumableAssets } = await import("../engine/consumable_asset_registry.js");
2875
- const { listTemplateAssetContracts, auditContractCoverage } = await import("../engine/template_asset_contract_registry.js");
2876
- const { userInfo, userJson } = await import("../engine/logger.js");
2877
- // 使用权威合同注册表作为单一数据源
2878
- const contracts = listTemplateAssetContracts();
2879
- const registeredAssets = listBuiltinConsumableAssets();
2880
- const consumablePaths = new Set(registeredAssets.map((a) => a.path));
2881
- const ownerMap = new Map(contracts.map((c) => [c.path, c.owner_mechanism_id]));
2882
- const consumerMap = new Map(contracts.map((c) => [c.path, [c.mainline_consumer, c.validation_entrypoint].filter(Boolean)]));
2883
- const visibilityMap = new Map(contracts.map((c) => [c.path, c.asset_visibility]));
2884
- // 运行覆盖审计(使用真实合同数据)
2885
- const report = auditStandardAssetCoverage(projectPath, consumablePaths, ownerMap, consumerMap, visibilityMap);
2886
- // 合同覆盖统计
2887
- const coverageReport = auditContractCoverage(projectPath);
2888
- // 可见性统计(从权威合同直接计算)
2889
- const internalCount = contracts.filter((c) => c.asset_visibility === "soloforge_internal" || c.asset_visibility === "scaffold_only").length;
2890
- const userVisibleCount = contracts.filter((c) => c.user_visible).length;
2891
- // 输出报告
2892
- const isJson = args.includes("--json");
2893
- const result = {
2894
- total_assets: report.total_assets,
2895
- registered_contracts: coverageReport.total_contracts,
2896
- contract_covered: coverageReport.contract_covered,
2897
- uncovered_assets: coverageReport.uncovered,
2898
- user_visible_count: userVisibleCount,
2899
- internal_count: internalCount,
2900
- unknown_visibility: coverageReport.visibility_unknown,
2901
- conflict_count: 0,
2902
- missing_bearer: report.missing_standard_bearer,
2903
- missing_revalidation: report.missing_revalidation,
2904
- missing_consumer: report.missing_consumer,
2905
- missing_owner: report.missing_owner,
2906
- unregistered: report.unregistered_assets,
2907
- consumption_evidence_verified: coverageReport.consumption_evidence_verified,
2908
- consumption_evidence_failures: coverageReport.consumption_evidence_failures,
2909
- };
2910
- if (isJson) {
2911
- userJson(JSON.stringify(result, null, 2));
2912
- }
2913
- else {
2914
- userInfo("═══ 模板资产可见性审计报告 ═══");
2915
- userInfo(`总资产数: ${report.total_assets}`);
2916
- userInfo(`注册合同数: ${coverageReport.total_contracts}(包含非文件运行时资产)`);
2917
- userInfo(`合同覆盖: ${coverageReport.contract_covered}`);
2918
- userInfo(`未覆盖: ${coverageReport.uncovered}`);
2919
- userInfo(`用户可见: ${userVisibleCount}`);
2920
- userInfo(`内部资产: ${internalCount}`);
2921
- userInfo(`未知可见性: ${coverageReport.visibility_unknown}`);
2922
- userInfo(`缺标准承载: ${report.missing_standard_bearer}`);
2923
- userInfo(`缺复验入口: ${report.missing_revalidation}`);
2924
- userInfo(`缺消费者: ${report.missing_consumer}`);
2925
- userInfo(`缺 owner: ${report.missing_owner}`);
2926
- userInfo(`未注册: ${report.unregistered_assets}`);
2927
- userInfo(`消费证据验证: ${coverageReport.consumption_evidence_verified ? "通过" : "失败"}`);
2928
- for (const failure of coverageReport.consumption_evidence_failures) {
2929
- userInfo(` - ${failure}`);
2930
- }
2931
- }
2932
- }
2933
- async function cmdAuditProjectKnowledge() {
2934
- const projectPathArg = getArgValue("--project-path");
2935
- const projectPath = projectPathArg ? path.resolve(projectPathArg) : (process.env.SOLOFORGE_PROJECT ?? process.cwd());
2936
- const { auditProjectKnowledge } = await import("../engine/project_knowledge_contract.js");
2937
- const { userInfo, userJson } = await import("../engine/logger.js");
2938
- const isJson = args.includes("--json");
2939
- const { config } = await resolveProjectConfig(projectPath, { quiet: isJson });
2940
- const report = auditProjectKnowledge(projectPath, config);
2941
- if (isJson) {
2942
- userJson(JSON.stringify(report, null, 2));
2943
- return;
2944
- }
2945
- userInfo(`用户项目知识审计: ${projectPath}`);
2946
- userInfo(` 总数: ${report.total}`);
2947
- userInfo(` 用户自建: ${report.user_authored}`);
2948
- userInfo(` 内置同步: ${report.builtin_synced}`);
2949
- userInfo(` 用户修改内置: ${report.user_modified_builtin}`);
2950
- userInfo(` 冲突: ${report.conflict}`);
2951
- userInfo(` hard_rule: ${report.hard_rule}`);
2952
- userInfo(` injectable: ${report.injectable}`);
2953
- userInfo(` index_only: ${report.index_only}`);
2954
- userInfo(` hard_fail: ${report.hard_fail_count}`);
2955
- userInfo(` warning: ${report.warning_count}`);
2956
- for (const asset of report.assets) {
2957
- userInfo(` - ${asset.rel_path} (${asset.identity}/${asset.consumption})`);
2958
- userInfo(` 创建: ${asset.evidence.created_by};索引: ${asset.evidence.indexed_by}`);
2959
- if (asset.lifecycle_stages.length > 0)
2960
- userInfo(` 阶段: ${asset.lifecycle_stages.join(", ")}`);
2961
- if (asset.path_patterns.length > 0)
2962
- userInfo(` 路径: ${asset.path_patterns.join(", ")}`);
2963
- if (asset.traceability_ids.length > 0)
2964
- userInfo(` 追踪: ${asset.traceability_ids.join(", ")}`);
2965
- if (asset.verification_commands.length > 0)
2966
- userInfo(` 复验: ${asset.verification_commands.join(" / ")}`);
2967
- if (asset.evidence.last_consumed_at) {
2968
- userInfo(` 最近消费: ${asset.evidence.last_consumption_consumer}/${asset.evidence.last_consumption_action} ${asset.evidence.last_consumed_task} @ ${asset.evidence.last_consumed_at}`);
2969
- }
2970
- for (const finding of asset.findings) {
2971
- const mark = finding.severity === "hard_fail" ? "❌" : finding.severity === "warning" ? "⚠️" : "ℹ️";
2972
- userInfo(` ${mark} [${finding.code}] ${finding.message_zh}`);
2973
- }
2974
- }
2975
- if (report.recent_consumption.length > 0) {
2976
- userInfo(" 最近消费证据:");
2977
- for (const item of report.recent_consumption.slice(0, 10)) {
2978
- userInfo(` - ${item.rel_path ?? item.asset_id}: ${item.consumer}/${item.action ?? "unknown"} ${item.lifecycle_stage ?? "unknown_stage"} ${item.task_id_or_route} ${item.decision ?? ""}`);
2979
- }
2980
- }
2981
- if (report.recommended_next_steps.length > 0) {
2982
- userInfo(" 下一步:");
2983
- for (const step of report.recommended_next_steps)
2984
- userInfo(` - ${step}`);
2985
- }
2986
- }
250
+ main().catch((err) => {
251
+ console.error("Fatal:", err);
252
+ process.exit(EXIT.GENERAL);
253
+ });
2987
254
  //# sourceMappingURL=soloforge.js.map