soloforge 1.2.8 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/README.md +105 -321
  2. package/dist/adapters/claude_code/claude_md.d.ts +5 -0
  3. package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
  4. package/dist/adapters/claude_code/claude_md.js +6 -0
  5. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  6. package/dist/adapters/claude_code/hooks.d.ts +4 -0
  7. package/dist/adapters/claude_code/hooks.d.ts.map +1 -1
  8. package/dist/adapters/claude_code/hooks.js +5 -0
  9. package/dist/adapters/claude_code/hooks.js.map +1 -1
  10. package/dist/adapters/claude_code/server.d.ts.map +1 -1
  11. package/dist/adapters/claude_code/server.js +9 -21
  12. package/dist/adapters/claude_code/server.js.map +1 -1
  13. package/dist/adapters/claude_code/tools.d.ts +5 -0
  14. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  15. package/dist/adapters/claude_code/tools.js +619 -205
  16. package/dist/adapters/claude_code/tools.js.map +1 -1
  17. package/dist/adapters/codex/codex_config.d.ts +9 -0
  18. package/dist/adapters/codex/codex_config.d.ts.map +1 -1
  19. package/dist/adapters/codex/codex_config.js +11 -3
  20. package/dist/adapters/codex/codex_config.js.map +1 -1
  21. package/dist/adapters/codex/codex_rules.d.ts +5 -0
  22. package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
  23. package/dist/adapters/codex/codex_rules.js +8 -1
  24. package/dist/adapters/codex/codex_rules.js.map +1 -1
  25. package/dist/adapters/shared/workflow_template.d.ts +5 -0
  26. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  27. package/dist/adapters/shared/workflow_template.js +32 -79
  28. package/dist/adapters/shared/workflow_template.js.map +1 -1
  29. package/dist/adapters/trae/trae_config.d.ts +4 -0
  30. package/dist/adapters/trae/trae_config.d.ts.map +1 -1
  31. package/dist/adapters/trae/trae_config.js +5 -7
  32. package/dist/adapters/trae/trae_config.js.map +1 -1
  33. package/dist/adapters/trae/trae_rules.d.ts +5 -0
  34. package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
  35. package/dist/adapters/trae/trae_rules.js +7 -1
  36. package/dist/adapters/trae/trae_rules.js.map +1 -1
  37. package/dist/bin/config_commands.d.ts +33 -0
  38. package/dist/bin/config_commands.d.ts.map +1 -0
  39. package/dist/bin/config_commands.js +222 -0
  40. package/dist/bin/config_commands.js.map +1 -0
  41. package/dist/bin/soloforge.js +609 -119
  42. package/dist/bin/soloforge.js.map +1 -1
  43. package/dist/engine/artifact_contract_registry.d.ts +138 -0
  44. package/dist/engine/artifact_contract_registry.d.ts.map +1 -0
  45. package/dist/engine/artifact_contract_registry.js +427 -0
  46. package/dist/engine/artifact_contract_registry.js.map +1 -0
  47. package/dist/engine/audit_pool.d.ts +40 -0
  48. package/dist/engine/audit_pool.d.ts.map +1 -1
  49. package/dist/engine/audit_pool.js +37 -1
  50. package/dist/engine/audit_pool.js.map +1 -1
  51. package/dist/engine/audit_sampler.d.ts +5 -0
  52. package/dist/engine/audit_sampler.d.ts.map +1 -1
  53. package/dist/engine/audit_sampler.js +6 -0
  54. package/dist/engine/audit_sampler.js.map +1 -1
  55. package/dist/engine/audit_verifier.d.ts.map +1 -1
  56. package/dist/engine/audit_verifier.js +5 -1
  57. package/dist/engine/audit_verifier.js.map +1 -1
  58. package/dist/engine/batch1_manifest.d.ts +61 -0
  59. package/dist/engine/batch1_manifest.d.ts.map +1 -0
  60. package/dist/engine/batch1_manifest.js +220 -0
  61. package/dist/engine/batch1_manifest.js.map +1 -0
  62. package/dist/engine/batch1_reality_gate.d.ts +40 -0
  63. package/dist/engine/batch1_reality_gate.d.ts.map +1 -0
  64. package/dist/engine/batch1_reality_gate.js +290 -0
  65. package/dist/engine/batch1_reality_gate.js.map +1 -0
  66. package/dist/engine/batch1_scenario_registry.d.ts +62 -0
  67. package/dist/engine/batch1_scenario_registry.d.ts.map +1 -0
  68. package/dist/engine/batch1_scenario_registry.js +392 -0
  69. package/dist/engine/batch1_scenario_registry.js.map +1 -0
  70. package/dist/engine/batch1_scenario_runners.d.ts +42 -0
  71. package/dist/engine/batch1_scenario_runners.d.ts.map +1 -0
  72. package/dist/engine/batch1_scenario_runners.js +292 -0
  73. package/dist/engine/batch1_scenario_runners.js.map +1 -0
  74. package/dist/engine/capability_action_advisor.d.ts +3 -0
  75. package/dist/engine/capability_action_advisor.d.ts.map +1 -1
  76. package/dist/engine/capability_action_advisor.js +10 -0
  77. package/dist/engine/capability_action_advisor.js.map +1 -1
  78. package/dist/engine/capability_registry.d.ts +21 -0
  79. package/dist/engine/capability_registry.d.ts.map +1 -1
  80. package/dist/engine/capability_registry.js +113 -0
  81. package/dist/engine/capability_registry.js.map +1 -1
  82. package/dist/engine/capability_state_store.d.ts +63 -0
  83. package/dist/engine/capability_state_store.d.ts.map +1 -1
  84. package/dist/engine/capability_state_store.js +49 -1
  85. package/dist/engine/capability_state_store.js.map +1 -1
  86. package/dist/engine/change_coordinator.d.ts.map +1 -1
  87. package/dist/engine/change_coordinator.js +5 -4
  88. package/dist/engine/change_coordinator.js.map +1 -1
  89. package/dist/engine/classifier.d.ts +15 -5
  90. package/dist/engine/classifier.d.ts.map +1 -1
  91. package/dist/engine/classifier.js +70 -69
  92. package/dist/engine/classifier.js.map +1 -1
  93. package/dist/engine/code_reviewer.d.ts +14 -0
  94. package/dist/engine/code_reviewer.d.ts.map +1 -1
  95. package/dist/engine/code_reviewer.js +109 -10
  96. package/dist/engine/code_reviewer.js.map +1 -1
  97. package/dist/engine/cognitive_anchor.d.ts +14 -0
  98. package/dist/engine/cognitive_anchor.d.ts.map +1 -1
  99. package/dist/engine/cognitive_anchor.js +26 -2
  100. package/dist/engine/cognitive_anchor.js.map +1 -1
  101. package/dist/engine/command_execution_contract.d.ts +226 -0
  102. package/dist/engine/command_execution_contract.d.ts.map +1 -0
  103. package/dist/engine/command_execution_contract.js +571 -0
  104. package/dist/engine/command_execution_contract.js.map +1 -0
  105. package/dist/engine/confidence_scorer.d.ts.map +1 -1
  106. package/dist/engine/confidence_scorer.js +1 -0
  107. package/dist/engine/confidence_scorer.js.map +1 -1
  108. package/dist/engine/config_precedence_contract.d.ts +269 -0
  109. package/dist/engine/config_precedence_contract.d.ts.map +1 -0
  110. package/dist/engine/config_precedence_contract.js +948 -0
  111. package/dist/engine/config_precedence_contract.js.map +1 -0
  112. package/dist/engine/conflict_gate.d.ts +13 -0
  113. package/dist/engine/conflict_gate.d.ts.map +1 -1
  114. package/dist/engine/conflict_gate.js +20 -2
  115. package/dist/engine/conflict_gate.js.map +1 -1
  116. package/dist/engine/consumable_asset_registry.d.ts +46 -0
  117. package/dist/engine/consumable_asset_registry.d.ts.map +1 -0
  118. package/dist/engine/consumable_asset_registry.js +758 -0
  119. package/dist/engine/consumable_asset_registry.js.map +1 -0
  120. package/dist/engine/contract_guard.d.ts +4 -0
  121. package/dist/engine/contract_guard.d.ts.map +1 -1
  122. package/dist/engine/contract_guard.js +15 -7
  123. package/dist/engine/contract_guard.js.map +1 -1
  124. package/dist/engine/convention_detector.d.ts.map +1 -1
  125. package/dist/engine/convention_detector.js +5 -2
  126. package/dist/engine/convention_detector.js.map +1 -1
  127. package/dist/engine/core_engineering_principles.d.ts +155 -0
  128. package/dist/engine/core_engineering_principles.d.ts.map +1 -0
  129. package/dist/engine/core_engineering_principles.js +426 -0
  130. package/dist/engine/core_engineering_principles.js.map +1 -0
  131. package/dist/engine/debt_reporter.d.ts.map +1 -1
  132. package/dist/engine/debt_reporter.js +3 -1
  133. package/dist/engine/debt_reporter.js.map +1 -1
  134. package/dist/engine/debt_tracker.d.ts.map +1 -1
  135. package/dist/engine/debt_tracker.js +9 -3
  136. package/dist/engine/debt_tracker.js.map +1 -1
  137. package/dist/engine/debugger.d.ts.map +1 -1
  138. package/dist/engine/debugger.js +2 -0
  139. package/dist/engine/debugger.js.map +1 -1
  140. package/dist/engine/decision_contract.d.ts +11 -2
  141. package/dist/engine/decision_contract.d.ts.map +1 -1
  142. package/dist/engine/decision_contract.js +17 -2
  143. package/dist/engine/decision_contract.js.map +1 -1
  144. package/dist/engine/delivery.d.ts +7 -0
  145. package/dist/engine/delivery.d.ts.map +1 -1
  146. package/dist/engine/delivery.js +89 -36
  147. package/dist/engine/delivery.js.map +1 -1
  148. package/dist/engine/dependency_scanner.d.ts.map +1 -1
  149. package/dist/engine/dependency_scanner.js +14 -9
  150. package/dist/engine/dependency_scanner.js.map +1 -1
  151. package/dist/engine/developer_sovereignty.d.ts.map +1 -1
  152. package/dist/engine/developer_sovereignty.js +8 -2
  153. package/dist/engine/developer_sovereignty.js.map +1 -1
  154. package/dist/engine/diff_ownership.d.ts.map +1 -1
  155. package/dist/engine/diff_ownership.js +8 -0
  156. package/dist/engine/diff_ownership.js.map +1 -1
  157. package/dist/engine/diff_ownership_store.d.ts +26 -10
  158. package/dist/engine/diff_ownership_store.d.ts.map +1 -1
  159. package/dist/engine/diff_ownership_store.js +47 -20
  160. package/dist/engine/diff_ownership_store.js.map +1 -1
  161. package/dist/engine/dual_layer_mechanism_registry.d.ts +66 -0
  162. package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -0
  163. package/dist/engine/dual_layer_mechanism_registry.js +1077 -0
  164. package/dist/engine/dual_layer_mechanism_registry.js.map +1 -0
  165. package/dist/engine/escape_report.d.ts +50 -0
  166. package/dist/engine/escape_report.d.ts.map +1 -1
  167. package/dist/engine/escape_report.js +38 -0
  168. package/dist/engine/escape_report.js.map +1 -1
  169. package/dist/engine/evolver.d.ts.map +1 -1
  170. package/dist/engine/evolver.js +12 -2
  171. package/dist/engine/evolver.js.map +1 -1
  172. package/dist/engine/exploration.d.ts.map +1 -1
  173. package/dist/engine/exploration.js +87 -0
  174. package/dist/engine/exploration.js.map +1 -1
  175. package/dist/engine/failure_classifier.d.ts.map +1 -1
  176. package/dist/engine/failure_classifier.js +8 -0
  177. package/dist/engine/failure_classifier.js.map +1 -1
  178. package/dist/engine/feasibility_checker.d.ts +8 -0
  179. package/dist/engine/feasibility_checker.d.ts.map +1 -1
  180. package/dist/engine/feasibility_checker.js +12 -0
  181. package/dist/engine/feasibility_checker.js.map +1 -1
  182. package/dist/engine/git_deps.d.ts +4 -1
  183. package/dist/engine/git_deps.d.ts.map +1 -1
  184. package/dist/engine/git_deps.js +5 -1
  185. package/dist/engine/git_deps.js.map +1 -1
  186. package/dist/engine/governance_report.d.ts +57 -1
  187. package/dist/engine/governance_report.d.ts.map +1 -1
  188. package/dist/engine/governance_report.js +91 -1
  189. package/dist/engine/governance_report.js.map +1 -1
  190. package/dist/engine/impact_analyzer.d.ts.map +1 -1
  191. package/dist/engine/impact_analyzer.js +5 -1
  192. package/dist/engine/impact_analyzer.js.map +1 -1
  193. package/dist/engine/implementation_roadmap_registry.d.ts +105 -0
  194. package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -0
  195. package/dist/engine/implementation_roadmap_registry.js +813 -0
  196. package/dist/engine/implementation_roadmap_registry.js.map +1 -0
  197. package/dist/engine/input_material_contract_registry.d.ts +185 -0
  198. package/dist/engine/input_material_contract_registry.d.ts.map +1 -0
  199. package/dist/engine/input_material_contract_registry.js +563 -0
  200. package/dist/engine/input_material_contract_registry.js.map +1 -0
  201. package/dist/engine/intent_expander.d.ts +8 -27
  202. package/dist/engine/intent_expander.d.ts.map +1 -1
  203. package/dist/engine/intent_expander.js +1170 -139
  204. package/dist/engine/intent_expander.js.map +1 -1
  205. package/dist/engine/intent_router.d.ts +82 -0
  206. package/dist/engine/intent_router.d.ts.map +1 -0
  207. package/dist/engine/intent_router.js +458 -0
  208. package/dist/engine/intent_router.js.map +1 -0
  209. package/dist/engine/io_controller.d.ts.map +1 -1
  210. package/dist/engine/io_controller.js +25 -13
  211. package/dist/engine/io_controller.js.map +1 -1
  212. package/dist/engine/java_quality_guard.d.ts.map +1 -1
  213. package/dist/engine/java_quality_guard.js +8 -4
  214. package/dist/engine/java_quality_guard.js.map +1 -1
  215. package/dist/engine/job_manager.d.ts +35 -0
  216. package/dist/engine/job_manager.d.ts.map +1 -1
  217. package/dist/engine/job_manager.js +53 -9
  218. package/dist/engine/job_manager.js.map +1 -1
  219. package/dist/engine/knowledge_config_loader.d.ts +12 -1
  220. package/dist/engine/knowledge_config_loader.d.ts.map +1 -1
  221. package/dist/engine/knowledge_config_loader.js +50 -10
  222. package/dist/engine/knowledge_config_loader.js.map +1 -1
  223. package/dist/engine/knowledge_injection_boundary.d.ts +56 -0
  224. package/dist/engine/knowledge_injection_boundary.d.ts.map +1 -0
  225. package/dist/engine/knowledge_injection_boundary.js +561 -0
  226. package/dist/engine/knowledge_injection_boundary.js.map +1 -0
  227. package/dist/engine/knowledge_manager.d.ts +73 -0
  228. package/dist/engine/knowledge_manager.d.ts.map +1 -1
  229. package/dist/engine/knowledge_manager.js +163 -21
  230. package/dist/engine/knowledge_manager.js.map +1 -1
  231. package/dist/engine/knowledge_sovereignty.d.ts +1 -0
  232. package/dist/engine/knowledge_sovereignty.d.ts.map +1 -1
  233. package/dist/engine/knowledge_sovereignty.js +8 -3
  234. package/dist/engine/knowledge_sovereignty.js.map +1 -1
  235. package/dist/engine/llm_gateway.d.ts +74 -3
  236. package/dist/engine/llm_gateway.d.ts.map +1 -1
  237. package/dist/engine/llm_gateway.js +75 -4
  238. package/dist/engine/llm_gateway.js.map +1 -1
  239. package/dist/engine/main_path_integration_contract.d.ts +383 -0
  240. package/dist/engine/main_path_integration_contract.d.ts.map +1 -0
  241. package/dist/engine/main_path_integration_contract.js +1581 -0
  242. package/dist/engine/main_path_integration_contract.js.map +1 -0
  243. package/dist/engine/mechanism_contract_registry.d.ts +59 -0
  244. package/dist/engine/mechanism_contract_registry.d.ts.map +1 -0
  245. package/dist/engine/mechanism_contract_registry.js +484 -0
  246. package/dist/engine/mechanism_contract_registry.js.map +1 -0
  247. package/dist/engine/migration_guard.d.ts.map +1 -1
  248. package/dist/engine/migration_guard.js +24 -15
  249. package/dist/engine/migration_guard.js.map +1 -1
  250. package/dist/engine/mutation_audit.d.ts +10 -0
  251. package/dist/engine/mutation_audit.d.ts.map +1 -1
  252. package/dist/engine/mutation_audit.js +19 -2
  253. package/dist/engine/mutation_audit.js.map +1 -1
  254. package/dist/engine/observability.d.ts.map +1 -1
  255. package/dist/engine/observability.js +17 -6
  256. package/dist/engine/observability.js.map +1 -1
  257. package/dist/engine/onboarding.d.ts.map +1 -1
  258. package/dist/engine/onboarding.js +20 -4
  259. package/dist/engine/onboarding.js.map +1 -1
  260. package/dist/engine/policy_drift_detector.d.ts +6 -0
  261. package/dist/engine/policy_drift_detector.d.ts.map +1 -1
  262. package/dist/engine/policy_drift_detector.js +16 -0
  263. package/dist/engine/policy_drift_detector.js.map +1 -1
  264. package/dist/engine/privacy_secret_contract.d.ts +320 -0
  265. package/dist/engine/privacy_secret_contract.d.ts.map +1 -0
  266. package/dist/engine/privacy_secret_contract.js +874 -0
  267. package/dist/engine/privacy_secret_contract.js.map +1 -0
  268. package/dist/engine/regression_matrix.d.ts +21 -8
  269. package/dist/engine/regression_matrix.d.ts.map +1 -1
  270. package/dist/engine/regression_matrix.js +37 -8
  271. package/dist/engine/regression_matrix.js.map +1 -1
  272. package/dist/engine/risk_sampler.d.ts +6 -0
  273. package/dist/engine/risk_sampler.d.ts.map +1 -1
  274. package/dist/engine/risk_sampler.js +9 -0
  275. package/dist/engine/risk_sampler.js.map +1 -1
  276. package/dist/engine/runtime_safety.d.ts.map +1 -1
  277. package/dist/engine/runtime_safety.js +7 -3
  278. package/dist/engine/runtime_safety.js.map +1 -1
  279. package/dist/engine/scaffolder.d.ts.map +1 -1
  280. package/dist/engine/scaffolder.js +7 -1
  281. package/dist/engine/scaffolder.js.map +1 -1
  282. package/dist/engine/scope_controller.d.ts.map +1 -1
  283. package/dist/engine/scope_controller.js +12 -1
  284. package/dist/engine/scope_controller.js.map +1 -1
  285. package/dist/engine/scope_lease.d.ts +43 -0
  286. package/dist/engine/scope_lease.d.ts.map +1 -1
  287. package/dist/engine/scope_lease.js +44 -0
  288. package/dist/engine/scope_lease.js.map +1 -1
  289. package/dist/engine/semantic_evidence.d.ts +6 -0
  290. package/dist/engine/semantic_evidence.d.ts.map +1 -1
  291. package/dist/engine/semantic_evidence.js +9 -0
  292. package/dist/engine/semantic_evidence.js.map +1 -1
  293. package/dist/engine/task_context.d.ts +36 -1
  294. package/dist/engine/task_context.d.ts.map +1 -1
  295. package/dist/engine/task_context.js +252 -13
  296. package/dist/engine/task_context.js.map +1 -1
  297. package/dist/engine/task_planner.d.ts.map +1 -1
  298. package/dist/engine/task_planner.js +13 -3
  299. package/dist/engine/task_planner.js.map +1 -1
  300. package/dist/engine/team_awareness.d.ts.map +1 -1
  301. package/dist/engine/team_awareness.js +8 -7
  302. package/dist/engine/team_awareness.js.map +1 -1
  303. package/dist/engine/template_mechanism_auditor.d.ts +93 -0
  304. package/dist/engine/template_mechanism_auditor.d.ts.map +1 -0
  305. package/dist/engine/template_mechanism_auditor.js +622 -0
  306. package/dist/engine/template_mechanism_auditor.js.map +1 -0
  307. package/dist/engine/test_generator.d.ts.map +1 -1
  308. package/dist/engine/test_generator.js +6 -0
  309. package/dist/engine/test_generator.js.map +1 -1
  310. package/dist/engine/test_quality.d.ts +6 -0
  311. package/dist/engine/test_quality.d.ts.map +1 -1
  312. package/dist/engine/test_quality.js +26 -10
  313. package/dist/engine/test_quality.js.map +1 -1
  314. package/dist/engine/tool_invocation_contract_registry.d.ts +136 -0
  315. package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -0
  316. package/dist/engine/tool_invocation_contract_registry.js +731 -0
  317. package/dist/engine/tool_invocation_contract_registry.js.map +1 -0
  318. package/dist/engine/traceability.d.ts +3 -0
  319. package/dist/engine/traceability.d.ts.map +1 -1
  320. package/dist/engine/traceability.js +12 -4
  321. package/dist/engine/traceability.js.map +1 -1
  322. package/dist/engine/user_feedback_contract.d.ts +162 -0
  323. package/dist/engine/user_feedback_contract.d.ts.map +1 -0
  324. package/dist/engine/user_feedback_contract.js +356 -0
  325. package/dist/engine/user_feedback_contract.js.map +1 -0
  326. package/dist/engine/verifier.d.ts +6 -1
  327. package/dist/engine/verifier.d.ts.map +1 -1
  328. package/dist/engine/verifier.js +114 -1
  329. package/dist/engine/verifier.js.map +1 -1
  330. package/dist/engine/workflow_contract_registry.d.ts +70 -0
  331. package/dist/engine/workflow_contract_registry.d.ts.map +1 -0
  332. package/dist/engine/workflow_contract_registry.js +501 -0
  333. package/dist/engine/workflow_contract_registry.js.map +1 -0
  334. package/dist/engine/workspace_resumer.d.ts.map +1 -1
  335. package/dist/engine/workspace_resumer.js +8 -0
  336. package/dist/engine/workspace_resumer.js.map +1 -1
  337. package/dist/engine/zero_config_init.d.ts +67 -2
  338. package/dist/engine/zero_config_init.d.ts.map +1 -1
  339. package/dist/engine/zero_config_init.js +410 -28
  340. package/dist/engine/zero_config_init.js.map +1 -1
  341. package/dist/git/operations.d.ts +101 -0
  342. package/dist/git/operations.d.ts.map +1 -1
  343. package/dist/git/operations.js +125 -9
  344. package/dist/git/operations.js.map +1 -1
  345. package/dist/index.d.ts +1 -1
  346. package/dist/index.js +16 -5
  347. package/dist/index.js.map +1 -1
  348. package/dist/knowledge/conflict_detector.d.ts +6 -0
  349. package/dist/knowledge/conflict_detector.d.ts.map +1 -1
  350. package/dist/knowledge/conflict_detector.js +7 -0
  351. package/dist/knowledge/conflict_detector.js.map +1 -1
  352. package/dist/knowledge/health_checker.d.ts +16 -0
  353. package/dist/knowledge/health_checker.d.ts.map +1 -1
  354. package/dist/knowledge/health_checker.js +24 -1
  355. package/dist/knowledge/health_checker.js.map +1 -1
  356. package/dist/knowledge/index_manager.d.ts +140 -2
  357. package/dist/knowledge/index_manager.d.ts.map +1 -1
  358. package/dist/knowledge/index_manager.js +186 -26
  359. package/dist/knowledge/index_manager.js.map +1 -1
  360. package/dist/knowledge/loader.d.ts +8 -1
  361. package/dist/knowledge/loader.d.ts.map +1 -1
  362. package/dist/knowledge/loader.js +56 -2
  363. package/dist/knowledge/loader.js.map +1 -1
  364. package/dist/knowledge/writer.d.ts +49 -1
  365. package/dist/knowledge/writer.d.ts.map +1 -1
  366. package/dist/knowledge/writer.js +55 -1
  367. package/dist/knowledge/writer.js.map +1 -1
  368. package/dist/types.d.ts +255 -1
  369. package/dist/types.d.ts.map +1 -1
  370. package/dist/utils/logger.d.ts +3 -0
  371. package/dist/utils/logger.d.ts.map +1 -0
  372. package/dist/utils/logger.js +29 -0
  373. package/dist/utils/logger.js.map +1 -0
  374. package/package.json +7 -7
  375. package/templates/knowledge/checklists//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +16 -0
  376. package/templates/knowledge/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +17 -0
  377. package/templates/knowledge/checklists//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/351/252/214/346/224/266/346/270/205/345/215/225.md +43 -0
  378. package/templates/knowledge/checklists//347/237/245/350/257/206/346/263/250/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +17 -0
  379. package/templates/knowledge/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +15 -0
  380. package/templates/knowledge/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +16 -0
  381. package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +1 -0
  382. package/templates/knowledge/procedures//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201/346/265/201/347/250/213.md +23 -0
  383. package/templates/knowledge/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +19 -0
  384. package/templates/knowledge/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +15 -0
  385. package/templates/knowledge/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +15 -0
  386. package/templates/knowledge/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +1 -1
  387. package/templates/knowledge/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +53 -0
  388. package/templates/knowledge/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +21 -0
  389. package/templates/knowledge/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +25 -0
  390. package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +20 -0
  391. package/templates/knowledge/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +25 -0
  392. package/templates/knowledge/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +26 -0
  393. package/templates/knowledge/rules//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260/350/247/204/345/210/231.md +24 -0
  394. package/templates/knowledge/rules//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206/350/247/204/345/210/231.md +20 -0
  395. package/templates/knowledge/rules//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +125 -0
  396. package/templates/knowledge/rules//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275/350/247/204/345/210/231.md +26 -0
  397. package/templates/knowledge/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +22 -0
  398. package/templates/knowledge/rules//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214/350/247/204/345/210/231.md +25 -0
  399. package/templates/knowledge/rules//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246/350/247/204/345/210/231.md +27 -0
  400. package/templates/knowledge/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +22 -0
  401. package/templates/knowledge/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +24 -0
  402. package/templates/knowledge/rules//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226/350/247/204/345/210/231.md +28 -0
  403. package/templates/knowledge/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +25 -0
  404. package/templates/knowledge/templates/{review_summary.md → /345/256/241/346/237/245/346/221/230/350/246/201.md} +1 -1
  405. package/templates/config.yaml +0 -53
