soloforge 1.2.18 → 1.2.20

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 (208) hide show
  1. package/dist/adapters/claude_code/pre_prompt_contract.js +2 -2
  2. package/dist/adapters/claude_code/pre_prompt_contract.js.map +1 -1
  3. package/dist/adapters/claude_code/server.d.ts.map +1 -1
  4. package/dist/adapters/claude_code/server.js +4 -2
  5. package/dist/adapters/claude_code/server.js.map +1 -1
  6. package/dist/adapters/claude_code/tools.d.ts +2 -2
  7. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  8. package/dist/adapters/claude_code/tools.js +348 -171
  9. package/dist/adapters/claude_code/tools.js.map +1 -1
  10. package/dist/adapters/codex/codex_config.d.ts.map +1 -1
  11. package/dist/adapters/codex/codex_config.js +16 -4
  12. package/dist/adapters/codex/codex_config.js.map +1 -1
  13. package/dist/adapters/trae/trae_config.d.ts +2 -1
  14. package/dist/adapters/trae/trae_config.d.ts.map +1 -1
  15. package/dist/adapters/trae/trae_config.js +4 -3
  16. package/dist/adapters/trae/trae_config.js.map +1 -1
  17. package/dist/bin/config_commands.d.ts +1 -1
  18. package/dist/bin/config_commands.js +4 -4
  19. package/dist/bin/config_commands.js.map +1 -1
  20. package/dist/bin/soloforge.d.ts.map +1 -1
  21. package/dist/bin/soloforge.js +85 -110
  22. package/dist/bin/soloforge.js.map +1 -1
  23. package/dist/engine/artifact_contract_registry.d.ts.map +1 -1
  24. package/dist/engine/artifact_contract_registry.js.map +1 -1
  25. package/dist/engine/audit_sampler.d.ts.map +1 -1
  26. package/dist/engine/audit_sampler.js +0 -4
  27. package/dist/engine/audit_sampler.js.map +1 -1
  28. package/dist/engine/batch1_manifest.d.ts.map +1 -1
  29. package/dist/engine/batch1_manifest.js +0 -7
  30. package/dist/engine/batch1_manifest.js.map +1 -1
  31. package/dist/engine/batch1_scenario_registry.js +7 -7
  32. package/dist/engine/batch1_scenario_registry.js.map +1 -1
  33. package/dist/engine/batch1_scenario_runners.js +32 -32
  34. package/dist/engine/batch1_scenario_runners.js.map +1 -1
  35. package/dist/engine/capability_action_advisor.js +16 -16
  36. package/dist/engine/capability_action_advisor.js.map +1 -1
  37. package/dist/engine/classifier.d.ts.map +1 -1
  38. package/dist/engine/classifier.js +4 -3
  39. package/dist/engine/classifier.js.map +1 -1
  40. package/dist/engine/code_reviewer.d.ts.map +1 -1
  41. package/dist/engine/code_reviewer.js +10 -9
  42. package/dist/engine/code_reviewer.js.map +1 -1
  43. package/dist/engine/command_execution_contract.js +14 -14
  44. package/dist/engine/command_execution_contract.js.map +1 -1
  45. package/dist/engine/contract_registry.d.ts +113 -0
  46. package/dist/engine/contract_registry.d.ts.map +1 -0
  47. package/dist/engine/contract_registry.js +1159 -0
  48. package/dist/engine/contract_registry.js.map +1 -0
  49. package/dist/engine/contract_state_store.d.ts +67 -0
  50. package/dist/engine/contract_state_store.d.ts.map +1 -0
  51. package/dist/engine/contract_state_store.js +167 -0
  52. package/dist/engine/contract_state_store.js.map +1 -0
  53. package/dist/engine/debug_log.d.ts +2 -0
  54. package/dist/engine/debug_log.d.ts.map +1 -0
  55. package/dist/engine/debug_log.js +7 -0
  56. package/dist/engine/debug_log.js.map +1 -0
  57. package/dist/engine/debugger.d.ts.map +1 -1
  58. package/dist/engine/debugger.js +30 -1
  59. package/dist/engine/debugger.js.map +1 -1
  60. package/dist/engine/degradation.d.ts +58 -0
  61. package/dist/engine/degradation.d.ts.map +1 -0
  62. package/dist/engine/degradation.js +74 -0
  63. package/dist/engine/degradation.js.map +1 -0
  64. package/dist/engine/delivery_readiness.d.ts +66 -0
  65. package/dist/engine/delivery_readiness.d.ts.map +1 -0
  66. package/dist/engine/delivery_readiness.js +176 -0
  67. package/dist/engine/delivery_readiness.js.map +1 -0
  68. package/dist/engine/deprecated_contract.d.ts +21 -0
  69. package/dist/engine/deprecated_contract.d.ts.map +1 -0
  70. package/dist/engine/deprecated_contract.js +14 -0
  71. package/dist/engine/deprecated_contract.js.map +1 -0
  72. package/dist/engine/developer_sovereignty.js +15 -15
  73. package/dist/engine/developer_sovereignty.js.map +1 -1
  74. package/dist/engine/diagnostic_registry.d.ts +64 -0
  75. package/dist/engine/diagnostic_registry.d.ts.map +1 -0
  76. package/dist/engine/diagnostic_registry.js +176 -0
  77. package/dist/engine/diagnostic_registry.js.map +1 -0
  78. package/dist/engine/diff_ownership_store.d.ts.map +1 -1
  79. package/dist/engine/diff_ownership_store.js +1 -2
  80. package/dist/engine/diff_ownership_store.js.map +1 -1
  81. package/dist/engine/dual_layer_mechanism_registry.js +1 -1
  82. package/dist/engine/dual_layer_mechanism_registry.js.map +1 -1
  83. package/dist/engine/enforcement_guard.d.ts +84 -0
  84. package/dist/engine/enforcement_guard.d.ts.map +1 -0
  85. package/dist/engine/enforcement_guard.js +305 -0
  86. package/dist/engine/enforcement_guard.js.map +1 -0
  87. package/dist/engine/evolver.d.ts.map +1 -1
  88. package/dist/engine/evolver.js +11 -10
  89. package/dist/engine/evolver.js.map +1 -1
  90. package/dist/engine/failure_report.d.ts +74 -0
  91. package/dist/engine/failure_report.d.ts.map +1 -0
  92. package/dist/engine/failure_report.js +143 -0
  93. package/dist/engine/failure_report.js.map +1 -0
  94. package/dist/engine/governance_report.d.ts +9 -1
  95. package/dist/engine/governance_report.d.ts.map +1 -1
  96. package/dist/engine/governance_report.js +24 -10
  97. package/dist/engine/governance_report.js.map +1 -1
  98. package/dist/engine/implementation_roadmap_registry.d.ts +1 -1
  99. package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -1
  100. package/dist/engine/implementation_roadmap_registry.js +37 -29
  101. package/dist/engine/implementation_roadmap_registry.js.map +1 -1
  102. package/dist/engine/input_material_extractor.js +3 -3
  103. package/dist/engine/input_material_extractor.js.map +1 -1
  104. package/dist/engine/intent_expander.d.ts.map +1 -1
  105. package/dist/engine/intent_expander.js +15 -14
  106. package/dist/engine/intent_expander.js.map +1 -1
  107. package/dist/engine/intent_router.d.ts.map +1 -1
  108. package/dist/engine/intent_router.js +17 -16
  109. package/dist/engine/intent_router.js.map +1 -1
  110. package/dist/engine/java_quality_guard.js +10 -10
  111. package/dist/engine/java_quality_guard.js.map +1 -1
  112. package/dist/engine/knowledge_injection_boundary.d.ts +1 -1
  113. package/dist/engine/knowledge_injection_boundary.d.ts.map +1 -1
  114. package/dist/engine/knowledge_injection_boundary.js +61 -60
  115. package/dist/engine/knowledge_injection_boundary.js.map +1 -1
  116. package/dist/engine/knowledge_lifecycle.d.ts +23 -0
  117. package/dist/engine/knowledge_lifecycle.d.ts.map +1 -0
  118. package/dist/engine/knowledge_lifecycle.js +13 -0
  119. package/dist/engine/knowledge_lifecycle.js.map +1 -0
  120. package/dist/engine/language_policy.d.ts +21 -0
  121. package/dist/engine/language_policy.d.ts.map +1 -0
  122. package/dist/engine/language_policy.js +18 -0
  123. package/dist/engine/language_policy.js.map +1 -0
  124. package/dist/engine/language_policy_contract.d.ts +52 -0
  125. package/dist/engine/language_policy_contract.d.ts.map +1 -0
  126. package/dist/engine/language_policy_contract.js +78 -0
  127. package/dist/engine/language_policy_contract.js.map +1 -0
  128. package/dist/engine/main_path_integration_contract.js +16 -16
  129. package/dist/engine/main_path_integration_contract.js.map +1 -1
  130. package/dist/engine/mechanism_contract_registry.d.ts +3 -4
  131. package/dist/engine/mechanism_contract_registry.d.ts.map +1 -1
  132. package/dist/engine/mechanism_contract_registry.js +23 -24
  133. package/dist/engine/mechanism_contract_registry.js.map +1 -1
  134. package/dist/engine/mechanism_family_registry.d.ts +48 -0
  135. package/dist/engine/mechanism_family_registry.d.ts.map +1 -0
  136. package/dist/engine/mechanism_family_registry.js +197 -0
  137. package/dist/engine/mechanism_family_registry.js.map +1 -0
  138. package/dist/engine/onboarding.js +20 -20
  139. package/dist/engine/onboarding.js.map +1 -1
  140. package/dist/engine/policy_drift_detector.d.ts +20 -0
  141. package/dist/engine/policy_drift_detector.d.ts.map +1 -1
  142. package/dist/engine/policy_drift_detector.js +79 -0
  143. package/dist/engine/policy_drift_detector.js.map +1 -1
  144. package/dist/engine/privacy_secret_contract.d.ts.map +1 -1
  145. package/dist/engine/privacy_secret_contract.js +49 -48
  146. package/dist/engine/privacy_secret_contract.js.map +1 -1
  147. package/dist/engine/regression_matrix.js +21 -21
  148. package/dist/engine/regression_matrix.js.map +1 -1
  149. package/dist/engine/retention_policy.d.ts +46 -0
  150. package/dist/engine/retention_policy.d.ts.map +1 -0
  151. package/dist/engine/retention_policy.js +124 -0
  152. package/dist/engine/retention_policy.js.map +1 -0
  153. package/dist/engine/route_decision_contract_verifier.js +24 -24
  154. package/dist/engine/route_decision_contract_verifier.js.map +1 -1
  155. package/dist/engine/scope_controller.d.ts.map +1 -1
  156. package/dist/engine/scope_controller.js +4 -3
  157. package/dist/engine/scope_controller.js.map +1 -1
  158. package/dist/engine/scope_lease.d.ts.map +1 -1
  159. package/dist/engine/scope_lease.js +0 -1
  160. package/dist/engine/scope_lease.js.map +1 -1
  161. package/dist/engine/state_update_bypass.d.ts +19 -0
  162. package/dist/engine/state_update_bypass.d.ts.map +1 -0
  163. package/dist/engine/state_update_bypass.js +17 -0
  164. package/dist/engine/state_update_bypass.js.map +1 -0
  165. package/dist/engine/task_context.d.ts.map +1 -1
  166. package/dist/engine/task_context.js +11 -3
  167. package/dist/engine/task_context.js.map +1 -1
  168. package/dist/engine/test_generator.js +8 -8
  169. package/dist/engine/test_generator.js.map +1 -1
  170. package/dist/engine/test_strategy.d.ts +58 -0
  171. package/dist/engine/test_strategy.d.ts.map +1 -0
  172. package/dist/engine/test_strategy.js +93 -0
  173. package/dist/engine/test_strategy.js.map +1 -0
  174. package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -1
  175. package/dist/engine/tool_invocation_contract_registry.js +29 -19
  176. package/dist/engine/tool_invocation_contract_registry.js.map +1 -1
  177. package/dist/engine/traceability.js +6 -6
  178. package/dist/engine/traceability.js.map +1 -1
  179. package/dist/engine/user_feedback_contract.js +9 -9
  180. package/dist/engine/user_feedback_contract.js.map +1 -1
  181. package/dist/engine/verification_contract.d.ts +132 -0
  182. package/dist/engine/verification_contract.d.ts.map +1 -0
  183. package/dist/engine/verification_contract.js +296 -0
  184. package/dist/engine/verification_contract.js.map +1 -0
  185. package/dist/engine/verifier.d.ts.map +1 -1
  186. package/dist/engine/verifier.js +9 -8
  187. package/dist/engine/verifier.js.map +1 -1
  188. package/dist/engine/workspace_lease.d.ts +69 -0
  189. package/dist/engine/workspace_lease.d.ts.map +1 -0
  190. package/dist/engine/workspace_lease.js +153 -0
  191. package/dist/engine/workspace_lease.js.map +1 -0
  192. package/dist/engine/zero_config_init.d.ts.map +1 -1
  193. package/dist/engine/zero_config_init.js +84 -84
  194. package/dist/engine/zero_config_init.js.map +1 -1
  195. package/dist/git/operations.js +1 -1
  196. package/dist/git/operations.js.map +1 -1
  197. package/dist/index.d.ts +4 -3
  198. package/dist/index.d.ts.map +1 -1
  199. package/dist/index.js +16 -11
  200. package/dist/index.js.map +1 -1
  201. package/dist/knowledge/index_manager.d.ts.map +1 -1
  202. package/dist/knowledge/index_manager.js +18 -17
  203. package/dist/knowledge/index_manager.js.map +1 -1
  204. package/dist/knowledge/loader.js +2 -2
  205. package/dist/knowledge/loader.js.map +1 -1
  206. package/dist/types.d.ts +13 -1
  207. package/dist/types.d.ts.map +1 -1
  208. package/package.json +4 -2
