soloforge 1.1.45 → 1.1.46

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 (269) hide show
  1. package/README.md +3 -3
  2. package/dist/context/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
  3. package/dist/context/contracts/lifecycle_knowledge_contract.js +2 -2
  4. package/dist/context/contracts/lifecycle_knowledge_contract.js.map +1 -1
  5. package/dist/core/task_context/manager.d.ts +0 -8
  6. package/dist/core/task_context/manager.d.ts.map +1 -1
  7. package/dist/core/task_context/manager.js +1 -19
  8. package/dist/core/task_context/manager.js.map +1 -1
  9. package/dist/core/task_context/state_fact_classifier.d.ts +0 -8
  10. package/dist/core/task_context/state_fact_classifier.d.ts.map +1 -1
  11. package/dist/core/task_context/state_fact_classifier.js +0 -36
  12. package/dist/core/task_context/state_fact_classifier.js.map +1 -1
  13. package/dist/domain/contracts/design_artifact_pack.d.ts +0 -1
  14. package/dist/domain/contracts/design_artifact_pack.d.ts.map +1 -1
  15. package/dist/domain/contracts/design_artifact_pack.js +1 -4
  16. package/dist/domain/contracts/design_artifact_pack.js.map +1 -1
  17. package/dist/domain/index.d.ts +1 -1
  18. package/dist/domain/index.d.ts.map +1 -1
  19. package/dist/domain/registry.d.ts +2 -2
  20. package/dist/domain/registry.d.ts.map +1 -1
  21. package/dist/domain/types.d.ts +1 -12
  22. package/dist/domain/types.d.ts.map +1 -1
  23. package/dist/domain/types.js +3 -0
  24. package/dist/domain/types.js.map +1 -1
  25. package/dist/gate/contracts/capability_registry.d.ts.map +1 -1
  26. package/dist/gate/contracts/capability_registry.js +0 -26
  27. package/dist/gate/contracts/capability_registry.js.map +1 -1
  28. package/dist/gate/contracts/control_plane_contract.d.ts +1 -1
  29. package/dist/gate/contracts/control_plane_contract.d.ts.map +1 -1
  30. package/dist/gate/contracts/control_plane_contract.js +1 -10
  31. package/dist/gate/contracts/control_plane_contract.js.map +1 -1
  32. package/dist/gate/contracts/tool_invocation_contract_registry.d.ts +1 -0
  33. package/dist/gate/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  34. package/dist/gate/contracts/tool_invocation_contract_registry.js +1 -1
  35. package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
  36. package/dist/gate/index.d.ts +0 -2
  37. package/dist/gate/index.d.ts.map +1 -1
  38. package/dist/gate/index.js +0 -1
  39. package/dist/gate/index.js.map +1 -1
  40. package/dist/server/tools/index.d.ts.map +1 -1
  41. package/dist/server/tools/index.js +1 -3
  42. package/dist/server/tools/index.js.map +1 -1
  43. package/dist/server/tools/lazy_loaders.d.ts +0 -23
  44. package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
  45. package/dist/server/tools/lazy_loaders.js +2 -33
  46. package/dist/server/tools/lazy_loaders.js.map +1 -1
  47. package/dist/server/tools/middleware.d.ts +2 -5
  48. package/dist/server/tools/middleware.d.ts.map +1 -1
  49. package/dist/server/tools/middleware.js +3 -33
  50. package/dist/server/tools/middleware.js.map +1 -1
  51. package/dist/server/tools/sf_task.js +2 -7
  52. package/dist/server/tools/sf_task.js.map +1 -1
  53. package/dist/server/tools/types.d.ts +0 -2
  54. package/dist/server/tools/types.d.ts.map +1 -1
  55. package/dist/types/pipeline_types.d.ts +1 -9
  56. package/dist/types/pipeline_types.d.ts.map +1 -1
  57. package/dist/verify/audit/verifier.d.ts.map +1 -1
  58. package/dist/verify/audit/verifier.js +0 -33
  59. package/dist/verify/audit/verifier.js.map +1 -1
  60. package/dist/verify/index.d.ts +1 -4
  61. package/dist/verify/index.d.ts.map +1 -1
  62. package/dist/verify/index.js +0 -3
  63. package/dist/verify/index.js.map +1 -1
  64. package/dist/verify/types.d.ts +0 -21
  65. package/dist/verify/types.d.ts.map +1 -1
  66. package/package.json +1 -1
  67. package/templates/shared//345/206/263/347/255/226/347/275/221/345/205/263.md +7 -21
  68. package/dist/context/engine/dependency_scanner.d.ts +0 -23
  69. package/dist/context/engine/dependency_scanner.d.ts.map +0 -1
  70. package/dist/context/engine/dependency_scanner.js +0 -309
  71. package/dist/context/engine/dependency_scanner.js.map +0 -1
  72. package/dist/context/engine/exploration.d.ts +0 -194
  73. package/dist/context/engine/exploration.d.ts.map +0 -1
  74. package/dist/context/engine/exploration.js +0 -712
  75. package/dist/context/engine/exploration.js.map +0 -1
  76. package/dist/context/knowledge/knowledge_acceptance_registry.d.ts +0 -42
  77. package/dist/context/knowledge/knowledge_acceptance_registry.d.ts.map +0 -1
  78. package/dist/context/knowledge/knowledge_acceptance_registry.js +0 -249
  79. package/dist/context/knowledge/knowledge_acceptance_registry.js.map +0 -1
  80. package/dist/context/knowledge/knowledge_scenario_registry.d.ts +0 -26
  81. package/dist/context/knowledge/knowledge_scenario_registry.d.ts.map +0 -1
  82. package/dist/context/knowledge/knowledge_scenario_registry.js +0 -267
  83. package/dist/context/knowledge/knowledge_scenario_registry.js.map +0 -1
  84. package/dist/context/knowledge/knowledge_sovereignty.d.ts +0 -65
  85. package/dist/context/knowledge/knowledge_sovereignty.d.ts.map +0 -1
  86. package/dist/context/knowledge/knowledge_sovereignty.js +0 -199
  87. package/dist/context/knowledge/knowledge_sovereignty.js.map +0 -1
  88. package/dist/context/team_awareness.d.ts +0 -42
  89. package/dist/context/team_awareness.d.ts.map +0 -1
  90. package/dist/context/team_awareness.js +0 -154
  91. package/dist/context/team_awareness.js.map +0 -1
  92. package/dist/context/templates/template_asset_visibility.d.ts +0 -116
  93. package/dist/context/templates/template_asset_visibility.d.ts.map +0 -1
  94. package/dist/context/templates/template_asset_visibility.js +0 -310
  95. package/dist/context/templates/template_asset_visibility.js.map +0 -1
  96. package/dist/gate/conflict_gate.d.ts +0 -53
  97. package/dist/gate/conflict_gate.d.ts.map +0 -1
  98. package/dist/gate/conflict_gate.js +0 -96
  99. package/dist/gate/conflict_gate.js.map +0 -1
  100. package/dist/gate/contracts/capability_action_advisor.d.ts +0 -34
  101. package/dist/gate/contracts/capability_action_advisor.d.ts.map +0 -1
  102. package/dist/gate/contracts/capability_action_advisor.js +0 -165
  103. package/dist/gate/contracts/capability_action_advisor.js.map +0 -1
  104. package/dist/gate/contracts/capability_state_store.d.ts +0 -121
  105. package/dist/gate/contracts/capability_state_store.d.ts.map +0 -1
  106. package/dist/gate/contracts/capability_state_store.js +0 -188
  107. package/dist/gate/contracts/capability_state_store.js.map +0 -1
  108. package/dist/gate/contracts/contract_guard.d.ts +0 -50
  109. package/dist/gate/contracts/contract_guard.d.ts.map +0 -1
  110. package/dist/gate/contracts/contract_guard.js +0 -611
  111. package/dist/gate/contracts/contract_guard.js.map +0 -1
  112. package/dist/gate/contracts/escape_report.d.ts +0 -103
  113. package/dist/gate/contracts/escape_report.d.ts.map +0 -1
  114. package/dist/gate/contracts/escape_report.js +0 -145
  115. package/dist/gate/contracts/escape_report.js.map +0 -1
  116. package/dist/gate/feasibility_checker.d.ts +0 -27
  117. package/dist/gate/feasibility_checker.d.ts.map +0 -1
  118. package/dist/gate/feasibility_checker.js +0 -114
  119. package/dist/gate/feasibility_checker.js.map +0 -1
  120. package/dist/gate/migration_guard.d.ts +0 -22
  121. package/dist/gate/migration_guard.d.ts.map +0 -1
  122. package/dist/gate/migration_guard.js +0 -277
  123. package/dist/gate/migration_guard.js.map +0 -1
  124. package/dist/gate/scope_lease.d.ts +0 -94
  125. package/dist/gate/scope_lease.d.ts.map +0 -1
  126. package/dist/gate/scope_lease.js +0 -180
  127. package/dist/gate/scope_lease.js.map +0 -1
  128. package/dist/git/git_deps.d.ts +0 -85
  129. package/dist/git/git_deps.d.ts.map +0 -1
  130. package/dist/git/git_deps.js +0 -22
  131. package/dist/git/git_deps.js.map +0 -1
  132. package/dist/git/operations.d.ts +0 -173
  133. package/dist/git/operations.d.ts.map +0 -1
  134. package/dist/git/operations.js +0 -350
  135. package/dist/git/operations.js.map +0 -1
  136. package/dist/server/tools/gate_engine.d.ts +0 -17
  137. package/dist/server/tools/gate_engine.d.ts.map +0 -1
  138. package/dist/server/tools/gate_engine.js +0 -17
  139. package/dist/server/tools/gate_engine.js.map +0 -1
  140. package/dist/server/tools/middleware/budget_check.d.ts +0 -35
  141. package/dist/server/tools/middleware/budget_check.d.ts.map +0 -1
  142. package/dist/server/tools/middleware/budget_check.js +0 -69
  143. package/dist/server/tools/middleware/budget_check.js.map +0 -1
  144. package/dist/shared/contracts/contract_registry/builtin_contracts_core.d.ts +0 -16
  145. package/dist/shared/contracts/contract_registry/builtin_contracts_core.d.ts.map +0 -1
  146. package/dist/shared/contracts/contract_registry/builtin_contracts_core.js +0 -306
  147. package/dist/shared/contracts/contract_registry/builtin_contracts_core.js.map +0 -1
  148. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.d.ts +0 -16
  149. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.d.ts.map +0 -1
  150. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.js +0 -304
  151. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.js.map +0 -1
  152. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.d.ts +0 -16
  153. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.d.ts.map +0 -1
  154. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.js +0 -434
  155. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.js.map +0 -1
  156. package/dist/shared/contracts/contract_registry/index.d.ts +0 -8
  157. package/dist/shared/contracts/contract_registry/index.d.ts.map +0 -1
  158. package/dist/shared/contracts/contract_registry/index.js +0 -7
  159. package/dist/shared/contracts/contract_registry/index.js.map +0 -1
  160. package/dist/shared/contracts/contract_registry/registry.d.ts +0 -62
  161. package/dist/shared/contracts/contract_registry/registry.d.ts.map +0 -1
  162. package/dist/shared/contracts/contract_registry/registry.js +0 -191
  163. package/dist/shared/contracts/contract_registry/registry.js.map +0 -1
  164. package/dist/shared/contracts/contract_registry/registry_internal.d.ts +0 -19
  165. package/dist/shared/contracts/contract_registry/registry_internal.d.ts.map +0 -1
  166. package/dist/shared/contracts/contract_registry/registry_internal.js +0 -54
  167. package/dist/shared/contracts/contract_registry/registry_internal.js.map +0 -1
  168. package/dist/shared/contracts/contract_registry/types.d.ts +0 -47
  169. package/dist/shared/contracts/contract_registry/types.d.ts.map +0 -1
  170. package/dist/shared/contracts/contract_registry/types.js +0 -5
  171. package/dist/shared/contracts/contract_registry/types.js.map +0 -1
  172. package/dist/shared/contracts/contract_registry/validation.d.ts +0 -25
  173. package/dist/shared/contracts/contract_registry/validation.d.ts.map +0 -1
  174. package/dist/shared/contracts/contract_registry/validation.js +0 -363
  175. package/dist/shared/contracts/contract_registry/validation.js.map +0 -1
  176. package/dist/shared/llm_gateway.d.ts +0 -186
  177. package/dist/shared/llm_gateway.d.ts.map +0 -1
  178. package/dist/shared/llm_gateway.js +0 -393
  179. package/dist/shared/llm_gateway.js.map +0 -1
  180. package/dist/verify/audit/audit_sampler.d.ts +0 -29
  181. package/dist/verify/audit/audit_sampler.d.ts.map +0 -1
  182. package/dist/verify/audit/audit_sampler.js +0 -42
  183. package/dist/verify/audit/audit_sampler.js.map +0 -1
  184. package/dist/verify/audit/debt_reporter.d.ts +0 -22
  185. package/dist/verify/audit/debt_reporter.d.ts.map +0 -1
  186. package/dist/verify/audit/debt_reporter.js +0 -107
  187. package/dist/verify/audit/debt_reporter.js.map +0 -1
  188. package/dist/verify/audit/debugger.d.ts +0 -25
  189. package/dist/verify/audit/debugger.d.ts.map +0 -1
  190. package/dist/verify/audit/debugger.js +0 -429
  191. package/dist/verify/audit/debugger.js.map +0 -1
  192. package/dist/verify/audit/degradation.d.ts +0 -62
  193. package/dist/verify/audit/degradation.d.ts.map +0 -1
  194. package/dist/verify/audit/degradation.js +0 -78
  195. package/dist/verify/audit/degradation.js.map +0 -1
  196. package/dist/verify/audit/developer_sovereignty.d.ts +0 -29
  197. package/dist/verify/audit/developer_sovereignty.d.ts.map +0 -1
  198. package/dist/verify/audit/developer_sovereignty.js +0 -137
  199. package/dist/verify/audit/developer_sovereignty.js.map +0 -1
  200. package/dist/verify/audit/failure_report.d.ts +0 -76
  201. package/dist/verify/audit/failure_report.d.ts.map +0 -1
  202. package/dist/verify/audit/failure_report.js +0 -145
  203. package/dist/verify/audit/failure_report.js.map +0 -1
  204. package/dist/verify/audit/governance_report.d.ts +0 -110
  205. package/dist/verify/audit/governance_report.d.ts.map +0 -1
  206. package/dist/verify/audit/governance_report.js +0 -194
  207. package/dist/verify/audit/governance_report.js.map +0 -1
  208. package/dist/verify/audit/mutation_audit.d.ts +0 -40
  209. package/dist/verify/audit/mutation_audit.d.ts.map +0 -1
  210. package/dist/verify/audit/mutation_audit.js +0 -154
  211. package/dist/verify/audit/mutation_audit.js.map +0 -1
  212. package/dist/verify/audit/risk_sampler.d.ts +0 -44
  213. package/dist/verify/audit/risk_sampler.d.ts.map +0 -1
  214. package/dist/verify/audit/risk_sampler.js +0 -80
  215. package/dist/verify/audit/risk_sampler.js.map +0 -1
  216. package/dist/verify/audit/runtime_safety.d.ts +0 -89
  217. package/dist/verify/audit/runtime_safety.d.ts.map +0 -1
  218. package/dist/verify/audit/runtime_safety.js +0 -209
  219. package/dist/verify/audit/runtime_safety.js.map +0 -1
  220. package/dist/verify/audit/semantic_evidence.d.ts +0 -36
  221. package/dist/verify/audit/semantic_evidence.d.ts.map +0 -1
  222. package/dist/verify/audit/semantic_evidence.js +0 -90
  223. package/dist/verify/audit/semantic_evidence.js.map +0 -1
  224. package/dist/verify/audit/test_generator.d.ts +0 -23
  225. package/dist/verify/audit/test_generator.d.ts.map +0 -1
  226. package/dist/verify/audit/test_generator.js +0 -278
  227. package/dist/verify/audit/test_generator.js.map +0 -1
  228. package/dist/verify/audit/test_quality.d.ts +0 -49
  229. package/dist/verify/audit/test_quality.d.ts.map +0 -1
  230. package/dist/verify/audit/test_quality.js +0 -684
  231. package/dist/verify/audit/test_quality.js.map +0 -1
  232. package/dist/verify/change_coordinator.d.ts +0 -45
  233. package/dist/verify/change_coordinator.d.ts.map +0 -1
  234. package/dist/verify/change_coordinator.js +0 -168
  235. package/dist/verify/change_coordinator.js.map +0 -1
  236. package/dist/verify/contracts/decision_contract.d.ts +0 -51
  237. package/dist/verify/contracts/decision_contract.d.ts.map +0 -1
  238. package/dist/verify/contracts/decision_contract.js +0 -70
  239. package/dist/verify/contracts/decision_contract.js.map +0 -1
  240. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.d.ts +0 -17
  241. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +0 -1
  242. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.js +0 -428
  243. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.js.map +0 -1
  244. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.d.ts +0 -17
  245. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.d.ts.map +0 -1
  246. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.js +0 -429
  247. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.js.map +0 -1
  248. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +0 -17
  249. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +0 -1
  250. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.js +0 -194
  251. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.js.map +0 -1
  252. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.d.ts +0 -17
  253. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.d.ts.map +0 -1
  254. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.js +0 -365
  255. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.js.map +0 -1
  256. package/dist/verify/contracts/mechanism_contract_registry/index.d.ts +0 -19
  257. package/dist/verify/contracts/mechanism_contract_registry/index.d.ts.map +0 -1
  258. package/dist/verify/contracts/mechanism_contract_registry/index.js +0 -21
  259. package/dist/verify/contracts/mechanism_contract_registry/index.js.map +0 -1
  260. package/dist/verify/contracts/mechanism_contract_registry/types.d.ts +0 -33
  261. package/dist/verify/contracts/mechanism_contract_registry/types.d.ts.map +0 -1
  262. package/dist/verify/contracts/mechanism_contract_registry/types.js +0 -5
  263. package/dist/verify/contracts/mechanism_contract_registry/types.js.map +0 -1
  264. package/dist/verify/contracts/mechanism_contract_registry/validation.d.ts +0 -38
  265. package/dist/verify/contracts/mechanism_contract_registry/validation.d.ts.map +0 -1
  266. package/dist/verify/contracts/mechanism_contract_registry/validation.js +0 -136
  267. package/dist/verify/contracts/mechanism_contract_registry/validation.js.map +0 -1
  268. package/templates/shared/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -54
  269. package/templates/shared//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -64