@@ -0,0 +1,16 @@
1
+ # 验证验收清单
2
+
3
+ ## 必检项
4
+
5
+ - [ ] VerifyResult 已生成并保存到 task_context
6
+ - [ ] evidence 包含至少 E1 级别证据
7
+ - [ ] build_passed 和 tests_passed 字段已填充
8
+ - [ ] coverage 数据已收集
9
+ - [ ] 验证策略匹配 execution_shape
10
+ - [ ] 验证失败时触发 repair_reverify
11
+
12
+ ## 禁止项
13
+
14
+ - [ ] 验证结果未保存就标记 done
15
+ - [ ] single_artifact 使用完整 build+test
16
+ - [ ] 无 evidence 的通过结果
@@ -22,6 +22,7 @@ usage_count: 0
22
22
  - 控制流操作(classify/scope_resolve/drift_detect 等)走本地,不消耗 Token
23
23
  - 决策流操作(intent_refinement/solution_brainstorm/code_generation 等)走 Gateway,消耗 Token
24
24
  - AI 操作分级: light(<2000)/ medium(2000-3000)/ heavy(>3000)
25
+ - 信心门限 Confidence_Threshold = 0.95,低于此值走 sf_brainstorm 补充
25
26
 
26
27
  ## 验收项
27
28
 
