soloforge 1.4.4 → 1.4.6

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