soloforge 1.4.4 → 1.4.5

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 (95) hide show
  1. package/README.md +6 -5
  2. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  3. package/dist/adapters/claude_code/tools.js +50 -12
  4. package/dist/adapters/claude_code/tools.js.map +1 -1
  5. package/dist/adapters/shared/workflow_template.js +1 -1
  6. package/dist/bin/soloforge.d.ts.map +1 -1
  7. package/dist/bin/soloforge.js +62 -15
  8. package/dist/bin/soloforge.js.map +1 -1
  9. package/dist/engine/backend_implementation_contract.js +1 -1
  10. package/dist/engine/code_maintainability_observability_contract.js +7 -7
  11. package/dist/engine/code_maintainability_observability_contract.js.map +1 -1
  12. package/dist/engine/consumption_trace_store.d.ts +9 -1
  13. package/dist/engine/consumption_trace_store.d.ts.map +1 -1
  14. package/dist/engine/consumption_trace_store.js +3 -0
  15. package/dist/engine/consumption_trace_store.js.map +1 -1
  16. package/dist/engine/design_artifact_pack.d.ts +2 -0
  17. package/dist/engine/design_artifact_pack.d.ts.map +1 -1
  18. package/dist/engine/design_artifact_pack.js +20 -17
  19. package/dist/engine/design_artifact_pack.js.map +1 -1
  20. package/dist/engine/design_lifecycle_contract.d.ts +60 -0
  21. package/dist/engine/design_lifecycle_contract.d.ts.map +1 -0
  22. package/dist/engine/design_lifecycle_contract.js +497 -0
  23. package/dist/engine/design_lifecycle_contract.js.map +1 -0
  24. package/dist/engine/diagnostic_registry.js +2 -2
  25. package/dist/engine/diagnostic_registry.js.map +1 -1
  26. package/dist/engine/foundation_scenario_registry.js +2 -2
  27. package/dist/engine/foundation_scenario_registry.js.map +1 -1
  28. package/dist/engine/foundation_scenario_runners.js +9 -9
  29. package/dist/engine/foundation_scenario_runners.js.map +1 -1
  30. package/dist/engine/historical_issue_mechanization_matrix.js +1 -1
  31. package/dist/engine/historical_issue_mechanization_matrix.js.map +1 -1
  32. package/dist/engine/implementation_roadmap_registry.js +2 -2
  33. package/dist/engine/implementation_roadmap_registry.js.map +1 -1
  34. package/dist/engine/input_material_extractor.js +1 -1
  35. package/dist/engine/input_material_extractor.js.map +1 -1
  36. package/dist/engine/intent_expander.d.ts.map +1 -1
  37. package/dist/engine/intent_expander.js +38 -15
  38. package/dist/engine/intent_expander.js.map +1 -1
  39. package/dist/engine/knowledge_asset_consumer.d.ts.map +1 -1
  40. package/dist/engine/knowledge_asset_consumer.js +21 -13
  41. package/dist/engine/knowledge_asset_consumer.js.map +1 -1
  42. package/dist/engine/knowledge_injection_boundary.d.ts +2 -2
  43. package/dist/engine/knowledge_injection_boundary.d.ts.map +1 -1
  44. package/dist/engine/knowledge_injection_boundary.js +19 -7
  45. package/dist/engine/knowledge_injection_boundary.js.map +1 -1
  46. package/dist/engine/lifecycle_knowledge_contract.d.ts +59 -0
  47. package/dist/engine/lifecycle_knowledge_contract.d.ts.map +1 -0
  48. package/dist/engine/lifecycle_knowledge_contract.js +203 -0
  49. package/dist/engine/lifecycle_knowledge_contract.js.map +1 -0
  50. package/dist/engine/next_action_planner.js +56 -20
  51. package/dist/engine/next_action_planner.js.map +1 -1
  52. package/dist/engine/observed_consumption.d.ts.map +1 -1
  53. package/dist/engine/observed_consumption.js +2 -1
  54. package/dist/engine/observed_consumption.js.map +1 -1
  55. package/dist/engine/project_knowledge_contract.d.ts +75 -1
  56. package/dist/engine/project_knowledge_contract.d.ts.map +1 -1
  57. package/dist/engine/project_knowledge_contract.js +267 -30
  58. package/dist/engine/project_knowledge_contract.js.map +1 -1
  59. package/dist/engine/regression_matrix.js +1 -1
  60. package/dist/engine/regression_matrix.js.map +1 -1
  61. package/dist/engine/release_issue_scenario_registry.d.ts.map +1 -1
  62. package/dist/engine/release_issue_scenario_registry.js +15 -12
  63. package/dist/engine/release_issue_scenario_registry.js.map +1 -1
  64. package/dist/engine/release_readiness_gate.d.ts.map +1 -1
  65. package/dist/engine/release_readiness_gate.js +183 -54
  66. package/dist/engine/release_readiness_gate.js.map +1 -1
  67. package/dist/engine/stale_current_task_detector.d.ts +1 -1
  68. package/dist/engine/stale_current_task_detector.js +4 -4
  69. package/dist/engine/stale_current_task_detector.js.map +1 -1
  70. package/dist/engine/task_context.d.ts.map +1 -1
  71. package/dist/engine/task_context.js +2 -0
  72. package/dist/engine/task_context.js.map +1 -1
  73. package/dist/engine/traceability.d.ts +2 -2
  74. package/dist/engine/traceability.d.ts.map +1 -1
  75. package/dist/engine/traceability.js +78 -15
  76. package/dist/engine/traceability.js.map +1 -1
  77. package/dist/engine/workflow_navigation_contract.d.ts +11 -0
  78. package/dist/engine/workflow_navigation_contract.d.ts.map +1 -1
  79. package/dist/engine/workspace_resumer.d.ts.map +1 -1
  80. package/dist/engine/workspace_resumer.js +2 -1
  81. package/dist/engine/workspace_resumer.js.map +1 -1
  82. package/dist/knowledge/conflict_detector.d.ts +1 -1
  83. package/dist/knowledge/conflict_detector.d.ts.map +1 -1
  84. package/dist/knowledge/conflict_detector.js +86 -2
  85. package/dist/knowledge/conflict_detector.js.map +1 -1
  86. package/dist/types.d.ts +14 -0
  87. package/dist/types.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. 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 +1 -1
  90. package/templates/knowledge/acceptance_templates//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +6 -6
  91. package/templates/knowledge/acceptance_templates//351/234/200/346/261/202/345/216/237/345/236/213/350/256/276/350/256/241/345/256/236/347/216/260/350/277/275/350/270/252/347/237/251/351/230/265/346/250/241/347/211/210.md +25 -20
  92. package/templates/knowledge/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +8 -5
  93. package/templates/knowledge/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +19 -6
  94. 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 +4 -4
  95. package/templates/knowledge/rules//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205/350/247/204/345/210/231.md +16 -0
