soloforge 1.3.3 → 1.3.4

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 (75) hide show
  1. package/README.md +9 -0
  2. package/dist/adapters/claude_code/server.js +1 -1
  3. package/dist/adapters/claude_code/server.js.map +1 -1
  4. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  5. package/dist/adapters/claude_code/tools.js +109 -25
  6. package/dist/adapters/claude_code/tools.js.map +1 -1
  7. package/dist/adapters/shared/workflow_template.js +2 -2
  8. package/dist/adapters/shared/workflow_template.js.map +1 -1
  9. package/dist/bin/soloforge.js +65 -0
  10. package/dist/bin/soloforge.js.map +1 -1
  11. package/dist/engine/asset_manifest.d.ts.map +1 -1
  12. package/dist/engine/asset_manifest.js +11 -0
  13. package/dist/engine/asset_manifest.js.map +1 -1
  14. package/dist/engine/code_maintainability_observability_contract.d.ts +74 -0
  15. package/dist/engine/code_maintainability_observability_contract.d.ts.map +1 -0
  16. package/dist/engine/code_maintainability_observability_contract.js +473 -0
  17. package/dist/engine/code_maintainability_observability_contract.js.map +1 -0
  18. package/dist/engine/config_write_boundary.d.ts +29 -0
  19. package/dist/engine/config_write_boundary.d.ts.map +1 -0
  20. package/dist/engine/config_write_boundary.js +69 -0
  21. package/dist/engine/config_write_boundary.js.map +1 -0
  22. package/dist/engine/consumable_asset_registry.d.ts.map +1 -1
  23. package/dist/engine/consumable_asset_registry.js +49 -1
  24. package/dist/engine/consumable_asset_registry.js.map +1 -1
  25. package/dist/engine/diagnostic_registry.d.ts +12 -0
  26. package/dist/engine/diagnostic_registry.d.ts.map +1 -1
  27. package/dist/engine/diagnostic_registry.js +62 -0
  28. package/dist/engine/diagnostic_registry.js.map +1 -1
  29. package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -1
  30. package/dist/engine/dual_layer_mechanism_registry.js +194 -1
  31. package/dist/engine/dual_layer_mechanism_registry.js.map +1 -1
  32. package/dist/engine/explicit_asset_registry.d.ts.map +1 -1
  33. package/dist/engine/explicit_asset_registry.js +134 -0
  34. package/dist/engine/explicit_asset_registry.js.map +1 -1
  35. package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -1
  36. package/dist/engine/implementation_roadmap_registry.js +45 -1
  37. package/dist/engine/implementation_roadmap_registry.js.map +1 -1
  38. package/dist/engine/knowledge_governance_gate.d.ts +38 -0
  39. package/dist/engine/knowledge_governance_gate.d.ts.map +1 -0
  40. package/dist/engine/knowledge_governance_gate.js +123 -0
  41. package/dist/engine/knowledge_governance_gate.js.map +1 -0
  42. package/dist/engine/log_governance.d.ts +25 -0
  43. package/dist/engine/log_governance.d.ts.map +1 -0
  44. package/dist/engine/log_governance.js +76 -0
  45. package/dist/engine/log_governance.js.map +1 -0
  46. package/dist/engine/mechanism_contract_registry.d.ts +1 -0
  47. package/dist/engine/mechanism_contract_registry.d.ts.map +1 -1
  48. package/dist/engine/mechanism_contract_registry.js +104 -0
  49. package/dist/engine/mechanism_contract_registry.js.map +1 -1
  50. package/dist/engine/mechanism_health_check.d.ts +23 -0
  51. package/dist/engine/mechanism_health_check.d.ts.map +1 -0
  52. package/dist/engine/mechanism_health_check.js +140 -0
  53. package/dist/engine/mechanism_health_check.js.map +1 -0
  54. package/dist/engine/observability.js +1 -1
  55. package/dist/engine/observability.js.map +1 -1
  56. package/dist/engine/release_issue_scenario_registry.d.ts.map +1 -1
  57. package/dist/engine/release_issue_scenario_registry.js +216 -0
  58. package/dist/engine/release_issue_scenario_registry.js.map +1 -1
  59. package/dist/engine/release_readiness_gate.d.ts +3 -0
  60. package/dist/engine/release_readiness_gate.d.ts.map +1 -1
  61. package/dist/engine/release_readiness_gate.js +260 -8
  62. package/dist/engine/release_readiness_gate.js.map +1 -1
  63. package/dist/engine/team_awareness.js +6 -6
  64. package/dist/engine/team_awareness.js.map +1 -1
  65. package/dist/types.d.ts +4 -0
  66. package/dist/types.d.ts.map +1 -1
  67. package/package.json +1 -1
  68. package/templates/knowledge/acceptance_templates//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/351/252/214/346/224/266/346/250/241/346/235/277.md +78 -0
  69. package/templates/knowledge/review//344/273/243/347/240/201/345/217/257/347/273/264/346/212/244/346/200/247/344/270/216/345/217/257/350/247/202/346/265/213/346/200/247/345/256/241/346/237/245.md +81 -0
  70. package/templates/knowledge/rules//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/345/245/221/347/272/246/350/247/204/345/210/231.md +121 -0
  71. package/templates/knowledge/rules//346/225/217/346/204/237/344/277/241/346/201/257/346/227/245/345/277/227/350/247/204/345/210/231.md +69 -0
  72. package/templates/knowledge/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +49 -0
  73. package/templates/knowledge/rules//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206/350/247/204/345/210/231.md +48 -0
  74. package/templates/knowledge/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +50 -0
  75. package/templates/knowledge/rules//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214/350/247/204/345/210/231.md +47 -0
