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