@@ -1,13 +1,12 @@
1
1
  /**
2
- * Mechanism Contract Registry — P0 self-governance contracts.
2
+ * Mechanism Contract Registry — P0 自治理契约。
3
3
  *
4
- * Every P0 mechanism on the main pipeline is registered here with
5
- * precise inputs, outputs, failure modes, and test anchors so that
6
- * validateMechanismContracts() can enforce structural invariants.
4
+ * 主管线上的每个 P0 机制都在此注册,包含精确的输入、输出、
5
+ * 失败模式和测试锚点,以便 validateMechanismContracts() 强制执行结构不变量。
7
6
  */
8
7
  import fs from "node:fs";
9
8
  import path from "node:path";
10
- // ── P0 Contracts ──
9
+ // ── P0 契约 ──
11
10
  /** P0 级机制契约列表 */
12
11
  export const P0_MECHANISM_CONTRACTS = [
13
12
  // ── 1. intent_router ──
@@ -248,7 +247,7 @@ export const P0_MECHANISM_CONTRACTS = [
248
247
  tests: ["tests/engine/core_engineering_principles.test.ts"],
249
248
  lifecycle_tests: ["tests/engine/core_engineering_principles.test.ts", "tests/engine/dual_layer_mechanism_registry.test.ts"],
250
249
  },
251
- // ── delivery ──
250
+ // ── 交付 ──
252
251
  {
253
252
  id: "mc-delivery",
254
253
  name: "Delivery",
@@ -371,7 +370,7 @@ export const P0_MECHANISM_CONTRACTS = [
371
370
  lifecycle_tests: ["tests/engine/config_precedence_contract.test.ts"],
372
371
  },
373
372
  ];
374
- // ── Query functions ──
373
+ // ── 查询函数 ──
375
374
  /**
376
375
  * 执行 listMechanismContracts 操作
377
376
  */
@@ -395,7 +394,7 @@ export function listMechanismContractsByStatus(status) {
395
394
  console.error("[soloForge] 机制契约: listMechanismContractsByStatus() 按状态筛选, status=%s", status);
396
395
  return P0_MECHANISM_CONTRACTS.filter((c) => c.status === status);
397
396
  }
398
- // ── Governance validation ──
397
+ // ── 治理验证 ──
399
398
  /**
400
399
  * 校验机制契约的结构完整性和一致性。
401
400
  * @param contracts - 待校验的契约列表,默认使用内置 P0 契约
@@ -407,16 +406,16 @@ export function validateMechanismContracts(contracts = P0_MECHANISM_CONTRACTS, r
407
406
  const findings = [];
408
407
  const seenIds = new Set();
409
408
  for (const c of contracts) {
410
- // duplicate id
409
+ // 重复 id
411
410
  if (seenIds.has(c.id)) {
412
411
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "id", message: `Duplicate id: ${c.id}` });
413
412
  }
414
413
  seenIds.add(c.id);
415
- // owner_module exists
414
+ // owner_module 文件存在性
416
415
  if (!fs.existsSync(path.join(rootDir, c.owner_module))) {
417
416
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "owner_module", message: `Module not found: ${c.owner_module}` });
418
417
  }
419
- // owner_exports validation: each export must exist in the module file
418
+ // owner_exports 验证:每个导出必须在模块文件中存在
420
419
  if (c.owner_exports?.length && fs.existsSync(path.join(rootDir, c.owner_module))) {
421
420
  const moduleContent = fs.readFileSync(path.join(rootDir, c.owner_module), "utf-8");
422
421
  for (const exp of c.owner_exports) {
@@ -425,56 +424,56 @@ export function validateMechanismContracts(contracts = P0_MECHANISM_CONTRACTS, r
425
424
  }
426
425
  }
427
426
  }
428
- // enforced must have lifecycle_tests
427
+ // enforced 状态必须有 lifecycle_tests
429
428
  if (c.status === "enforced" && c.lifecycle_tests.length === 0) {
430
429
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "lifecycle_tests", message: "Enforced mechanism must have lifecycle_tests" });
431
430
  }
432
- // tests files exist
431
+ // 测试文件存在性
433
432
  for (const t of c.tests) {
434
433
  if (!fs.existsSync(path.join(rootDir, t))) {
435
434
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "tests", message: `Test file not found: ${t}` });
436
435
  }
437
436
  }
438
- // lifecycle_tests files exist
437
+ // lifecycle_tests 文件存在性
439
438
  for (const t of c.lifecycle_tests) {
440
439
  if (!fs.existsSync(path.join(rootDir, t))) {
441
440
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "lifecycle_tests", message: `Lifecycle test file not found: ${t}` });
442
441
  }
443
442
  }
444
- // required_inputs non-empty
443
+ // required_inputs 非空
445
444
  if (c.required_inputs.length === 0) {
446
445
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "required_inputs", message: "required_inputs must not be empty" });
447
446
  }
448
- // outputs non-empty
447
+ // outputs 非空
449
448
  if (c.outputs.length === 0) {
450
449
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "outputs", message: "outputs must not be empty" });
451
450
  }
452
- // downstream_consumers non-empty
451
+ // downstream_consumers 非空
453
452
  if (c.downstream_consumers.length === 0) {
454
453
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "downstream_consumers", message: "downstream_consumers must not be empty" });
455
454
  }
456
- // state_lifecycle must have state_transitions
455
+ // state_lifecycle 必须有 state_transitions
457
456
  if (c.mechanism_type === "state_lifecycle" && (!c.state_transitions || c.state_transitions.length === 0)) {
458
457
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "state_transitions", message: "state_lifecycle mechanism must have state_transitions" });
459
458
  }
460
- // 清理_hooks without lifecycle_tests
459
+ // cleanup_hooks 但无 lifecycle_tests
461
460
  if (c.cleanup_hooks && c.cleanup_hooks.length > 0 && c.lifecycle_tests.length === 0) {
462
461
  findings.push({ severity: "hard_fail", contract_id: c.id, field: "lifecycle_tests", message: "Mechanism with cleanup_hooks must have lifecycle_tests" });
463
462
  }
464
- // ── Advisory checks ──
465
- // failure_modes empty
463
+ // ── 建议性检查 ──
464
+ // failure_modes 为空
466
465
  if (c.failure_modes.length === 0) {
467
466
  findings.push({ severity: "advisory", contract_id: c.id, field: "failure_modes", message: "failure_modes is empty" });
468
467
  }
469
- // degradation_behavior empty or too short
468
+ // degradation_behavior 为空或过短
470
469
  if (!c.degradation_behavior || c.degradation_behavior.length < 10) {
471
470
  findings.push({ severity: "advisory", contract_id: c.id, field: "degradation_behavior", message: "degradation_behavior is empty or too short" });
472
471
  }
473
- // generic downstream_consumers
472
+ // 通用 downstream_consumers
474
473
  if (c.downstream_consumers.includes("unknown")) {
475
474
  findings.push({ severity: "advisory", contract_id: c.id, field: "downstream_consumers", message: "downstream_consumers contains generic 'unknown'" });
476
475
  }
477
- // 已废弃 without notes
476
+ // 已废弃但无 notes
478
477
  if (c.status === "deprecated" && !c.notes) {
479
478
  findings.push({ severity: "advisory", contract_id: c.id, field: "notes", message: "Deprecated mechanism must have notes explaining removal" });
480
479
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mechanism_contract_registry.js","sourceRoot":"","sources":["../../src/engine/mechanism_contract_registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mechanism_contract_registry.js","sourceRoot":"","sources":["../../src/engine/mechanism_contract_registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * 机制族实现映射 — 问题十五 (Mechanism Family Implementation Map)。
3
+ *
4
+ * 核心规则:
5
+ * - 每个设计机制族必须有 MechanismFamilyImplementation
6
+ * - enforced 必须有 tests 和 lifecycle tests
7
+ * - 机制族状态与真实实现不一致必须报告
8
+ */
9
+ export type ImplementationState = "implemented" | "partial" | "scaffolded" | "planned" | "deprecated";
10
+ export interface MechanismFamilyImplementation {
11
+ mechanism_id: string;
12
+ name: string;
13
+ design_section: string;
14
+ implementation_state: ImplementationState;
15
+ owner_module: string;
16
+ contract_id: string;
17
+ workflow_ids: string[];
18
+ guard_ids: string[];
19
+ verification_ids: string[];
20
+ failure_ids: string[];
21
+ degradation_ids: string[];
22
+ test_files: string[];
23
+ lifecycle_test_files: string[];
24
+ known_gaps: string[];
25
+ hard_fail_boundary: string[];
26
+ }
27
+ export interface MechanismFamilyGovernanceFinding {
28
+ mechanism_id: string;
29
+ severity: "hard_fail" | "warning" | "advisory";
30
+ rule: string;
31
+ message_zh: string;
32
+ }
33
+ /** 列出所有机制族 */
34
+ export declare function listAllMechanisms(): MechanismFamilyImplementation[];
35
+ /** 按 ID 获取 */
36
+ export declare function getMechanismById(id: string): MechanismFamilyImplementation | undefined;
37
+ /** 注册新机制族 */
38
+ export declare function registerMechanism(m: MechanismFamilyImplementation): {
39
+ success: boolean;
40
+ error?: string;
41
+ };
42
+ /**
43
+ * 验证机制族实现一致性。
44
+ */
45
+ export declare function validateMechanismFamilies(): MechanismFamilyGovernanceFinding[];
46
+ /** 重置注册表(测试用) */
47
+ export declare function resetMechanismRegistry(): void;
48
+ //# sourceMappingURL=mechanism_family_registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mechanism_family_registry.d.ts","sourceRoot":"","sources":["../../src/engine/mechanism_family_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;AAEtG,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gCAAgC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAwID,cAAc;AACd,wBAAgB,iBAAiB,IAAI,6BAA6B,EAAE,CAEnE;AAED,cAAc;AACd,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B,GAAG,SAAS,CAEtF;AAED,aAAa;AACb,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,6BAA6B,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAOxG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,gCAAgC,EAAE,CAoC9E;AAED,iBAAiB;AACjB,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * 机制族实现映射 — 问题十五 (Mechanism Family Implementation Map)。
3
+ *
4
+ * 核心规则:
5
+ * - 每个设计机制族必须有 MechanismFamilyImplementation
6
+ * - enforced 必须有 tests 和 lifecycle tests
7
+ * - 机制族状态与真实实现不一致必须报告
8
+ */
9
+ const BUILTIN_MECHANISMS = [
10
+ {
11
+ mechanism_id: "mf-intent-router",
12
+ name: "意图路由",
13
+ design_section: "第三部分",
14
+ implementation_state: "implemented",
15
+ owner_module: "engine/intent_router",
16
+ contract_id: "route_decision_contract",
17
+ workflow_ids: ["workflow_contract"],
18
+ guard_ids: [],
19
+ verification_ids: ["contract_governance"],
20
+ failure_ids: ["failure_recovery_contract"],
21
+ degradation_ids: [],
22
+ test_files: ["tests/engine/intent_router.test.ts"],
23
+ lifecycle_test_files: ["tests/engine/route_decision_contract.test.ts"],
24
+ known_gaps: [],
25
+ hard_fail_boundary: ["路由决策必须与设计结论一致"],
26
+ },
27
+ {
28
+ mechanism_id: "mf-workflow-engine",
29
+ name: "工作流引擎",
30
+ design_section: "第四部分",
31
+ implementation_state: "implemented",
32
+ owner_module: "engine/workflow_contract_registry",
33
+ contract_id: "workflow_contract",
34
+ workflow_ids: [],
35
+ guard_ids: ["guard-write-readonly"],
36
+ verification_ids: ["contract_governance"],
37
+ failure_ids: ["failure_recovery_contract"],
38
+ degradation_ids: [],
39
+ test_files: ["tests/engine/workflow_contract_registry.test.ts"],
40
+ lifecycle_test_files: ["tests/engine/workflow_contract_registry.test.ts"],
41
+ known_gaps: [],
42
+ hard_fail_boundary: ["workflow 必须与设计结论一致"],
43
+ },
44
+ {
45
+ mechanism_id: "mf-enforcement-guard",
46
+ name: "强制护栏",
47
+ design_section: "第四部分",
48
+ implementation_state: "implemented",
49
+ owner_module: "engine/enforcement_guard",
50
+ contract_id: "command_execution_contract",
51
+ workflow_ids: ["workflow_contract"],
52
+ guard_ids: ["guard-write-readonly", "guard-write-scope"],
53
+ verification_ids: [],
54
+ failure_ids: ["failure_recovery_contract"],
55
+ degradation_ids: ["degradation_contract"],
56
+ test_files: ["tests/engine/enforcement_guard.test.ts"],
57
+ lifecycle_test_files: [],
58
+ known_gaps: ["lifecycle tests 待补充"],
59
+ hard_fail_boundary: ["只读路由写入必须阻断"],
60
+ },
61
+ {
62
+ mechanism_id: "mf-verification",
63
+ name: "验证机制",
64
+ design_section: "第四部分",
65
+ implementation_state: "implemented",
66
+ owner_module: "engine/verifier",
67
+ contract_id: "main_path_integration_contract",
68
+ workflow_ids: [],
69
+ guard_ids: [],
70
+ verification_ids: ["verification_contract"],
71
+ failure_ids: [],
72
+ degradation_ids: [],
73
+ test_files: ["tests/engine/verifier.test.ts"],
74
+ lifecycle_test_files: [],
75
+ known_gaps: [],
76
+ hard_fail_boundary: [],
77
+ },
78
+ {
79
+ mechanism_id: "mf-failure-recovery",
80
+ name: "失败恢复",
81
+ design_section: "第四部分",
82
+ implementation_state: "implemented",
83
+ owner_module: "engine/failure_classifier",
84
+ contract_id: "failure_recovery_contract",
85
+ workflow_ids: [],
86
+ guard_ids: [],
87
+ verification_ids: [],
88
+ failure_ids: ["failure_recovery_contract"],
89
+ degradation_ids: [],
90
+ test_files: ["tests/engine/failure_classifier.test.ts"],
91
+ lifecycle_test_files: [],
92
+ known_gaps: [],
93
+ hard_fail_boundary: ["deterministic 不得无限重试"],
94
+ },
95
+ {
96
+ mechanism_id: "mf-knowledge-injection",
97
+ name: "知识注入",
98
+ design_section: "第五部分",
99
+ implementation_state: "implemented",
100
+ owner_module: "engine/knowledge_injection_boundary",
101
+ contract_id: "knowledge_injection_contract",
102
+ workflow_ids: [],
103
+ guard_ids: ["guard-knowledge-injectable"],
104
+ verification_ids: [],
105
+ failure_ids: [],
106
+ degradation_ids: [],
107
+ test_files: ["tests/engine/knowledge_injection_boundary.test.ts"],
108
+ lifecycle_test_files: [],
109
+ known_gaps: [],
110
+ hard_fail_boundary: [],
111
+ },
112
+ {
113
+ mechanism_id: "mf-contract-registry",
114
+ name: "统一契约注册表",
115
+ design_section: "第七节",
116
+ implementation_state: "implemented",
117
+ owner_module: "engine/contract_registry",
118
+ contract_id: "contract_governance",
119
+ workflow_ids: [],
120
+ guard_ids: [],
121
+ verification_ids: ["contract_governance"],
122
+ failure_ids: [],
123
+ degradation_ids: [],
124
+ test_files: ["tests/engine/contract_registry.test.ts"],
125
+ lifecycle_test_files: ["tests/engine/contract_registry.test.ts"],
126
+ known_gaps: [],
127
+ hard_fail_boundary: ["未登记契约不得 hard fail"],
128
+ },
129
+ ];
130
+ let runtimeMechanisms = null;
131
+ function getRegistry() {
132
+ if (!runtimeMechanisms) {
133
+ runtimeMechanisms = new Map();
134
+ for (const m of BUILTIN_MECHANISMS) {
135
+ runtimeMechanisms.set(m.mechanism_id, { ...m, test_files: [...m.test_files], lifecycle_test_files: [...m.lifecycle_test_files] });
136
+ }
137
+ }
138
+ return runtimeMechanisms;
139
+ }
140
+ /** 列出所有机制族 */
141
+ export function listAllMechanisms() {
142
+ return [...getRegistry().values()];
143
+ }
144
+ /** 按 ID 获取 */
145
+ export function getMechanismById(id) {
146
+ return getRegistry().get(id);
147
+ }
148
+ /** 注册新机制族 */
149
+ export function registerMechanism(m) {
150
+ const reg = getRegistry();
151
+ if (reg.has(m.mechanism_id)) {
152
+ return { success: false, error: `机制族 ${m.mechanism_id} 已存在` };
153
+ }
154
+ reg.set(m.mechanism_id, { ...m, test_files: [...m.test_files], lifecycle_test_files: [...m.lifecycle_test_files] });
155
+ return { success: true };
156
+ }
157
+ /**
158
+ * 验证机制族实现一致性。
159
+ */
160
+ export function validateMechanismFamilies() {
161
+ const findings = [];
162
+ for (const m of getRegistry().values()) {
163
+ // enforced 但无 lifecycle tests
164
+ if (m.implementation_state === "implemented" && m.lifecycle_test_files.length === 0 && m.hard_fail_boundary.length > 0) {
165
+ findings.push({
166
+ mechanism_id: m.mechanism_id,
167
+ severity: "warning",
168
+ rule: "implemented_needs_lifecycle_tests",
169
+ message_zh: `机制族 ${m.name} 已实现且有 hard_fail_boundary 但无 lifecycle tests`,
170
+ });
171
+ }
172
+ // 设计文档有机制族但没有 owner module
173
+ if (!m.owner_module) {
174
+ findings.push({
175
+ mechanism_id: m.mechanism_id,
176
+ severity: "hard_fail",
177
+ rule: "mechanism_needs_owner",
178
+ message_zh: `机制族 ${m.name} 缺少 owner_module`,
179
+ });
180
+ }
181
+ // 无测试
182
+ if (m.test_files.length === 0) {
183
+ findings.push({
184
+ mechanism_id: m.mechanism_id,
185
+ severity: "warning",
186
+ rule: "mechanism_needs_tests",
187
+ message_zh: `机制族 ${m.name} 无测试文件`,
188
+ });
189
+ }
190
+ }
191
+ return findings;
192
+ }
193
+ /** 重置注册表(测试用) */
194
+ export function resetMechanismRegistry() {
195
+ runtimeMechanisms = null;
196
+ }
197
+ //# sourceMappingURL=mechanism_family_registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mechanism_family_registry.js","sourceRoot":"","sources":["../../src/engine/mechanism_family_registry.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ const STEP_DESCRIPTIONS = {
32
32
  knowledge_review: "知识库复习",
33
33
  first_task: "首次任务",
34
34
  };