@@ -0,0 +1,23 @@
1
+ # 主链路接入验证流程
2
+
3
+ ## 步骤
4
+
5
+ 1. 识别新增模块 (changed_files 中 src/ 下的文件)
6
+ 2. 扫描谁导入了该模块 (scanModuleImporters)
7
+ 3. 从入口点追踪可达性 (traceModuleReachability)
8
+ 4. 收集可观测证据 (collectModuleObservability)
9
+ 5. 查找集成测试 (findIntegrationTests)
10
+ 6. 判断接入状态 (integrated / implemented_not_integrated / ...)
11
+ 7. 运行 orphanGate 和 validateMainPathIntegration
12
+
13
+ ## 接入标准
14
+
15
+ - **integrated**: 有生产调用 + 有入口链路
16
+ - **implemented_not_integrated**: 无生产调用或无入口链路
17
+ - **experimental_isolated**: 明确标注为实验性
18
+
19
+ ## 注意事项
20
+
21
+ - barrel export 不算生产调用
22
+ - registry 声明不算接入
23
+ - type reference 不算接入
@@ -0,0 +1,19 @@
1
+ # 命令执行流程
2
+
3
+ ## 步骤
4
+
5
+ 1. 接收命令 (command string)
6
+ 2. 调用 classifyCommand 分级
7
+ 3. 检查分级结果:
8
+ - destructive → 需人工确认
9
+ - mutating → 可执行,记录证据
10
+ - read_only → 自由执行
11
+ 4. 执行命令
12
+ 5. 收集执行结果和证据
13
+ 6. 记录到 task_context
14
+
15
+ ## 注意事项
16
+
17
+ - 命令分级基于模式匹配,不是白名单
18
+ - 未知命令默认为 mutating
19
+ - 命令参数中的敏感信息需脱敏
@@ -0,0 +1,15 @@
1
+ # 工具调用流程
2
+
3
+ ## 步骤
4
+
5
+ 1. 接收工具调用请求 (tool_name, arguments)
6
+ 2. 在 Tool Invocation Contract Registry 中查找工具契约
7
+ 3. 检查当前调用链是否违反 forbidden_next_tools
8
+ 4. 检查 strict_controlled 工具的前置审批
9
+ 5. 执行工具调用
10
+ 6. 记录 tool_trace
11
+
12
+ ## 注意事项
13
+
14
+ - 只读工具可自由调用,不受转换约束
15
+ - 工具调用失败时记录到 task_context
@@ -0,0 +1,15 @@
1
+ # 意图路由流程
2
+
3
+ ## 步骤
4
+
5
+ 1. 接收用户意图 (intent)
6
+ 2. 调用 routeIntent(intent) 获取 route_decision
7
+ 3. 检查 route_decision.route 是否为有效路由
8
+ 4. 检查 route_decision.execution_shape 是否匹配路由
9
+ 5. 将 route_decision 传递给 classifier 和 intent_expander
10
+ 6. 如果 degraded=true,记录降级日志
11
+
12
+ ## 注意事项
13
+
14
+ - classifier 只提供兼容字段,不能修改 route_decision
15
+ - intent_expander 必须基于 route_decision 生成 prompt
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: source-prototype-to-delivery
3
3
  type: pipeline_procedure