@@ -0,0 +1,497 @@
1
+ /**
2
+ * 设计到交付生命周期合同。
3
+ *
4
+ * 本模块是设计、实现、测试、验收各节点输入输出的唯一口径。
5
+ * 其他门禁只能消费这里定义的阶段产物,不能在 sf_verify 或 hook 中临时新增文件假设。
6
+ */
7
+ export const DESIGN_LIFECYCLE_TRACEABILITY_MATRIX_PATH = "docs/traceability/01-需求原型设计实现追踪矩阵.md";
8
+ export const DESIGN_LIFECYCLE_SLICE_PLAN_PATH = "docs/architecture/04-开发切片计划.md";
9
+ export const DESIGN_LIFECYCLE_LEGACY_SLICE_PLAN_PATHS = [];
10
+ export const DESIGN_LIFECYCLE_SQL_ROOTS = [
11
+ "db/migrations",
12
+ "db/migration",
13
+ "db/schema",
14
+ "db/changelog",
15
+ "docs/db/migration",
16
+ "backend/db/migration",
17
+ "backend/src/main/resources/db/migration",
18
+ "server/src/main/resources/db/migration",
19
+ "apps/backend/src/main/resources/db/migration",
20
+ ];
21
+ const INPUT_REQUIREMENTS = {
22
+ id: "requirements_document",
23
+ role: "input",
24
+ path: "docs/requirements.md",
25
+ required: true,
26
+ description_zh: "需求来源,提供 REQ-* 身份和业务目标",
27
+ aliases: ["docs/需求文档.md", "docs/PRD.md"],
28
+ };
29
+ const INPUT_PROTOTYPE = {
30
+ id: "prototype_specification",
31
+ role: "input",
32
+ path: "docs/prototype.md",
33
+ required: true,
34
+ description_zh: "原型说明,提供 PROTO-* 身份、页面和交互来源",
35
+ aliases: ["docs/原型说明.md", "docs/prototype-platform.md"],
36
+ };
37
+ const TRACEABILITY_MATRIX = {
38
+ id: "traceability_matrix",
39
+ role: "authority",
40
+ path: DESIGN_LIFECYCLE_TRACEABILITY_MATRIX_PATH,
41
+ required: true,
42
+ description_zh: "REQ/PROTO/ARCH/DD/PHASE/SLICE/AC 全链路追踪权威资产",
43
+ };
44
+ const LIFECYCLE_STAGES = [
45
+ {
46
+ stage_id: "requirements_intake",
47
+ name_zh: "需求输入",
48
+ purpose_zh: "把用户需求转成可追踪 REQ-*,作为架构和验收来源",
49
+ inputs: [],
50
+ outputs: [INPUT_REQUIREMENTS],
51
+ authorities: [TRACEABILITY_MATRIX],
52
+ gates: [
53
+ {
54
+ id: "requirements_id_gate",
55
+ owner: "sf_expand",
56
+ blocks: ["无 REQ-* 仍生成正式架构或实现"],
57
+ required_evidence: ["需求条目已进入追踪矩阵"],
58
+ recovery_command: "soloforge audit-design-artifacts",
59
+ },
60
+ ],
61
+ },
62
+ {
63
+ stage_id: "prototype_extraction",
64
+ name_zh: "原型提取",
65
+ purpose_zh: "把原型页面、交互和字段转成 PROTO-*,支撑架构与验收",
66
+ inputs: [],
67
+ outputs: [INPUT_PROTOTYPE],
68
+ authorities: [TRACEABILITY_MATRIX],
69
+ gates: [
70
+ {
71
+ id: "prototype_id_gate",
72
+ owner: "sf_expand",
73
+ blocks: ["无 PROTO-* 或来源确认仍生成正式架构"],
74
+ required_evidence: ["原型条目已进入追踪矩阵"],
75
+ recovery_command: "soloforge audit-design-artifacts",
76
+ },
77
+ ],
78
+ },
79
+ {
80
+ stage_id: "architecture_design",
81
+ name_zh: "架构设计",
82
+ purpose_zh: "基于需求和原型确认系统边界、技术决策、模块职责和全局约束",
83
+ inputs: [INPUT_REQUIREMENTS, INPUT_PROTOTYPE],
84
+ outputs: [
85
+ {
86
+ id: "architecture_decision_record",
87
+ role: "output",
88
+ path: "docs/architecture/00-架构决策记录.md",
89
+ required: true,
90
+ description_zh: "架构决策和人工确认记录",
91
+ },
92
+ {
93
+ id: "architecture_document",
94
+ role: "output",
95
+ path: "docs/architecture/01-架构设计文档.md",
96
+ required: true,
97
+ description_zh: "总体架构、边界、模块、技术选型和 ARCH-* 定义",
98
+ },
99
+ ],
100
+ authorities: [TRACEABILITY_MATRIX],
101
+ gates: [
102
+ {
103
+ id: "architecture_source_gate",
104
+ owner: "sf_expand",
105
+ blocks: ["架构设计缺少 REQ-* 或 PROTO-* 来源"],
106
+ required_evidence: ["架构文档引用 REQ-* 或 PROTO-*", "架构决策已确认"],
107
+ recovery_command: "soloforge audit-design-artifacts",
108
+ },
109
+ ],
110
+ },
111
+ {
112
+ stage_id: "detail_design",
113
+ name_zh: "详细设计",
114
+ purpose_zh: "把架构决策落实为可编码的数据、接口和实现约束;详细设计不是固定单文件",
115
+ inputs: [
116
+ {
117
+ id: "architecture_document",
118
+ role: "input",
119
+ path: "docs/architecture/01-架构设计文档.md",
120
+ required: true,
121
+ description_zh: "ARCH-* 来源和全局约束",
122
+ },
123
+ ],
124
+ outputs: [
125
+ {
126
+ id: "database_design_document",
127
+ role: "output",
128
+ path: "docs/architecture/02-数据库设计文档.md",
129
+ required: true,
130
+ description_zh: "数据库详细设计,承载 DD-T*、表字段、索引、审计、租户和生命周期语义",
131
+ },
132
+ {
133
+ id: "api_specification_document",
134
+ role: "output",
135
+ path: "docs/architecture/03-API接口规格文档.md",
136
+ required: true,
137
+ description_zh: "API 详细设计,承载 DD-A*、端点、字段、错误、副作用和验收场景",
138
+ },
139
+ {
140
+ id: "optional_implementation_detail_document",
141
+ role: "output",
142
+ path: "docs/architecture/04-详细设计文档.md",
143
+ required: false,
144
+ description_zh: "可选的单文档详细设计兼容口径;有 DB/API 拆分载体时不得作为必需项",
145
+ },
146
+ ],
147
+ authorities: [
148
+ {
149
+ id: "openapi_authority",
150
+ role: "authority",
151
+ path: "docs/api/openapi.yaml",
152
+ required: true,
153
+ description_zh: "API 路径、操作和 schema 权威资产",
154
+ },
155
+ {
156
+ id: "sql_migration_authority",
157
+ role: "authority",
158
+ path: "db/migrations",
159
+ required: true,
160
+ description_zh: "数据库物理结构权威资产,可由 SQL roots 任一有效目录承载",
161
+ aliases: [...DESIGN_LIFECYCLE_SQL_ROOTS],
162
+ },
163
+ TRACEABILITY_MATRIX,
164
+ ],
165
+ gates: [
166
+ {
167
+ id: "detail_design_source_gate",
168
+ owner: "sf_expand",
169
+ blocks: ["详细设计缺少 ARCH-* 来源或 DD-* 身份"],
170
+ required_evidence: ["数据库设计声明 DD-T* 并引用 ARCH-*", "API 规格声明 DD-A* 并引用 ARCH-*"],
171
+ recovery_command: "soloforge audit-design-artifacts",
172
+ },
173
+ {
174
+ id: "detail_design_authority_gate",
175
+ owner: "sf_verify",
176
+ blocks: ["只有 Markdown 说明,没有 OpenAPI 或 SQL/migration 权威资产"],
177
+ required_evidence: ["OpenAPI 可解析且覆盖 API 文档", "SQL/migration 存在且可审计"],
178
+ recovery_command: "soloforge audit-design-artifacts",
179
+ },
180
+ ],
181
+ },
182
+ {
183
+ stage_id: "slice_planning",
184
+ name_zh: "切片规划",
185
+ purpose_zh: "把详细设计拆成可独立实现、测试和验收的 SLICE-* 工作包",
186
+ inputs: [
187
+ {
188
+ id: "database_design_document",
189
+ role: "input",
190
+ path: "docs/architecture/02-数据库设计文档.md",
191
+ required: true,
192
+ description_zh: "DD-T* 数据库设计来源",
193
+ },
194
+ {
195
+ id: "api_specification_document",
196
+ role: "input",
197
+ path: "docs/architecture/03-API接口规格文档.md",
198
+ required: true,
199
+ description_zh: "DD-A* API 设计来源",
200
+ },
201
+ ],
202
+ outputs: [
203
+ {
204
+ id: "slice_plan",
205
+ role: "output",
206
+ path: DESIGN_LIFECYCLE_SLICE_PLAN_PATH,
207
+ required: true,
208
+ description_zh: "全项目开发切片计划索引,定义 PHASE-*、SLICE-*、设计来源、计划变更文件、状态和 AC-* 验收标准",
209
+ aliases: [...DESIGN_LIFECYCLE_LEGACY_SLICE_PLAN_PATHS],
210
+ },
211
+ ],
212
+ authorities: [TRACEABILITY_MATRIX],
213
+ gates: [
214
+ {
215
+ id: "slice_design_acceptance_gate",
216
+ owner: "sf_expand",
217
+ blocks: ["切片缺少 PHASE-*、SLICE-*、DD/ARCH 来源或 AC-* 验收"],
218
+ required_evidence: ["切片计划声明 PHASE-* 与 SLICE-*", "切片计划引用 DD-* 或 ARCH-*", "切片计划声明 AC-*"],
219
+ recovery_command: "soloforge audit-design-artifacts",
220
+ },
221
+ ],
222
+ },
223
+ {
224
+ stage_id: "implementation",
225
+ name_zh: "实现",
226
+ purpose_zh: "只按已确认切片、详细设计和验收标准修改业务代码",
227
+ inputs: [
228
+ TRACEABILITY_MATRIX,
229
+ {
230
+ id: "slice_plan",
231
+ role: "input",
232
+ path: DESIGN_LIFECYCLE_SLICE_PLAN_PATH,
233
+ required: true,
234
+ description_zh: "当前实现必须绑定的 PHASE-* 与 SLICE-* 来源",
235
+ aliases: [...DESIGN_LIFECYCLE_LEGACY_SLICE_PLAN_PATHS],
236
+ },
237
+ ],
238
+ outputs: [
239
+ {
240
+ id: "code_changes",
241
+ role: "output",
242
+ path: "changed_files",
243
+ required: true,
244
+ description_zh: "真实变更文件清单,必须完整进入 sf_verify",
245
+ },
246
+ ],
247
+ authorities: [TRACEABILITY_MATRIX],
248
+ gates: [
249
+ {
250
+ id: "implementation_binding_gate",
251
+ owner: "sf_verify",
252
+ blocks: ["业务代码变更缺少 PHASE-*、SLICE-*、DD-*、AC-* 绑定"],
253
+ required_evidence: ["TaskContext 或意图中绑定 PHASE/SLICE/DD/AC", "changed_files 完整"],
254
+ recovery_command: "soloforge next",
255
+ },
256
+ ],
257
+ },
258
+ {
259
+ stage_id: "testing",
260
+ name_zh: "测试",
261
+ purpose_zh: "用真实命令和结果证明实现满足切片验收,不把验证计划当结果",
262
+ inputs: [
263
+ {
264
+ id: "code_changes",
265
+ role: "input",
266
+ path: "changed_files",
267
+ required: true,
268
+ description_zh: "真实变更文件清单",
269
+ },
270
+ TRACEABILITY_MATRIX,
271
+ ],
272
+ outputs: [
273
+ {
274
+ id: "verification_result",
275
+ role: "evidence",
276
+ path: ".soloforge/state/{task_id}.json#verification",
277
+ required: true,
278
+ description_zh: "真实执行的构建、测试和验收命令结果",
279
+ },
280
+ ],
281
+ authorities: [TRACEABILITY_MATRIX],
282
+ gates: [
283
+ {
284
+ id: "verification_result_gate",
285
+ owner: "sf_verify",
286
+ blocks: ["验证计划被当成验证结果", "只验证部分 changed_files"],
287
+ required_evidence: ["命令真实执行", "结果覆盖 changed_files 和 AC-*"],
288
+ recovery_command: "soloforge next",
289
+ },
290
+ ],
291
+ },
292
+ {
293
+ stage_id: "acceptance",
294
+ name_zh: "验收",
295
+ purpose_zh: "把设计一致性、测试结果和用户确认闭合为可交付证据",
296
+ inputs: [
297
+ {
298
+ id: "verification_result",
299
+ role: "input",
300
+ path: ".soloforge/state/{task_id}.json#verification",
301
+ required: true,
302
+ description_zh: "测试阶段真实验证结果",
303
+ },
304
+ TRACEABILITY_MATRIX,
305
+ ],
306
+ outputs: [
307
+ {
308
+ id: "design_consistency_report",
309
+ role: "evidence",
310
+ path: "docs/architecture/99-设计一致性验收报告.md",
311
+ required: true,
312
+ description_zh: "设计产物一致性和复验闭环证据",
313
+ },
314
+ ],
315
+ authorities: [TRACEABILITY_MATRIX],
316
+ gates: [
317
+ {
318
+ id: "acceptance_closure_gate",
319
+ owner: "sf_deliver",
320
+ blocks: ["缺少设计一致性、测试结果或用户确认仍交付"],
321
+ required_evidence: ["design_artifact_pack.status=implementation_ready", "verification passed", "必要用户确认"],
322
+ recovery_command: "soloforge audit-design-artifacts",
323
+ },
324
+ ],
325
+ },
326
+ {
327
+ stage_id: "delivery",
328
+ name_zh: "交付",
329
+ purpose_zh: "只交付来源、实现、测试和验收均闭合的任务",
330
+ inputs: [
331
+ {
332
+ id: "design_consistency_report",
333
+ role: "input",
334
+ path: "docs/architecture/99-设计一致性验收报告.md",
335
+ required: true,
336
+ description_zh: "验收阶段闭合证据",
337
+ },
338
+ ],
339
+ outputs: [
340
+ {
341
+ id: "delivery_summary",
342
+ role: "evidence",
343
+ path: ".soloforge/state/{task_id}.json#delivery",
344
+ required: true,
345
+ description_zh: "交付摘要、阻断项和验证证据",
346
+ },
347
+ ],
348
+ authorities: [TRACEABILITY_MATRIX],
349
+ gates: [
350
+ {
351
+ id: "delivery_no_open_blockers_gate",
352
+ owner: "sf_deliver",
353
+ blocks: ["仍有追踪、设计、测试或验收阻断项"],
354
+ required_evidence: ["所有 hard_fail 清零", "最近验证 trace 可追踪"],
355
+ recovery_command: "soloforge next",
356
+ },
357
+ ],
358
+ },
359
+ ];
360
+ export function listDesignLifecycleStageContracts() {
361
+ return LIFECYCLE_STAGES.map((stage) => ({
362
+ ...stage,
363
+ inputs: [...stage.inputs],
364
+ outputs: [...stage.outputs],
365
+ authorities: [...stage.authorities],
366
+ gates: [...stage.gates],
367
+ }));
368
+ }
369
+ export function getDesignLifecycleStageContract(stageId) {
370
+ const stage = LIFECYCLE_STAGES.find((candidate) => candidate.stage_id === stageId);
371
+ if (!stage)
372
+ throw new Error(`Unknown design lifecycle stage: ${stageId}`);
373
+ return {
374
+ ...stage,
375
+ inputs: [...stage.inputs],
376
+ outputs: [...stage.outputs],
377
+ authorities: [...stage.authorities],
378
+ gates: [...stage.gates],
379
+ };
380
+ }
381
+ export function getDesignLifecycleArtifactPaths() {
382
+ const architecture = getDesignLifecycleStageContract("architecture_design");
383
+ const detail = getDesignLifecycleStageContract("detail_design");
384
+ const slice = getDesignLifecycleStageContract("slice_planning");
385
+ const acceptance = getDesignLifecycleStageContract("acceptance");
386
+ const decisionRecord = architecture.outputs.find((artifact) => artifact.id === "architecture_decision_record");
387
+ const architectureDocument = architecture.outputs.find((artifact) => artifact.id === "architecture_document");
388
+ const databaseDocument = detail.outputs.find((artifact) => artifact.id === "database_design_document");
389
+ const apiDocument = detail.outputs.find((artifact) => artifact.id === "api_specification_document");
390
+ const optionalDetailDocument = detail.outputs.find((artifact) => artifact.id === "optional_implementation_detail_document");
391
+ const openapi = detail.authorities.find((artifact) => artifact.id === "openapi_authority");
392
+ const slicePlan = slice.outputs.find((artifact) => artifact.id === "slice_plan");
393
+ const consistencyReport = acceptance.outputs.find((artifact) => artifact.id === "design_consistency_report");
394
+ return {
395
+ decision_record: decisionRecord.path,
396
+ architecture_document: architectureDocument.path,
397
+ database_document: databaseDocument.path,
398
+ api_document: apiDocument.path,
399
+ optional_detail_design_document: optionalDetailDocument.path,
400
+ slice_plan: slicePlan.path,
401
+ consistency_report: consistencyReport.path,
402
+ traceability_matrix: DESIGN_LIFECYCLE_TRACEABILITY_MATRIX_PATH,
403
+ openapi: openapi.path,
404
+ sql_roots: [...DESIGN_LIFECYCLE_SQL_ROOTS],
405
+ };
406
+ }
407
+ export function getDesignLifecycleArtifactAliases(path) {
408
+ for (const stage of LIFECYCLE_STAGES) {
409
+ for (const artifact of [...stage.inputs, ...stage.outputs, ...stage.authorities]) {
410
+ if (artifact.path === path)
411
+ return [...(artifact.aliases ?? [])];
412
+ }
413
+ }
414
+ return [];
415
+ }
416
+ export function validateDesignLifecycleContract() {
417
+ const findings = [];
418
+ const stageIds = new Set();
419
+ for (const stage of LIFECYCLE_STAGES) {
420
+ if (stageIds.has(stage.stage_id)) {
421
+ findings.push({
422
+ code: "DESIGN_LIFECYCLE_DUPLICATE_STAGE",
423
+ severity: "hard_fail",
424
+ stage_id: stage.stage_id,
425
+ message_zh: `生命周期阶段重复: ${stage.stage_id}`,
426
+ });
427
+ }
428
+ stageIds.add(stage.stage_id);
429
+ if (stage.gates.length === 0) {
430
+ findings.push({
431
+ code: "DESIGN_LIFECYCLE_STAGE_WITHOUT_GATE",
432
+ severity: "hard_fail",
433
+ stage_id: stage.stage_id,
434
+ message_zh: `生命周期阶段缺少门禁: ${stage.stage_id}`,
435
+ });
436
+ }
437
+ }
438
+ const detail = getDesignLifecycleStageContract("detail_design");
439
+ const requiredDetailOutputs = detail.outputs.filter((artifact) => artifact.required).map((artifact) => artifact.id);
440
+ for (const required of ["database_design_document", "api_specification_document"]) {
441
+ if (!requiredDetailOutputs.includes(required)) {
442
+ findings.push({
443
+ code: "DESIGN_LIFECYCLE_DETAIL_OUTPUT_MISSING",
444
+ severity: "hard_fail",
445
+ stage_id: "detail_design",
446
+ message_zh: `详细设计缺少必需输出: ${required}`,
447
+ });
448
+ }
449
+ }
450
+ if (requiredDetailOutputs.includes("optional_implementation_detail_document")) {
451
+ findings.push({
452
+ code: "DESIGN_LIFECYCLE_OPTIONAL_DETAIL_DOC_REQUIRED",
453
+ severity: "hard_fail",
454
+ stage_id: "detail_design",
455
+ message_zh: "详细设计不能强制要求 04-详细设计文档.md;DB/API 拆分载体必须可独立闭合",
456
+ });
457
+ }
458
+ const slice = getDesignLifecycleStageContract("slice_planning");
459
+ const slicePlan = slice.outputs.find((artifact) => artifact.id === "slice_plan" && artifact.required);
460
+ if (!slicePlan) {
461
+ findings.push({
462
+ code: "DESIGN_LIFECYCLE_SLICE_PLAN_MISSING",
463
+ severity: "hard_fail",
464
+ stage_id: "slice_planning",
465
+ message_zh: "实现前缺少必需切片计划输出",
466
+ });
467
+ }
468
+ if (slicePlan?.path !== DESIGN_LIFECYCLE_SLICE_PLAN_PATH) {
469
+ findings.push({
470
+ code: "DESIGN_LIFECYCLE_SLICE_PLAN_CANONICAL_PATH_INVALID",
471
+ severity: "hard_fail",
472
+ stage_id: "slice_planning",
473
+ message_zh: "开发切片计划必须是全项目索引 04-开发切片计划.md,不能绑定到某个固定阶段文件",
474
+ });
475
+ }
476
+ const implementation = getDesignLifecycleStageContract("implementation");
477
+ const implementationGate = implementation.gates.find((gate) => gate.id === "implementation_binding_gate");
478
+ if (!implementationGate || !implementationGate.required_evidence.some((evidence) => evidence.includes("PHASE/SLICE/DD/AC"))) {
479
+ findings.push({
480
+ code: "DESIGN_LIFECYCLE_IMPLEMENTATION_BINDING_MISSING",
481
+ severity: "hard_fail",
482
+ stage_id: "implementation",
483
+ message_zh: "实现阶段缺少 PHASE/SLICE/DD/AC 绑定证据要求",
484
+ });
485
+ }
486
+ const testing = getDesignLifecycleStageContract("testing");
487
+ if (!testing.gates.some((gate) => gate.blocks.some((block) => block.includes("验证计划被当成验证结果")))) {
488
+ findings.push({
489
+ code: "DESIGN_LIFECYCLE_TEST_EVIDENCE_WEAK",
490
+ severity: "hard_fail",
491
+ stage_id: "testing",
492
+ message_zh: "测试阶段必须阻断把验证计划当成验证结果",
493
+ });
494
+ }
495
+ return findings;
496
+ }
497
+ //# sourceMappingURL=design_lifecycle_contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design_lifecycle_contract.js","sourceRoot":"","sources":["../../src/engine/design_lifecycle_contract.ts"],"names":[],"mappings":"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"}
@@ -162,12 +162,12 @@ const BUILTIN_DIAGNOSTICS = [
162
162
  { code: TOOL_DIAGNOSTIC_CODES.traceabilityMissing, area: "CONTRACT", severity: "blocking", status: "active",
163
163
  title_zh: "设计实现追踪链路缺失",
164
164
  user_message_zh: "编码前缺少需求、原型、设计、切片和验收追踪矩阵,不能脱离已确认设计开始实现。",
165
- recovery_hint_zh: "补齐追踪矩阵,并让架构、详细设计、切片计划绑定 REQ/PROTO/ARCH/DD/SLICE/AC ID。",
165
+ recovery_hint_zh: "补齐追踪矩阵,并让架构、详细设计、切片计划绑定 REQ/PROTO/ARCH/DD/PHASE/SLICE/AC ID。",
166
166
  owner_component: "engine/traceability", evidence_refs: ["问题七十三"] },
167
167
  { code: TOOL_DIAGNOSTIC_CODES.traceabilityBindingMissing, area: "CONTRACT", severity: "blocking", status: "active",
168
168
  title_zh: "编码任务缺少追踪 ID 绑定",
169
169
  user_message_zh: "本次编码任务没有绑定切片、详细设计和验收 ID,不能确认实现范围。",
170
- recovery_hint_zh: "在任务上下文或指令中明确 SLICE-*、DD-*、AC-* 后重新执行。",
170
+ recovery_hint_zh: "在任务上下文或指令中明确 PHASE-*、SLICE-*、DD-*、AC-* 后重新执行。",
171
171
  owner_component: "adapters/claude_code/tools", evidence_refs: ["问题七十三"] },
172
172
  { code: TOOL_DIAGNOSTIC_CODES.traceabilityVerifyFailed, area: "CONTRACT", severity: "blocking", status: "active",
173
173
  title_zh: "代码变更未绑定设计追踪",
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic_registry.js","sourceRoot":"","sources":["../../src/engine/diagnostic_registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostic_registry.js","sourceRoot":"","sources":["../../src/engine/diagnostic_registry.ts"],"names":[],"mappings":"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"}
@@ -180,7 +180,7 @@ export const FOUNDATION_SCENARIOS = [
180
180
  ],
181
181
  pass_fail_rules: [
182
182
  "archive .zip/.tar.gz/.7z/.war 路由到 source_extraction",
183
- "员工端.zip 提取原型说明 -> source_extraction + single_artifact",
183
+ "portal-ui.zip 提取原型说明 -> source_extraction + single_artifact",
184
184
  "缺路径 -> source_extraction + missing_required_inputs",
185
185
  "不用 SoloForge -> skip_chat/direct_answer, 不得 source_extraction",
186
186
  "route_decision.evidence 非空",
@@ -193,7 +193,7 @@ export const FOUNDATION_SCENARIOS = [
193
193
  "expand missing_required_inputs 不被忽略",
194
194
  "classify -> expand 后 TaskContext 可读同一份 route_decision",
195
195
  "TaskContext setExpansion 后 route_decision + workflow_trace 未丢失且一致",
196
- "dist 动态 import 冒烟通过,至少使用非'员工端'的归档后缀样本",
196
+ "dist 动态 import 冒烟通过,至少使用非'前端应用'的归档后缀样本",
197
197
  "UserPromptSubmit structured additionalContext 包含 route/shape/mutation/materials/output_artifact/missing_inputs/prompt_template/confidence/evidence/rejected/conflicts",
198
198
  "skip_chat/direct_answer 不输出 sf_classify 指令",
199
199
  "hook routeDecision 与 sf_classify route_decision 一致",