35
- // ── Main function ──
35
+ // ── 主函数 ──
36
36
  /**
37
37
  * 执行新人引导流程的内部主函数。
38
38
  * @description 根据已完成步骤自动推进到下一个未完成的引导阶段,执行对应逻辑并更新进度。
@@ -73,7 +73,7 @@ export async function runOnboarding(input) {
73
73
  completed_steps: [...completedSteps],
74
74
  next_action_hint: "",
75
75
  };
76
- // Execute current step
76
+ // 执行当前步骤
77
77
  switch (currentStep) {
78
78
  case "project_overview":
79
79
  console.error("[soloForge] 引导模块: 执行步骤 — 项目概览");
@@ -111,7 +111,7 @@ export async function runOnboarding(input) {
111
111
  });
112
112
  return result;
113
113
  }
114
- // ── Public entry point for MCP tool (sf_onboard) ──
114
+ // ── MCP 工具公共入口 (sf_onboard) ──
115
115
  /**
116
116
  * MCP 工具层(sf_onboard)的公共入口。
117
117
  * @description 处理会话恢复逻辑:若非重置模式,先尝试加载已持久化的引导进度;
@@ -139,7 +139,7 @@ export async function onboard(input) {
139
139
  }
140
140
  return runOnboarding({ config, projectPath, gitOps, knowledgeIndex, currentStep, completedSteps });
141
141
  }
142
- // ── Step: project_overview ──
142
+ // ── 步骤: project_overview ──
143
143
  /**
144
144
  * 构建项目概览(引导第一步:project_overview)。
145
145
  * @description 汇总项目名称、技术栈、仓库信息和编码惯例,为新人提供项目全貌。
@@ -178,7 +178,7 @@ async function buildProjectOverview(config, projectPath) {
178
178
  conventions,
179
179
  };
180
180
  }
181
- // ── Step: code_tour ──
181
+ // ── 步骤: code_tour ──
182
182
  /**
183
183
  * 构建代码导览(引导第二步:code_tour)。
184
184
  * @description 扫描配置的作用域目录,识别关键模块和入口文件;结合 Git 提交记录发现近期活跃区域。
@@ -190,9 +190,9 @@ async function buildProjectOverview(config, projectPath) {
190
190
  async function buildCodeTour(config, projectPath, gitOps) {
191
191
  const keyModules = [];
192
192
  const allScopePaths = [...config.scope.backend, ...config.scope.frontend];
193
- // Walk scope paths for key directories
193
+ // 遍历作用域路径以查找关键目录
194
194
  for (const scopeGlob of allScopePaths) {
195
- // Extract directory prefix from glob patterns like "src/**", "web/pages/*"
195
+ // glob 模式中提取目录前缀(如 "src/**""web/pages/*"
196
196
  const dirPrefix = scopeGlob.replace(/\/\*\*?$/, "").replace(/\/\*$/, "");
197
197
  const absDir = path.resolve(projectPath, dirPrefix);
198
198
  try {
@@ -210,7 +210,7 @@ async function buildCodeTour(config, projectPath, gitOps) {
210
210
  /* directory not found or unreadable */