package/README.md CHANGED
@@ -8,6 +8,15 @@ AI 编程助手的项目工作流配置器。SoloForge 帮你把 Claude Code、C
8
8
  - 你希望每个项目都有稳定的 AI 工作流规则,而不是每次从零解释。
9
9
  - 你希望 AI 修改代码前先理解项目边界,生成产物时不要误改源码。
10
10
  - 你希望配置可以自动推断,但不要在低置信度时乱写项目配置。
11
+ - 你希望 AI 写业务代码时能遵守必要注释、结构化日志、敏感信息脱敏和交付复验要求。
12
+
13
+ ## 核心能力
14
+
15
+ - **下一步导航**: `soloforge next` 会根据当前阶段、阻断项和已有证据提示下一步,而不是只报告状态。
16
+ - **设计产物包审计**: 架构、数据库、API、OpenAPI、SQL/migration 和一致性报告按统一合同审计,避免文档之间漂移。
17
+ - **工程实现契约**: 编码阶段会约束 OOD/SOLID、Controller 入参出参、参数校验、事务、幂等、权限、日志和错误处理等实现细节。
18
+ - **注释与日志治理**: 关键业务规则、状态变更、支付/权限/安全路径、异常处理和迁移脚本需要可定位日志或必要注释;敏感信息不得进入日志。
19
+ - **长期机制化门禁**: SoloForge 自身发布前会检查机制消费链路、知识治理、配置落盘边界、日志治理和诊断码集中注册,防止只靠文档或测试自证。
11
20
 
12
21
  ## 最短成功路径
13
22
 
@@ -32,7 +32,7 @@ export async function startServer(deps) {
32
32
  await transport.close?.();
33
33
  }
34
34
  catch (e) {
35
- console.debug("[soloForge]", e);
35
+ debug("server", "关闭资源失败", e);
36
36
  }
37
37
  process.exit(0);
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/claude_code/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7D,MAAM,UAAU,GAAW,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAmBxH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAgB;IAC9C,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,cAAc;gBAAE,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,yBAAyB;QACzB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,YAAY,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/claude_code/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7D,MAAM,UAAU,GAAW,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAmBxH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAgB;IAC9C,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,cAAc;gBAAE,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,yBAAyB;QACzB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,YAAY,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude_code/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude_code/tools.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import crypto from "node:crypto";
6
6
  import { verifyArtifact } from "../../engine/artifact_contract_registry.js";
7
7
  import { verifyRouteDecisionContract } from "../../engine/route_decision_contract_verifier.js";
8
8
  import { findToolInvocationContractByName, createToolTrace, validateToolInvocation, hasWriteSideEffect, } from "../../engine/tool_invocation_contract_registry.js";