@@ -1,191 +0,0 @@
1
- /**
2
- * Registry — 契约层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:getAllContracts 等 契约层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:契约验证、注册表查询
9
- * 调用谁:types、registry_internal、validation
10
- *
11
- * 数据流:契约定义 → 验证逻辑 → 通过/拒绝结果
12
- * 持久化:无持久化(纯计算/内存态)
13
- */
14
- import { getRegistry, cloneEntry } from "./registry_internal.js";
15
- // 重导出校验函数
16
- export { validateContractRegistry, validateWorkflowContractRefs } from "./validation.js";
17
- // 从内部模块重导出 resetRegistry
18
- export { resetRegistry } from "./registry_internal.js";
19
- // ── 查询函数 ──
20
- /** 获取所有契约条目 */
21
- export function getAllContracts() {
22
- return [...getRegistry().values()].map(cloneEntry);
23
- }
24
- /** 按 contract_id 获取 */
25
- export function getContractById(id) {
26
- const entry = getRegistry().get(id);
27
- return entry ? cloneEntry(entry) : undefined;
28
- }
29
- /** 按 policy_id 查找对应 contract_id */
30
- export function getContractByPolicyId(policyId) {
31
- for (const entry of getRegistry().values()) {
32
- if (entry.policy_id === policyId)
33
- return cloneEntry(entry);
34
- }
35
- return undefined;
36
- }
37
- /** 按类型列出契约 */
38
- export function listContractsByKind(kind) {
39
- return [...getRegistry().values()]
40
- .filter((e) => e.kind === kind)
41
- .map(cloneEntry);
42
- }
43
- /** 按状态列出契约 */
44
- export function listContractsByState(state) {
45
- return [...getRegistry().values()]
46
- .filter((e) => e.state === state)
47
- .map(cloneEntry);
48
- }
49
- /** 列出所有契约 */
50
- export function listContracts() {
51
- return getAllContracts();
52
- }
53
- /** 注册表汇总统计 */
54
- export function getContractRegistrySummary() {
55
- const entries = [...getRegistry().values()];
56
- const ALL_KINDS = [
57
- "capability", "mechanism_family", "workflow", "guard",
58
- "knowledge_injection", "verification", "delivery", "failure",
59
- "degradation", "metric", "language_policy", "technology_decision",
60
- "task_context", "knowledge_evolution", "knowledge_lifecycle",
61
- "template_sync", "adapter_prompt", "documentation_governance",
62
- "release_compatibility", "chinese_semantic",
63
- "extension", "platform_compatibility", "governance_action",
64
- "decision_sovereignty", "brainstorm", "detail_discipline",
65
- "first_principles", "existing_system_analysis",
66
- "coding_readiness", "local_acceptance", "workflow_template_pack",
67
- "evolution_regression", "plan_proposal_gate", "core_experience_principle",
68
- ];
69
- const ALL_STATES = [
70
- "draft", "advisory", "enforced", "experimental", "deprecated", "removed",
71
- ];
72
- const by_kind = Object.fromEntries(ALL_KINDS.map((k) => [k, entries.filter((e) => e.kind === k).length]));
73
- const by_state = Object.fromEntries(ALL_STATES.map((s) => [s, entries.filter((e) => e.state === s).length]));
74
- const canHardFail = entries.filter((e) => e.hard_fail_allowed && e.state === "enforced");
75
- const cannotHardFail = entries.filter((e) => !(e.hard_fail_allowed && e.state === "enforced"));
76
- return {
77
- total: entries.length,
78
- by_kind,
79
- by_state,
80
- can_hard_fail: canHardFail.map((e) => e.contract_id),
81
- cannot_hard_fail: cannotHardFail.map((e) => e.contract_id),
82
- };
83
- }
84
- // ── 运行时硬失败门控 ──
85
- /**
86
- * 判断契约是否允许 hard fail。
87
- * 只有 state=enforced 且 hard_fail_allowed=true 的契约才能阻断。
88
- */
89
- export function canContractHardFail(contractId) {
90
- const entry = getRegistry().get(contractId);
91
- if (!entry)
92
- return false;
93
- return entry.state === "enforced" && entry.hard_fail_allowed;
94
- }
95
- /**
96
- * Runtime hard fail gate — 未登记的契约不得 hard fail。
97
- * 用于运行时检查 workflow 是否引用了合法的 guard/verification/failure 契约。
98
- */
99
- export function runtimeHardFailGate(contractId, context) {
100
- const entry = getRegistry().get(contractId);
101
- if (!entry) {
102
- return {
103
- allowed: false,
104
- reason: `契约 ${contractId} 未在 Unified Contract Registry 登记,不得 hard fail`,
105
- };
106
- }
107
- if (entry.state === "removed") {
108
- return {
109
- allowed: false,
110
- reason: `契约 ${contractId} 已移除,${context} 不得引用已移除契约`,
111
- };
112
- }
113
- if (entry.state === "deprecated") {
114
- if (entry.replacement_contract_id) {
115
- return {
116
- allowed: false,
117
- reason: `契约 ${contractId} 已废弃,替代契约: ${entry.replacement_contract_id},请迁移到替代契约`,
118
- };
119
- }
120
- if (entry.migration_note) {
121
- return {
122
- allowed: false,
123
- reason: `契约 ${contractId} 已废弃,迁移说明: ${entry.migration_note}`,
124
- };
125
- }
126
- return {
127
- allowed: false,
128
- reason: `契约 ${contractId} 已废弃且无替代/迁移说明,${context} 不得引用`,
129
- };
130
- }
131
- if (entry.state === "advisory" || entry.state === "experimental" || entry.state === "draft") {
132
- return {
133
- allowed: false,
134
- reason: `契约 ${contractId} 状态为 ${entry.state},advisory/experimental/draft 契约只能 warning/advisory,不能阻断主流程`,
135
- };
136
- }
137
- if (entry.state === "enforced" && !entry.hard_fail_allowed) {
138
- return {
139
- allowed: false,
140
- reason: `契约 ${contractId} enforced 但 hard_fail_allowed=false,不得阻断`,
141
- };
142
- }
143
- if (entry.state === "enforced" && entry.hard_fail_allowed) {
144
- return { allowed: true, reason: "契约已强制登记且允许 hard fail" };
145
- }
146
- return { allowed: false, reason: `契约 ${contractId} 状态为 ${entry.state},不允许 hard fail` };
147
- }
148
- // ── 动态注册(用于测试和扩展) ──
149
- /** 注册新契约(运行时) */
150
- export function registerContract(entry) {
151
- const registry = getRegistry();
152
- if (registry.has(entry.contract_id)) {
153
- return { success: false, error: `contract_id ${entry.contract_id} 已存在` };
154
- }
155
- registry.set(entry.contract_id, cloneEntry(entry));
156
- return { success: true };
157
- }
158
- /**
159
- * 内部 helper: 只允许通过 ContractStateStore.apply 调用。
160
- * 此函数不导出。ContractStateStore 通过 createContractStateApplier 获取闭包引用。
161
- */
162
- function applyContractStateOverride(override) {
163
- const registry = getRegistry();
164
- const entry = registry.get(override.contract_id);
165
- if (!entry)
166
- return;
167
- const updated = cloneEntry(entry);
168
- updated.state = override.new_state;
169
- if (override.replacement_contract_id) {
170
- updated.replacement_contract_id = override.replacement_contract_id;
171
- }
172
- if (override.migration_note) {
173
- updated.migration_note = override.migration_note;
174
- }
175
- registry.set(override.contract_id, updated);
176
- }
177
- /** 工厂函数: 返回 applyContractStateOverride 闭包引用,仅供 ContractStateStore 使用 */
178
- export function createContractStateApplier() {
179
- return applyContractStateOverride;
180
- }
181
- /** 获取所有 policy_id → contract_id 映射 */
182
- export function getPolicyToContractMapping() {
183
- const result = [];
184
- for (const entry of getRegistry().values()) {
185
- if (entry.policy_id) {
186
- result.push({ policy_id: entry.policy_id, contract_id: entry.contract_id });
187
- }
188
- }
189
- return result;
190
- }
191
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/registry.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Registry Internal — 契约层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:getRegistry 等 契约层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:契约验证、注册表查询
9
- * 调用谁:types、builtin_contracts_core、builtin_contracts_core_2、builtin_contracts_extended
10
- *
11
- * 数据流:契约定义 → 验证逻辑 → 通过/拒绝结果
12
- * 持久化:无持久化(纯计算/内存态)
13
- */
14
- import type { ContractRegistryEntry } from "./types.js";
15
- export declare function getRegistry(): Map<string, ContractRegistryEntry>;
16
- export declare function cloneEntry(e: ContractRegistryEntry): ContractRegistryEntry;
17
- /** 重置运行时注册表为内置契约(用于测试清理) */
18
- export declare function resetRegistry(): void;
19
- //# sourceMappingURL=registry_internal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry_internal.d.ts","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/registry_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAkBxD,wBAAgB,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAQhE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,CAe1E;AAED,4BAA4B;AAC5B,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
@@ -1,54 +0,0 @@
1
- /**
2
- * Registry Internal — 契约层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:getRegistry 等 契约层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:契约验证、注册表查询
9
- * 调用谁:types、builtin_contracts_core、builtin_contracts_core_2、builtin_contracts_extended
10
- *
11
- * 数据流:契约定义 → 验证逻辑 → 通过/拒绝结果
12
- * 持久化:无持久化(纯计算/内存态)
13
- */
14
- import { BUILTIN_CONTRACTS_CORE_1 } from "./builtin_contracts_core.js";
15
- import { BUILTIN_CONTRACTS_CORE_2 } from "./builtin_contracts_core_2.js";
16
- import { BUILTIN_CONTRACTS_EXTENDED } from "./builtin_contracts_extended.js";
17
- // ── 内置契约注册表 ──
18
- const BUILTIN_CONTRACTS = [
19
- ...BUILTIN_CONTRACTS_CORE_1,
20
- ...BUILTIN_CONTRACTS_CORE_2,
21
- ...BUILTIN_CONTRACTS_EXTENDED,
22
- ];
23
- // ── 运行时注册表(允许动态添加,用于测试和扩展) ──
24
- let runtimeEntries = null;
25
- export function getRegistry() {
26
- if (!runtimeEntries) {
27
- runtimeEntries = new Map();
28
- for (const entry of BUILTIN_CONTRACTS) {
29
- runtimeEntries.set(entry.contract_id, cloneEntry(entry));
30
- }
31
- }
32
- return runtimeEntries;
33
- }
34
- export function cloneEntry(e) {
35
- return {
36
- ...e,
37
- owner_files: [...e.owner_files],
38
- test_files: [...e.test_files],
39
- lifecycle_test_files: [...e.lifecycle_test_files],
40
- knowledge_refs: [...e.knowledge_refs],
41
- prompt_refs: [...e.prompt_refs],
42
- depends_on: [...e.depends_on],
43
- consumed_by: [...e.consumed_by],
44
- promotion_conditions: [...e.promotion_conditions],
45
- demotion_conditions: [...e.demotion_conditions],
46
- evidence_requirements: [...e.evidence_requirements],
47
- capability_ids: e.capability_ids ? [...e.capability_ids] : undefined,
48
- };
49
- }
50
- /** 重置运行时注册表为内置契约(用于测试清理) */
51
- export function resetRegistry() {
52
- runtimeEntries = null;
53
- }
54
- //# sourceMappingURL=registry_internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry_internal.js","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/registry_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,gBAAgB;AAEhB,MAAM,iBAAiB,GAAqC;IAC1D,GAAG,wBAAwB;IAC3B,GAAG,wBAAwB;IAC3B,GAAG,0BAA0B;CACrB,CAAC;AAEX,+BAA+B;AAE/B,IAAI,cAAc,GAA8C,IAAI,CAAC;AAErE,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;YACtC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAwB;IACjD,OAAO;QACL,GAAG,CAAC;QACJ,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QAC/B,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACjD,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;QACrC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QAC/B,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QAC/B,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACjD,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC;QAC/C,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACnD,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;KACrE,CAAC;AACJ,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,aAAa;IAC3B,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
@@ -1,47 +0,0 @@
1
- /**
2
- * 统一契约注册表 — 类型定义
3
- */
4
- export type ContractKind = "capability" | "mechanism_family" | "workflow" | "guard" | "knowledge_injection" | "verification" | "delivery" | "failure" | "degradation" | "metric" | "language_policy" | "technology_decision" | "task_context" | "knowledge_evolution" | "knowledge_lifecycle" | "template_sync" | "adapter_prompt" | "documentation_governance" | "release_compatibility" | "chinese_semantic" | "extension" | "platform_compatibility" | "governance_action" | "decision_sovereignty" | "brainstorm" | "detail_discipline" | "first_principles" | "existing_system_analysis" | "coding_readiness" | "local_acceptance" | "workflow_template_pack" | "evolution_regression" | "plan_proposal_gate" | "core_experience_principle";
5
- export type ContractState = "draft" | "advisory" | "enforced" | "experimental" | "deprecated" | "removed";
6
- export interface ContractRegistryEntry {
7
- contract_id: string;
8
- kind: ContractKind;
9
- name: string;
10
- state: ContractState;
11
- owner_component: string;
12
- owner_files: string[];
13
- test_files: string[];
14
- lifecycle_test_files: string[];
15
- knowledge_refs: string[];
16
- prompt_refs: string[];
17
- depends_on: string[];
18
- consumed_by: string[];
19
- hard_fail_allowed: boolean;
20
- promotion_conditions: string[];
21
- demotion_conditions: string[];
22
- evidence_requirements: string[];
23
- /** 关联的 policy_id(来自 Capability Registry) */
24
- policy_id?: string;
25
- /** 关联的 capability ID 列表 */
26
- capability_ids?: string[];
27
- /** 替代契约 ID(deprecated 时必填) */
28
- replacement_contract_id?: string;
29
- /** 迁移说明(deprecated 时必填) */
30
- migration_note?: string;
31
- }
32
- export interface ContractGovernanceFinding {
33
- contract_id: string;
34
- kind: ContractKind;
35
- severity: "hard_fail" | "warning" | "advisory";
36
- rule: string;
37
- message_zh: string;
38
- evidence_refs: string[];
39
- }
40
- export interface ContractRegistrySummary {
41
- total: number;
42
- by_kind: Record<ContractKind, number>;
43
- by_state: Record<ContractState, number>;
44
- can_hard_fail: string[];
45
- cannot_hard_fail: string[];
46
- }
47
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,kBAAkB,GAClB,UAAU,GACV,OAAO,GACP,qBAAqB,GACrB,cAAc,GACd,UAAU,GACV,SAAS,GACT,aAAa,GACb,QAAQ,GACR,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,qBAAqB,GACrB,qBAAqB,GACrB,eAAe,GACf,gBAAgB,GAChB,0BAA0B,GAC1B,uBAAuB,GACvB,kBAAkB,GAClB,WAAW,GACX,wBAAwB,GACxB,mBAAmB,GACnB,sBAAsB,GACtB,YAAY,GACZ,mBAAmB,GACnB,kBAAkB,GAClB,0BAA0B,GAC1B,kBAAkB,GAClB,kBAAkB,GAClB,wBAAwB,GACxB,sBAAsB,GACtB,oBAAoB,GACpB,2BAA2B,CAAC;AAEhC,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,UAAU,GACV,UAAU,GACV,cAAc,GACd,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,8BAA8B;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B"}
@@ -1,5 +0,0 @@
1
- /**
2
- * 统一契约注册表 — 类型定义
3
- */
4
- export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Validation — 契约层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:validateContractRegistry 等 契约层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:契约验证、注册表查询
9
- * 调用谁:capability_registry、types、registry_internal
10
- *
11
- * 数据流:契约定义 → 验证逻辑 → 通过/拒绝结果
12
- * 持久化:读写本地文件(详见代码内路径)
13
- */
14
- import type { ContractGovernanceFinding } from "./types.js";
15
- /**
16
- * 验证契约注册表完整性。
17
- * 检查: 唯一性、字段完整性、文件存在、状态约束、依赖存在性、capability 冲突等。
18
- */
19
- export declare function validateContractRegistry(existingFiles?: Set<string>): ContractGovernanceFinding[];
20
- /**
21
- * 验证 workflow 引用的契约是否合法。
22
- * workflow 引用不存在、removed 或非法 deprecated contract 必须 blocked。
23
- */
24
- export declare function validateWorkflowContractRefs(workflowId: string, referencedContractIds: string[]): ContractGovernanceFinding[];
25
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAIpB;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,yBAAyB,EAAE,CAiQ7B;AA4CD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,EAAE,GAC9B,yBAAyB,EAAE,CAyE7B"}