211
211
  }
212
212
  }
213
- // Use git log to find most active areas
213
+ // 使用 git log 查找最近活跃区域
214
214
  try {
215
215
  const log = await gitOps.getLog(projectPath, { maxCount: 5 });
216
216
  const touchedFiles = new Set();
@@ -242,7 +242,7 @@ async function buildCodeTour(config, projectPath, gitOps) {
242
242
  catch {
243
243
  /* git log may fail */
244
244
  }
245
- // Find entry points in scope root directories
245
+ // 在作用域根目录中查找入口文件
246
246
  const entryPoints = [];
247
247
  for (const scopeGlob of allScopePaths) {
248
248
  const dirPrefix = scopeGlob.replace(/\/\*\*?$/, "").replace(/\/\*$/, "");
@@ -267,7 +267,7 @@ async function buildCodeTour(config, projectPath, gitOps) {
267
267
  entry_points: entryPoints,
268
268
  };
269
269
  }
270
- // ── Step: knowledge_review ──
270
+ // ── 步骤: knowledge_review ──
271
271
  /**
272
272
  * 构建知识库摘要(引导第三步:knowledge_review)。
273
273
  * @description 从知识索引中统计活跃条目的总数、模式数、流程数,并提取最多 10 个关键主题。
@@ -319,7 +319,7 @@ function buildKnowledgeSummary(knowledgeIndex) {
319
319
  };
320
320
  }
321
321
  }
322
- // ── Step: first_task ──
322
+ // ── 步骤: first_task ──
323
323
  /**
324
324
  * 生成首个任务建议(引导第四步:first_task)。
325
325
  * @description 基于工作区状态和近期提交历史,智能推荐适合新人执行的第一个任务。
@@ -330,7 +330,7 @@ function buildKnowledgeSummary(knowledgeIndex) {
330
330
  */
331
331
  async function buildFirstTaskSuggestion(projectPath, gitOps) {
332
332
  const suggestions = [];
333
- // Check for uncommitted changes
333
+ // 检查未提交变更
334
334
  try {
335
335
  const status = await gitOps.getStatus(projectPath);
336
336
  if (status.length > 0) {
@@ -344,11 +344,11 @@ async function buildFirstTaskSuggestion(projectPath, gitOps) {
344
344
  catch {
345
345
  /* status may fail */
346
346
  }
347
- // Analyze recent commit history for task ideas
347
+ // 分析最近提交历史以获取任务建议
348
348
  try {
349
349
  const log = await gitOps.getLog(projectPath, { maxCount: 10 });
350
350
  const recentMessages = log.map((e) => e.message.toLowerCase());
351
- // Check if tests are mentioned
351
+ // 检查是否有测试相关提交
352
352
  const hasTestMentions = recentMessages.some((m) => m.includes("test"));
353
353
  if (!hasTestMentions) {
354
354
  suggestions.push({
@@ -357,7 +357,7 @@ async function buildFirstTaskSuggestion(projectPath, gitOps) {
357
357
  difficulty: "low",
358
358
  });
359
359
  }
360
- // Check for docs
360
+ // 检查是否有文档相关提交
361
361
  const hasDocMentions = recentMessages.some((m) => m.includes("doc") || m.includes("readme"));
362
362
  if (!hasDocMentions) {
363
363
  suggestions.push({
@@ -366,7 +366,7 @@ async function buildFirstTaskSuggestion(projectPath, gitOps) {
366
366
  difficulty: "low",
367
367
  });
368
368
  }
369
- // Check for lint/fix
369
+ // 检查是否有 lint/格式修复提交
370
370
  const hasLintFixes = recentMessages.some((m) => m.includes("lint") || m.includes("style") || m.includes("format"));
371
371
  if (!hasLintFixes) {
372
372
  suggestions.push({
@@ -375,7 +375,7 @@ async function buildFirstTaskSuggestion(projectPath, gitOps) {
375
375
  difficulty: "low",
376
376
  });
377
377
  }
378
- // If there are recent commits, suggest reviewing them
378
+ // 如果有最近提交,建议阅读它们
379
379
  if (log.length > 0) {
380
380
  suggestions.push({
381
381
  intent: "阅读近期提交,熟悉代码风格",
@@ -387,7 +387,7 @@ async function buildFirstTaskSuggestion(projectPath, gitOps) {
387
387
  catch {
388
388
  /* git log may fail */
389
389
  }
390
- // Default suggestion if nothing else
390
+ // 无其他建议时的默认选项
391
391
  if (suggestions.length === 0) {
392
392
  suggestions.push({
393
393
  intent: "阅读项目配置和入口文件",
@@ -395,7 +395,7 @@ async function buildFirstTaskSuggestion(projectPath, gitOps) {
395
395
  difficulty: "low",
396
396
  });
397
397
  }
398
- // Return the first suggestion
398
+ // 返回第一个建议
399
399
  return suggestions[0];
400
400
  }
401
401
  /**
@@ -418,7 +418,7 @@ async function deleteSessionFile(projectPath) {
418
418
  async function persistSession(projectPath, currentStep, completedSteps) {
419
419
  const stateDir = path.join(projectPath, ".soloforge", "state");
420
420
  const sessionFile = path.join(stateDir, "onboarding-session.json");
421
- // Ensure directory exists
421
+ // 确保目录存在
422
422
  await fs.mkdir(stateDir, { recursive: true });
423
423
  const session = {
424
424
  current_step: currentStep,