9
+ import { TOOL_DIAGNOSTIC_CODES } from "../../engine/diagnostic_registry.js";
9
10
  function createLazy(loader) {
10
11
  let mod = { loaded: null, promise: null };
11
12
  return () => {
@@ -38,7 +39,6 @@ const lazyDebugger = createLazy(() => import("../../engine/debugger.js"));
38
39
  const lazyObservability = createLazy(() => import("../../engine/observability.js"));
39
40
  const lazyGovernance = createLazy(() => import("../../engine/governance_report.js"));
40
41
  const lazyMigration = createLazy(() => import("../../engine/migration_guard.js"));
41
- const lazyPlanGate = createLazy(() => import("../../engine/plan_proposal_gate.js"));
42
42
  const lazyTestGen = createLazy(() => import("../../engine/test_generator.js"));
43
43
  const lazyTestQuality = createLazy(() => import("../../engine/test_quality.js"));
44
44
  const lazyDepScan = createLazy(() => import("../../engine/dependency_scanner.js"));
@@ -59,7 +59,6 @@ const lazyCapState = createLazy(() => import("../../engine/capability_state_stor
59
59
  const lazyMainPath = createLazy(() => import("../../engine/main_path_integration_contract.js"));
60
60
  const lazyDualLayer = createLazy(() => import("../../engine/dual_layer_mechanism_registry.js"));
61
61
  const lazyInputMaterial = createLazy(() => import("../../engine/input_material_contract_registry.js"));
62
- const lazyConfigCmd = createLazy(() => import("../../bin/config_commands.js"));
63
62
  const lazyConfigPrecedence = createLazy(() => import("../../engine/config_precedence_contract.js"));
64
63
  const lazyEnforcementGuard = createLazy(() => import("../../engine/enforcement_guard.js"));
65
64
  const lazyWorkspaceLease = createLazy(() => import("../../engine/workspace_lease.js"));
@@ -67,8 +66,6 @@ const lazyDeliveryReadiness = createLazy(() => import("../../engine/delivery_rea
67
66
  const lazyVerificationContract = createLazy(() => import("../../engine/verification_contract.js"));
68
67
  const lazyFailureReport = createLazy(() => import("../../engine/failure_report.js"));
69
68
  const lazyDegradation = createLazy(() => import("../../engine/degradation.js"));
70
- const lazyRetentionPolicy = createLazy(() => import("../../engine/retention_policy.js"));
71
- const lazyDiagnosticRegistry = createLazy(() => import("../../engine/diagnostic_registry.js"));
72
69
  const lazyArchitectureDesign = createLazy(() => import("../../engine/architecture_design_contract.js"));
73
70
  const lazyExistingSystemAnalysis = createLazy(() => import("../../engine/existing_system_analysis.js"));
74
71
  const lazyCodingReadiness = createLazy(() => import("../../engine/coding_readiness_gate.js"));
@@ -81,11 +78,11 @@ const lazyBrainstormContract = createLazy(() => import("../../engine/brainstorm_
81
78
  const lazyArchitectureWorkshop = createLazy(() => import("../../engine/architecture_decision_workshop.js"));
82
79
  const lazyDesignArtifactPack = createLazy(() => import("../../engine/design_artifact_pack.js"));
83
80
  const lazyStandardAssetContract = createLazy(() => import("../../engine/standard_asset_contract.js"));
84
- const lazyTemplateVisibility = createLazy(() => import("../../engine/template_asset_visibility.js"));
85
81
  const lazyDecisionWorkshop = createLazy(() => import("../../engine/decision_workshop.js"));
86
82
  const lazyNavigation = createLazy(() => import("../../engine/next_action_planner.js"));
87
83
  const lazyOodSolid = createLazy(() => import("../../engine/ood_solid_contract.js"));
88
84
  const lazyBackendImplementation = createLazy(() => import("../../engine/backend_implementation_contract.js"));
85
+ const lazyCodeObservability = createLazy(() => import("../../engine/code_maintainability_observability_contract.js"));
89
86
  // ── Zod Schema 定义 ──
90
87
  const ClassifySchema = {
91
88
  intent: z.string().describe("开发者意图描述"),
@@ -100,6 +97,7 @@ const ExpandSchema = {
100
97
  design_artifact_pack: z.unknown().optional().describe("设计产物包路径映射或已复验状态"),
101
98
  ood_solid_summary: z.unknown().optional().describe("复杂编码任务的 OOD/SOLID 设计摘要"),
102
99
  backend_implementation_work_package: z.unknown().optional().describe("后端接口实现的工程工作包"),
100
+ code_observability_work_package: z.unknown().optional().describe("代码可维护性与可观测性工作包"),
103
101
  };
104
102
  const VerifySchema = {
105
103
  task_id: z.string().describe("任务 ID"),
@@ -240,7 +238,7 @@ export function checkWriteToolPlanGate(params) {
240
238
  if (!params.ctx || !params.ctx.plan_proposal_gate) {
241
239
  return {
242
240
  allowed: false,
243
- diagnostic_code: "SF-PLAN-5001",
241
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.planGate,
244
242
  violation_type: "guard_blocked",
245
243
  reason: `工具 ${params.toolName} 执行前缺少 Plan Proposal Gate`,
246
244
  };
@@ -787,7 +785,7 @@ export async function assessCepForRepairReverify(params) {
787
785
  */
788
786
  export async function assessCepForUserFeedback(params) {
789
787
  const cepModule = await import("../../engine/core_experience_principle.js");
790
- return cepModule.evaluateUserVisibleOutput({
788
+ const cep = cepModule.evaluateUserVisibleOutput({
791
789
  has_conclusion_first: params.has_conclusion_first,
792
790
  has_clear_summary: params.has_clear_summary,
793
791
  has_actionable_next_step: params.has_actionable_next_step,
@@ -795,6 +793,22 @@ export async function assessCepForUserFeedback(params) {
795
793
  hides_critical_failure: params.hides_critical_failure,
796
794
  chinese_semantic_first: params.chinese_semantic_first,
797
795
  });
796
+ const logGov = await import("../../engine/log_governance.js");
797
+ const logReport = logGov.evaluateFeedbackOutputQuality({
798
+ output: [
799
+ params.has_conclusion_first ? "结论优先" : "缺少结论",
800
+ params.has_clear_summary ? "摘要清晰" : "摘要不足",
801
+ params.has_actionable_next_step ? "下一步明确" : "下一步缺失",
802
+ ].join(";"),
803
+ critical_failure_hidden: params.hides_critical_failure,
804
+ });
805
+ return {
806
+ passed: cep.passed && logReport.passed,
807
+ issues_zh: [
808
+ ...cep.issues_zh,
809
+ ...logReport.findings.map((f) => f.message_zh),
810
+ ],
811
+ };
798
812
  }
799
813
  /**
800
814
  * 注册所有 MCP 工具到服务器实例。
@@ -982,7 +996,7 @@ export async function registerTools(server, deps) {
982
996
  content: [{ type: "text", text: JSON.stringify({
983
997
  error: planViolation.reason,
984
998
  violation: planViolation,
985
- diagnostic_code: pgResult.diagnostic_code ?? "SF-PLAN-5001",
999
+ diagnostic_code: pgResult.diagnostic_code ?? TOOL_DIAGNOSTIC_CODES.planGate,
986
1000
  recovery: planViolation.recovery,
987
1001
  }) }],
988
1002
  isError: true,
@@ -1008,7 +1022,7 @@ export async function registerTools(server, deps) {
1008
1022
  content: [{ type: "text", text: JSON.stringify({
1009
1023
  error: planViolation.reason,
1010
1024
  violation: planViolation,
1011
- diagnostic_code: "SF-PLAN-5001",
1025
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.planGate,
1012
1026
  recovery: planViolation.recovery,
1013
1027
  }) }],
1014
1028
  isError: true,
@@ -1037,7 +1051,7 @@ export async function registerTools(server, deps) {
1037
1051
  content: [{ type: "text", text: JSON.stringify({
1038
1052
  error: instrViolation.reason,
1039
1053
  violation: instrViolation,
1040
- diagnostic_code: instrResult.diagnostic_code ?? "SF-INSTR-5801",
1054
+ diagnostic_code: instrResult.diagnostic_code ?? TOOL_DIAGNOSTIC_CODES.instructionContract,
1041
1055
  recovery: instrViolation.recovery,
1042
1056
  }) }],
1043
1057
  isError: true,
@@ -1330,8 +1344,11 @@ export async function registerTools(server, deps) {
1330
1344
  if (args.backend_implementation_work_package) {
1331
1345
  ctx.backend_implementation_work_package = args.backend_implementation_work_package;
1332
1346
  }
1347
+ if (args.code_observability_work_package) {
1348
+ ctx.code_observability_work_package = args.code_observability_work_package;
1349
+ }
1333
1350
  if (args.architecture_decision_workshop || args.decision_workshop || args.design_artifact_pack
1334
- || args.ood_solid_summary || args.backend_implementation_work_package) {
1351
+ || args.ood_solid_summary || args.backend_implementation_work_package || args.code_observability_work_package) {
1335
1352
  await taskContext.save(ctx);
1336
1353
  }
1337
1354
  // 状态守卫:classifying/expanding/clarifying → expanding
@@ -1722,7 +1739,7 @@ export async function registerTools(server, deps) {
1722
1739
  result: {
1723
1740
  error: oodGate.reason_zh,
1724
1741
  status: "awaiting_ood_design",
1725
- diagnostic_code: "SF-OOD-6601",
1742
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.oodMissingSummary,
1726
1743
  ood_solid_summary: oodGate.required_summary,
1727
1744
  recovery: "请确认对象职责、接口边界、依赖方向、变化点和 SOLID 风险后重新调用 sf_expand",
1728
1745
  },
@@ -1747,13 +1764,39 @@ export async function registerTools(server, deps) {
1747
1764
  result: {
1748
1765
  error: backendGate.reason_zh,
1749
1766
  status: "awaiting_backend_contract",
1750
- diagnostic_code: "SF-BACKEND-6701",
1767
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.backendMissingSummary,
1751
1768
  backend_implementation_work_package: backendGate.work_package,
1752
1769
  recovery: "请补齐 DTO/校验、事务一致性、安全审计、契约对齐与测试证据后重新调用 sf_expand",
1753
1770
  },
1754
1771
  };
1755
1772
  }
1756
1773
  }
1774
+ // 问题六十八: 业务编码必须确认代码可维护性与可观测性约束。
1775
+ {
1776
+ const obsModule = await lazyCodeObservability();
1777
+ const obsGate = obsModule.evaluateCodeObservabilityGate({
1778
+ task_id: args.task_id,
1779
+ intent: ctx.intent,
1780
+ route: expansionRoute,
1781
+ changed_files: ctx.execution?.changed_files,
1782
+ work_package: ctx.code_observability_work_package,
1783
+ });
1784
+ if (obsGate.applicable) {
1785
+ ctx.code_observability_work_package = obsGate.work_package;
1786
+ await taskContext.save(ctx);
1787
+ }
1788
+ if (!obsGate.allowed) {
1789
+ return {
1790
+ result: {
1791
+ error: obsGate.reason_zh,
1792
+ status: "awaiting_code_observability_contract",
1793
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.codeObservabilityWorkPackage,
1794
+ code_observability_work_package: obsGate.work_package,
1795
+ recovery: "请确认必要注释、结构化日志、敏感信息脱敏和项目 logger 使用后重新调用 sf_expand",
1796
+ },
1797
+ };
1798
+ }
1799
+ }
1757
1800
  // Input Material Contract: 处理 hard-blocking 结果
1758
1801
  // Privacy Gate: 隐私/敏感信息策略阻断
1759
1802
  const isBlocked = expansion.prompt.startsWith("## 阻塞:输入材料禁止读取")
@@ -1986,7 +2029,7 @@ export async function registerTools(server, deps) {
1986
2029
  result: {
1987
2030
  error: oodGate.reason_zh,
1988
2031
  status: "blocked",
1989
- diagnostic_code: "SF-OOD-6601",
2032
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.oodMissingSummary,
1990
2033
  ood_solid_summary: oodGate.required_summary,
1991
2034
  recovery: "完成 OOD/SOLID 摘要后重新执行 sf_expand 与 sf_verify",
1992
2035
  },
@@ -2005,7 +2048,7 @@ export async function registerTools(server, deps) {
2005
2048
  result: {
2006
2049
  error: backendGate.reason_zh,
2007
2050
  status: "blocked",
2008
- diagnostic_code: "SF-BACKEND-6701",
2051
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.backendMissingSummary,
2009
2052
  backend_implementation_work_package: backendGate.work_package,
2010
2053
  recovery: "完成后端工程工作包后重新执行 sf_expand 与 sf_verify",
2011
2054
  },
@@ -2038,7 +2081,7 @@ export async function registerTools(server, deps) {
2038
2081
  result: {
2039
2082
  error: "OOD/SOLID 代码复验发现阻断项,需修复后重验",
2040
2083
  status: "blocked",
2041
- diagnostic_code: "SF-OOD-6602",
2084
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.oodDeliveryBlock,
2042
2085
  ood_solid_findings: solidFindings,
2043
2086
  },
2044
2087
  };
@@ -2048,11 +2091,30 @@ export async function registerTools(server, deps) {
2048
2091
  result: {
2049
2092
  error: "后端实现工程复验发现阻断项,需修复后重验",
2050
2093
  status: "blocked",
2051
- diagnostic_code: "SF-BACKEND-6702",
2094
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.backendDeliveryBlock,
2052
2095
  backend_implementation_findings: backendFindings,
2053
2096
  },
2054
2097
  };
2055
2098
  }
2099
+ // 问题六十八: 代码可维护性与可观测性契约
2100
+ const codeObsModule = await lazyCodeObservability();
2101
+ const obsFindings = codeObsModule.verifyChangedFilesObservability({
2102
+ changed_files: implementationFiles,
2103
+ file_contents: implementationContents,
2104
+ intent: ctx.intent,
2105
+ });
2106
+ ctx.code_observability_findings = obsFindings;
2107
+ await taskContext.save(ctx);
2108
+ if (codeObsModule.hasBlockingObservabilityFindings(obsFindings)) {
2109
+ return {
2110
+ result: {
2111
+ error: "代码可维护性/可观测性复验发现阻断项,需修复后重验",
2112
+ status: "blocked",
2113
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.codeObservabilityFinding,
2114
+ code_observability_findings: obsFindings,
2115
+ },
2116
+ };
2117
+ }
2056
2118
  }
2057
2119
  // 问题六十二: 设计产物验证必须读取用户项目真实文件,不接受占位合同自证通过。
2058
2120
  const verifyWorkflowIntent = ctx.route_decision?.workflow_intent ?? ctx.classification?.route_decision?.workflow_intent;
@@ -2143,7 +2205,7 @@ export async function registerTools(server, deps) {
2143
2205
  result: {
2144
2206
  error: `文件 ${changedFile} 模板契约验证未通过,进入修复重验闭环`,
2145
2207
  status: "blocked",
2146
- diagnostic_code: "SF-CONTRACT-0003",
2208
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.contractDraft,
2147
2209
  template_contract_id: perFileContract.asset_id,
2148
2210
  missing_fields: contractResult.missing_fields,
2149
2211
  messages: contractResult.messages,
@@ -2434,8 +2496,8 @@ export async function registerTools(server, deps) {
2434
2496
  if (args.plan_id !== currentPlan.plan_id) {
2435
2497
  return {
2436
2498
  result: {
2437
- error: `plan_id 不匹配: 请求 "${args.plan_id}",当前任务计划 "${currentPlan.plan_id}" [SF-VERIFY-5002]`,
2438
- diagnostic_code: "SF-VERIFY-5002",
2499
+ error: `plan_id 不匹配: 请求 "${args.plan_id}",当前任务计划 "${currentPlan.plan_id}" [${TOOL_DIAGNOSTIC_CODES.verifyPlanMismatch}]`,
2500
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.verifyPlanMismatch,
2439
2501
  },
2440
2502
  };
2441
2503
  }
@@ -2842,11 +2904,18 @@ export async function registerTools(server, deps) {
2842
2904
  || ctx.backend_implementation_work_package
2843
2905
  ? backendModule.reviewBackendImplementationFiles(contractContents)
2844
2906
  : [];
2845
- if (solidFindings.length > 0 || backendFindings.length > 0) {
2907
+ // 问题六十八: 代码可维护性与可观测性审查
2908
+ const obsModule = await lazyCodeObservability();
2909
+ const obsFindings = obsModule.requiresCodeObservabilityContract(ctx.intent, ctx.expansion?.workflow_trace?.route, args.changed_files)
2910
+ || ctx.code_observability_work_package
2911
+ ? obsModule.reviewCodeObservability(contractContents)
2912
+ : [];
2913
+ if (solidFindings.length > 0 || backendFindings.length > 0 || obsFindings.length > 0) {
2846
2914
  const updatedCtx = await taskContext.load(args.task_id);
2847
2915
  if (updatedCtx) {
2848
2916
  updatedCtx.ood_solid_findings = solidFindings;
2849
2917
  updatedCtx.backend_implementation_findings = backendFindings;
2918
+ updatedCtx.code_observability_findings = obsFindings;
2850
2919
  await taskContext.save(updatedCtx);
2851
2920
  }
2852
2921
  }
@@ -2860,7 +2929,9 @@ export async function registerTools(server, deps) {
2860
2929
  reviewExtras.ood_solid_findings = solidFindings;
2861
2930
  if (backendFindings.length > 0)
2862
2931
  reviewExtras.backend_implementation_findings = backendFindings;
2863
- if (oodModule.hasBlockingSolidFindings(solidFindings) || backendModule.hasBlockingBackendFindings(backendFindings)) {
2932
+ if (obsFindings.length > 0)
2933
+ reviewExtras.code_observability_findings = obsFindings;
2934
+ if (oodModule.hasBlockingSolidFindings(solidFindings) || backendModule.hasBlockingBackendFindings(backendFindings) || obsModule.hasBlockingObservabilityFindings(obsFindings)) {
2864
2935
  reviewExtras.delivery_blocked = true;
2865
2936
  reviewExtras.diagnostic_code = "SF-IMPLEMENTATION-CONTRACT-REVIEW-BLOCKED";
2866
2937
  }
@@ -3008,7 +3079,7 @@ export async function registerTools(server, deps) {
3008
3079
  return {
3009
3080
  result: {
3010
3081
  error: "存在未清零的模板契约修复指令,需完成修复重验后才能交付",
3011
- diagnostic_code: "SF-CONTRACT-0003",
3082
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.contractDraft,
3012
3083
  repair_directive: ctx.repair_reverify_directive,
3013
3084
  recovery: "修复文档缺口后重新执行 sf_verify,验证通过后 repair_reverify_directive 自动清零",
3014
3085
  recovery_next_tools: ["sf_learn", "sf_verify", "sf_status"],
@@ -3022,7 +3093,7 @@ export async function registerTools(server, deps) {
3022
3093
  return {
3023
3094
  result: {
3024
3095
  error: "OOD/SOLID 契约仍存在硬失败,不得交付",
3025
- diagnostic_code: "SF-OOD-6602",
3096
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.oodDeliveryBlock,
3026
3097
  findings: ctx.ood_solid_findings,
3027
3098
  recovery: "按 finding 修复职责或依赖边界,并重新执行 sf_review 与 sf_verify",
3028
3099
  },
@@ -3033,12 +3104,25 @@ export async function registerTools(server, deps) {
3033
3104
  return {
3034
3105
  result: {
3035
3106
  error: "后端实现工程契约仍存在硬失败,不得交付",
3036
- diagnostic_code: "SF-BACKEND-6702",
3107
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.backendDeliveryBlock,
3037
3108
  findings: ctx.backend_implementation_findings,
3038
3109
  recovery: "按 finding 修复后端边界、安全或一致性问题,并重新执行 sf_review 与 sf_verify",
3039
3110
  },
3040
3111
  };
3041
3112
  }
3113
+ // 问题六十八: 代码可维护性与可观测性 P0 阻断交付。
3114
+ const obsModule = await lazyCodeObservability();
3115
+ const obsDeliveryBlock = obsModule.evaluateDeliveryBlock(ctx.code_observability_findings ?? []);
3116
+ if (obsDeliveryBlock.blocked) {
3117
+ return {
3118
+ result: {
3119
+ error: `代码可维护性/可观测性存在阻断: ${obsDeliveryBlock.reason_zh}`,
3120
+ diagnostic_code: TOOL_DIAGNOSTIC_CODES.codeObservabilityFinding,
3121
+ findings: obsDeliveryBlock.blocking_findings,
3122
+ recovery: "按 finding 修复敏感信息泄漏、缺失日志或吞异常问题,并重新执行 sf_review 与 sf_verify",
3123
+ },
3124
+ };
3125
+ }
3042
3126
  // 产物状态门控: deliver 需要产物状态为 accepted 且有证据
3043
3127
  if (ctx.artifact_output) {
3044
3128
  const status = ctx.artifact_output.status;