4
- when: "用户提供需求文档、原型源码zip、React/Vite原型"
4
+ when: "用户提供需求文档、原型源码"
5
5
  scope: [backend, frontend]
6
6
  products: ["*"]
7
7
  ---
@@ -0,0 +1,53 @@
1
+ # 编码前澄清流程
2
+
3
+ ## 适用场景
4
+
5
+ - code_execution / multi_stage_plan / single_artifact 路由
6
+ - 写入 scope 涉及业务源码
7
+ - 存在外部副作用
8
+
9
+ ## 流程
10
+
11
+ ### 1. 输入完整性检查
12
+
13
+ 执行前必须确认以下输入:
14
+ - 用户目标是否明确(非模糊描述)
15
+ - 写入 scope 是否确定
16
+ - 是否涉及外部副作用(命令执行、网络请求、文件系统写入)
17
+ - 是否涉及破坏性操作
18
+
19
+ ### 2. 不确定性分级
20
+
21
+ 对每个不确定项分级:
22
+ - **blocking**: 不问不能继续 → 必须向用户提问
23
+ - **material**: 可先推进但需记录假设 → 记录为 AssumptionRecord
24
+ - **minor**: 可合理默认 → 在结果中说明
25
+ - **non_blocking**: 不打断执行
26
+
27
+ ### 3. 澄清问题最小化
28
+
29
+ - 只问阻塞项,不把非阻塞细节抛给用户
30
+ - 每个问题必须有明确的 blocking 理由
31
+ - 不能把 blocking 不确定伪装成 assumption
32
+
33
+ ### 4. 假设记录
34
+
35
+ - material 级不确定必须记录为 AssumptionRecord
36
+ - 记录内容: 假设内容、分级、依据、是否需要人工确认
37
+ - blocking 级假设必须标记 needs_manual_confirm=true
38
+
39
+ ### 5. 输入完备报告
40
+
41
+ 完成澄清后生成 InputCompletenessReport:
42
+ - 已明确的输入项
43
+ - 已记录的假设
44
+ - 剩余不确定项及其分级
45
+ - 是否可以开始执行
46
+
47
+ ## 硬阻断
48
+
49
+ 以下情况必须阻断,不得继续:
50
+ - 缺少必要输入
51
+ - 写入 scope 不明确
52
+ - 外部副作用未获授权
53
+ - 存在未解决的 blocking 级不确定
@@ -0,0 +1,21 @@
1
+ # 产物契约规则
2
+
3
+ ## 核心约束
4
+
5
+ 1. 产物必须通过 `artifact_contract_registry` 注册,包含 kind、format、path、overwrite_policy。
6
+ 2. 产物生命周期:draft → verified → accepted。跳过阶段必须显式声明 `skip_verification`。
7
+ 3. `overwrite_policy` 仅允许 `fail_if_exists` 或 `versioned`。禁止 `force_overwrite`。
8
+ 4. 产物路径必须在 `declared_scope` 内。scope 外产物触发 hard_fail。
9
+ 5. 所有产物变更必须通过 `sf_verify` 验证后才能推进状态。
10
+
11
+ ## 适用场景
12
+
13
+ - 单产物生成 (`single_artifact`)
14
+ - 多阶段计划产物交付 (`multi_stage_plan`)
15
+ - 代码执行产物 (`code_execution`)
16
+
17
+ ## 违规处理
18
+
19
+ - 未注册产物 → hard_fail,阻断交付
20
+ - scope 外产物 → hard_fail,阻断写入
21
+ - 跳过验证且无声明 → advisory,标记降级
@@ -0,0 +1,25 @@
1
+ # 命令执行规则
2
+
3
+ ## 核心原则
4
+
5
+ 命令执行必须按副作用分级: destructive 命令需人工确认,read-only 命令可自动执行。
6
+
7
+ ## 命令分级
8
+
9
+ 1. **destructive**: 不可逆操作 (drop table, force push),需人工确认
10
+ 2. **mutating**: 可逆修改 (build, test),可自动执行但需记录
11
+ 3. **read_only**: 只读操作 (ls, cat),可自由执行
12
+
13
+ ## 规则
14
+
15
+ 1. 每个命令必须通过 classifyCommand 分级
16
+ 2. destructive 命令不可自动执行
17
+ 3. 所有命令执行结果必须记录证据
18
+ 4. 命令执行链必须可追踪
19
+
20
+ ## 验收标准
21
+
22
+ - [ ] classifyCommand 覆盖所有已知命令模式
23
+ - [ ] destructive 命令被正确分级和阻断
24
+ - [ ] CommandExecutionResult 包含完整证据
25
+ - [ ] 命令执行链记录在 task_context 中
@@ -0,0 +1,20 @@
1
+ # 工作流契约规则
2
+
3
+ ## 核心原则
4
+
5
+ 每个工作流必须声明所需机制、知识注入要求和权限边界。工作流契约确保编排路径可验证。
6
+
7
+ ## 规则
8
+
9
+ 1. **机制声明**: 每个工作流必须声明 required_mechanisms
10
+ 2. **知识注入**: 每个工作流必须引用 mc-knowledge-injection-boundary
11
+ 3. **权限一致性**: read-only 工作流不可产生 mutation
12
+ 4. **入口回归**: 每个路由必须有对应的工作流
13
+ 5. **范围回归**: 工作流 scope 必须覆盖所有产出文件
14
+
15
+ ## 验收标准
16
+
17
+ - [ ] 每个工作流有 required_mechanisms 列表
18
+ - [ ] 知识注入机制被所有工作流引用
19
+ - [ ] read-only 工作流无 mutation 产出
20
+ - [ ] validateWorkflowContracts() 返回 0 hard_fail
@@ -0,0 +1,25 @@
1
+ # 工具调用规则
2
+
3
+ ## 核心原则
4
+
5
+ MCP 工具调用必须遵守契约约束: 工具链顺序、权限等级、禁止转换。
6
+
7
+ ## 工具分类
8
+
9
+ 1. **strict_controlled**: 严格管控工具,需要前置审批
10
+ 2. **read_only_bypass**: 只读工具,可自由调用
11
+ 3. **normal_controlled**: 常规管控工具,需遵守转换规则
12
+
13
+ ## 规则
14
+
15
+ 1. 每个工具必须声明 default_next_tools 和 forbidden_next_tools
16
+ 2. forbidden_next_tools 中的转换必须被阻断
17
+ 3. strict_controlled 工具不可跳过审批流程
18
+ 4. 工具调用链必须可追踪 (tool_trace)
19
+
20
+ ## 验收标准
21
+
22
+ - [ ] 所有 MCP 工具在 Tool Invocation Contract Registry 中已注册
23
+ - [ ] forbidden_next_tools 转换被正确阻断
24
+ - [ ] validateToolInvocation() 返回 0 hard_fail
25
+ - [ ] tool_trace 包含完整调用链
@@ -0,0 +1,26 @@
1
+ # 意图路由规则
2
+
3
+ ## 核心原则
4
+
5
+ 意图路由是 SoloForge 的入口裁决机制。所有用户意图必须先经过 intent_router 裁决,再进入后续流程。
6
+
7
+ ## 规则
8
+
9
+ 1. **入口唯一性**: routeIntent 是入口裁决的唯一来源,classifier 不可重新夺回入口裁决权
10
+ 2. **路由完整性**: 每个用户意图必须产出一个有效的 route_decision,包含 route、execution_shape、mutation_allowed
11
+ 3. **降级处理**: 路由失败时默认降级为 code_change,写入 `route_decision.degraded=true`
12
+ 4. **只读保护**: source_extraction 路由必须为 read-only,不允许 mutation
13
+ 5. **产物区分**: direct_answer 与 artifact_generation 必须严格区分
14
+
15
+ ## 失败模式
16
+
17
+ - artifact_generation 被 skip → 应路由到 code_change 或 artifact_generation
18
+ - source_extraction 允许 mutation → 应为 read-only
19
+ - direct_answer 与产物语义混淆 → 应区分回答与生成
20
+
21
+ ## 验收标准
22
+
23
+ - [ ] 所有 IntentRoute 类型都有对应的路由分支
24
+ - [ ] route_decision 包含完整字段
25
+ - [ ] degraded 路由标记为 degraded=true
26
+ - [ ] read-only 路由不包含 mutation 指令
@@ -0,0 +1,24 @@
1
+ # 执行守卫评估规则
2
+
3
+ ## 核心原则
4
+
5
+ 执行守卫评估是 SoloForge 验证阶段的关键机制。它在 sf_verify 时评估各契约守卫的执行状态,确保验证计划覆盖所有必要的检查。
6
+
7
+ ## 规则
8
+
9
+ 1. **守卫覆盖**: 验证计划必须覆盖所有相关契约的守卫(隐私、命令、scope、artifact)
10
+ 2. **评估集成**: 守卫评估集成在各契约的验证逻辑内,不独立执行
11
+ 3. **结果传导**: 守卫评估失败必须传导到 VerificationResult,影响最终状态判定
12
+ 4. **降级安全**: 守卫评估不可用时,验证应降级为 advisory 而非跳过
13
+
14
+ ## 失败模式
15
+
16
+ - 验证计划缺少隐私守卫 → 应在 generateVerifyCommands 中补充
17
+ - 守卫评估结果被忽略 → 应传导到 sf_learn 状态判定
18
+ - 守卫降级未通知用户 → 应通过 user_feedback 通知
19
+
20
+ ## 验收标准
21
+
22
+ - [ ] generateVerifyCommands 包含隐私和命令守卫评估
23
+ - [ ] 守卫评估失败时 core_principles.overall_passed 为 false
24
+ - [ ] sf_learn 正确处理守卫评估失败的状态转移
@@ -0,0 +1,20 @@
1
+ # 敏感信息处理规则
2
+
3
+ ## 核心原则
4
+
5
+ 敏感信息 (密钥、token、PII) 不可泄露到外部材料、prompt 或日志中。
6
+
7
+ ## 规则
8
+
9
+ 1. .env 文件中的值不可作为知识注入 prompt
10
+ 2. token/secret 必须在写入前被 detectSecrets 扫描
11
+ 3. severity=blocked 的发现必须阻断写入
12
+ 4. 外部材料摄取必须经过脱敏处理
13
+ 5. DataAccessGrant 必须明确声明数据访问权限
14
+
15
+ ## 验收标准
16
+
17
+ - [ ] detectSecrets 扫描所有写入内容
18
+ - [ ] severity=blocked 的发现阻断写入流程
19
+ - [ ] RedactionRecord 记录所有脱敏操作
20
+ - [ ] DataAccessGrant 覆盖所有数据访问
@@ -0,0 +1,125 @@
1
+ # 核心工程执行原则
2
+
3
+ > 适用: 所有 code_execution / multi_stage_plan / single_artifact 路由。
4
+
5
+ ## 四条原则
6
+
7
+ ### 原则一: Think Before Coding — 编码前先思考
8
+
9
+ 编码前先明确问题、目标、输入、约束和不确定性。不假设、不隐藏困惑、不把模糊需求直接转成代码。
10
+
11
+ **必须做到:**
12
+ - 暴露阻塞性困惑,不假装理解
13
+ - 区分可推断事实、假设、需要用户确认的问题
14
+ - 只问最小阻塞问题,不把非阻塞细节抛给用户
15
+ - 把 material 级不确定记录为 assumption,不得假装确定
16
+
17
+ **硬失败条件:**
18
+ - 缺少必要输入却开始写代码
19
+ - 写入 scope 不明确却修改文件
20
+ - 外部副作用权限不明确却执行命令
21
+ - 把未知事实写成确定结论
22
+ - 隐藏需要用户确认的业务口径
23
+
24
+ **不确定性分级:**
25
+ - `blocking`: 不问不能继续(写入路径、业务口径、外部副作用授权、破坏性操作)
26
+ - `material`: 可先推进,但必须记录假设和风险(UI 文案偏好、非关键默认配置)
27
+ - `minor`: 可合理默认,但在结果里说明(文件命名细节、无风险排序偏好)
28
+ - `non_blocking`: 不打断用户,不影响当前执行
29
+
30
+ ### 原则二: Simplicity First — 简单优先
31
+
32
+ 优先用最少代码、最少抽象、最少新增文件解决已确认目标。不为了未来可能性提前设计复杂结构。
33
+
34
+ **必须做到:**
35
+ - 最少代码解决问题
36
+ - 引入新抽象、新依赖、新模块时说明必要性
37
+ - 不为简单 CRUD 强行套复杂领域模型
38
+
39
+ **硬失败条件:**
40
+ - 为局部问题引入无必要新依赖
41
+ - 为简单修复新增大范围架构层
42
+ - 没有用户目标支撑却扩展公共 API/配置/registry
43
+ - 使用复杂方案绕过已有简单本地模式
44
+
45
+ **不是"少做":**
46
+ - 不写测试不叫简单
47
+ - 不接主链路不叫简单
48
+ - 不处理边界不叫简单
49
+ - 不做必要错误处理不叫简单
50
+ - 不建必要抽象不叫简单
51
+
52
+ **minimum_sufficient_solution 必须满足:**
53
+ - 满足用户目标
54
+ - 接入真实路径
55
+ - 覆盖关键失败路径
56
+ - 有验证证据
57
+ - 没有不必要抽象/依赖/公共 API 扩张
58
+
59
+ ### 原则三: Surgical Changes — 精准修改
60
+
61
+ 只改必须改的内容,不顺便重构、不无关格式化、不扩大 scope、不污染用户已有改动。
62
+
63
+ **必须做到:**
64
+ - 只改必要文件、必要行、必要行为
65
+ - 遇到用户已有修改时必须保护,不得回滚
66
+
67
+ **硬失败条件:**
68
+ - 修改 scope 外文件
69
+ - 修改与目标无关的文件或行为
70
+ - 未经确认回滚用户已有改动
71
+ - 大范围格式化掩盖真实变更
72
+ - 为了让测试过而删除断言、降低覆盖率、增加无关 mock
73
+
74
+ **允许的必要联动修改:**
75
+ - 主链路接入必须修改入口文件
76
+ - 类型变化必须修改调用方
77
+ - schema 变化必须修改 model/query/API
78
+ - 验证失败需要修改测试或 fixture
79
+ - contract 状态变化必须修改 registry、diagnostic、verification 和相关测试
80
+
81
+ ### 原则四: Goal-Driven Execution — 目标驱动执行
82
+
83
+ 先定义可验证目标,再执行;执行后必须验证;验证失败要修复并重新验证,直到通过或明确阻塞。
84
+
85
+ **必须做到:**
86
+ - 明确目标和验收标准
87
+ - 禁止"功能正常""应该可以""看起来没问题"等模糊成功标准
88
+ - 输出未验证项和人工确认项
89
+
90
+ **硬失败条件:**
91
+ - 没有可验证目标就开始实现
92
+ - 没有 VerificationPlan 就标记完成
93
+ - 未执行验证却输出"全部通过"
94
+ - 验证失败仍进入 completed / delivery_ready
95
+ - 隐藏未验证项
96
+
97
+ ## 原则冲突优先级
98
+
99
+ ```
100
+ 安全/权限/隐私 > Goal-Driven Execution > Think Before Coding > Surgical Changes > Simplicity First
101
+ ```
102
+
103
+ 裁决规则:
104
+ - 不能为了简单而牺牲验证
105
+ - 不能为了少改而不接入主链路
106
+ - 不能为了快而隐藏阻塞性不确定性
107
+ - 必要验证、必要入口接入、必要错误处理优先于"少写代码"
108
+
109
+ ## 反规避规则
110
+
111
+ 四原则必须由证据证明,不接受 AI 自述。
112
+
113
+ 伪满足示例:
114
+ - 写一句"已思考清楚",但没有输入、假设、目标证据
115
+ - 说"保持简单",但实际新增大抽象
116
+ - 说"只改必要文件",但 diff 里有无关变更
117
+ - 说"验证通过",但没有真实 evidence
118
+ - 把未执行验证写成"建议验证"后仍标记完成
119
+ - 把用户没确认的业务口径写成事实
120
+
121
+ 硬规则:
122
+ - 自述不能代替 ClarificationNeed / AssumptionRecord / GoalDefinition / VerificationEvidence
123
+ - required 原则失败不能进入 completed
124
+ - 验证失败必须进入 repair_reverify 或 manual_required
125
+ - 不能用 advisory 结果覆盖 required 失败
@@ -0,0 +1,26 @@
1
+ # 注册表基础设施规则
2
+
3
+ ## 核心原则
4
+
5
+ 注册表是 SoloForge 契约体系的基础设施层。所有机制必须通过注册表发现、验证和追踪其契约和资产。
6
+
7
+ ## 规则
8
+
9
+ 1. **注册完整性**: 每个机制必须在 MechanismContractRegistry 注册,包含 id、status、priority
10
+ 2. **资产可发现**: 所有可消费模板资产必须在 ConsumableAssetRegistry 注册,包含 path、consumption_mode、owner_mechanism_id
11
+ 3. **生命周期测试**: 每个注册表条目必须有对应的生命周期测试,验证注册/查询/状态变更
12
+ 4. **跨注册表一致性**: owner_mechanism_id 必须在 DualLayerMechanismRegistry 中存在对应条目
13
+ 5. **注册表健康检查**: validate-mechanisms 和 audit-template-mechanisms 必须能检测注册表不一致
14
+
15
+ ## 失败模式
16
+
17
+ - 注册表条目无对应测试 → 应补充 lifecycle test
18
+ - owner_mechanism_id 指向不存在的机制 → 应修复引用
19
+ - 模板文件存在但未注册 → 应在 ConsumableAssetRegistry 登记
20
+
21
+ ## 验收标准
22
+
23
+ - [ ] 所有机制契约在 registry 中可查询
24
+ - [ ] 所有模板资产有 owner_mechanism_id
25
+ - [ ] 注册表查询函数返回非空结果
26
+ - [ ] validate-mechanisms 不报告注册表缺失
@@ -0,0 +1,22 @@
1
+ # 用户反馈契约规则
2
+
3
+ ## 核心约束
4
+
5
+ 1. 每个工具只能输出其 `getAllowedFeedbackKinds` 允许的反馈类型。
6
+ 2. 反馈消息必须包含:kind、severity、title、summary。禁止空洞反馈。
7
+ 3. 技术内容(路径、命令、错误码)禁止翻译,必须保留原文。
8
+ 4. `blocked` 类型反馈必须包含阻塞原因和建议下一步。
9
+ 5. `failure` 类型反馈必须包含失败证据和 retry_hint。
10
+
11
+ ## 适用场景
12
+
13
+ - 所有 SoloForge 工具的输出反馈
14
+ - sf_verify 结果反馈
15
+ - sf_learn 学习反馈
16
+ - sf_expand 降级/澄清反馈
17
+
18
+ ## 违规处理
19
+
20
+ - 禁止的反馈类型 → hard_fail,阻断输出
21
+ - 空洞反馈 → advisory,标记质量降级
22
+ - 翻译技术内容 → advisory,标记违规
@@ -0,0 +1,25 @@
1
+ # 知识注入边界规则
2
+
3
+ ## 核心原则
4
+
5
+ 知识注入必须经过三道门过滤: 状态门、路由门、预算门。未经审核的知识不可进入 prompt。
6
+
7
+ ## 三道门
8
+
9
+ 1. **状态门**: draft/quarantine/deprecated 知识被过滤,不进入 prompt
10
+ 2. **路由门**: 知识类型必须匹配当前路由,防止错误注入
11
+ 3. **预算门**: budget 不足时优先保留 required,supporting 可被裁剪
12
+
13
+ ## 规则
14
+
15
+ 1. consumption_mode=required 资产缺失时必须报错,不可静默降级
16
+ 2. pending_review 知识只能进入 advisory_only,不可进入 injected
17
+ 3. 所有注入结果必须生成 KnowledgeInjectionReport
18
+ 4. route 不匹配时跳过模板注入,不可强行注入
19
+
20
+ ## 验收标准
21
+
22
+ - [ ] draft/quarantine 知识不出现在 injected 列表中
23
+ - [ ] required 资产缺失时产生 missing_required_knowledge finding
24
+ - [ ] KnowledgeInjectionReport 包含完整字段
25
+ - [ ] budget 不足时 required 优先于 supporting
@@ -0,0 +1,27 @@
1
+ # 输入材料契约规则
2
+
3
+ ## 核心约束
4
+
5
+ 1. **外部材料边界**: 所有外部输入(文件引用、URL、粘贴内容)必须经过 Input Material Contract 校验
6
+ - 每个外部材料必须有明确的来源标记(local_file | url | clipboard | user_provided)
7
+ - 来源标记影响后续的权限和隐私检查
8
+
9
+ 2. **路径安全**: 外部文件引用必须满足
10
+ - 路径必须在项目根目录内(除非显式白名单)
11
+ - 符号链接解析后仍需通过安全检查
12
+ - 不允许读取 .env、credentials、.ssh 等敏感目录
13
+
14
+ 3. **摄取边界**: 材料进入 SoloForge 管道时
15
+ - 必须记录摄取证据(ingestion_evidence)
16
+ - 必须通过隐私门禁(privacy_gate)
17
+ - 拒绝的材料必须给出明确原因
18
+
19
+ 4. **权限传播**: 输入材料的权限标签决定后续操作的 mutation_allowed
20
+ - read-only 材料不得产生 write 操作
21
+ - untrusted 材料标记为 advisory,不阻断但记录
22
+
23
+ ## 验证要点
24
+
25
+ - 所有 input_materials 有 source_type 标记
26
+ - 外部路径不超出项目根目录
27
+ - 敏感文件被隐私门禁拦截
@@ -0,0 +1,22 @@
1
+ # 配置优先级规则
2
+
3
+ ## 核心约束
4
+
5
+ 1. 配置来源优先级:evidence > user_confirmed > blueprint > auto_inferred > default。
6
+ 2. 高优先级覆盖低优先级,但低优先级可作为 fallback。
7
+ 3. 字段级覆盖:单个字段可独立覆盖,不需要整配置替换。
8
+ 4. 覆盖必须产生 `ConfigEvidenceEntry`,记录来源、时间戳、变更详情。
9
+ 5. stale 配置(源文件已变更但 evidence 未更新)必须产生 warning。
10
+
11
+ ## 适用场景
12
+
13
+ - 项目初始化 (`sf_init`)
14
+ - 配置解析 (`cmdConfigResolve`)
15
+ - 配置确认 (`cmdConfigConfirm`)
16
+ - 运行时配置读取
17
+
18
+ ## 违规处理
19
+
20
+ - 未注册的配置来源 → hard_fail,阻断使用
21
+ - stale 配置未标记 → advisory,标记需要重新确认
22
+ - 覆盖无 evidence → hard_fail,阻断覆盖
@@ -0,0 +1,24 @@
1
+ # 防孤岛实现规则
2
+
3
+ ## 核心原则
4
+
5
+ 新增生产代码不能只证明"文件存在、单测通过",必须证明它已经进入真实主链路。
6
+
7
+ ## 完成定义
8
+
9
+ Done = implemented + wired + reachable + observable + verified
10
+
11
+ ## 规则
12
+
13
+ 1. 新增 src/ 代码只被测试导入 → hard_fail
14
+ 2. enforced 能力无入口链路 → hard_fail
15
+ 3. 只有 registry/index export 引用不得标记为 integrated
16
+ 4. 已接入模块必须有集成测试证明真实入口能触发
17
+ 5. diagnostic_code 必须能由真实路径产出
18
+
19
+ ## 验收标准
20
+
21
+ - [ ] 新增模块有 production_imports
22
+ - [ ] entry_traces 包含完整调用链
23
+ - [ ] integration_tests 覆盖真实入口触发
24
+ - [ ] observability_refs 包含可观测证据
@@ -0,0 +1,28 @@
1
+ # 零配置初始化规则
2
+
3
+ ## 核心约束
4
+
5
+ 1. **运行时推断 vs 确认配置 vs 蓝图**: `soloforge init` 必须区分三种配置来源
6
+ - 运行时推断: 从已有项目结构探测(package.json、tsconfig.json 等)
7
+ - 确认配置: 用户显式提供的 .soloforge/config.yaml
8
+ - 空项目蓝图: 全新项目的默认模板
9
+
10
+ 2. **禁止自动落盘**: 推断结果不得自动写入项目配置文件
11
+ - 必须先展示推断结果,经用户确认后才可落盘
12
+ - `--dry-run` 模式必须可用
13
+
14
+ 3. **探测优先级**: 运行时探测按以下顺序匹配
15
+ - 已有 .soloforge/config.yaml → 使用确认配置
16
+ - 项目根目录 package.json → 推断 Node.js 项目
17
+ - 项目根目录 go.mod → 推断 Go 项目
18
+ - 无匹配 → 使用空项目蓝图
19
+
20
+ 4. **配置字段覆盖**: 运行时推断不得覆盖确认配置
21
+ - 确认配置是事实来源
22
+ - 推断值仅作为建议展示
23
+
24
+ ## 验证要点
25
+
26
+ - `init` 不创建未确认的配置文件
27
+ - 推断结果与实际项目类型一致
28
+ - 空项目使用默认蓝图而非猜测配置