openfeel 1.1.3 → 1.1.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 (47) hide show
  1. package/dist/commands/config.d.ts.map +1 -1
  2. package/dist/commands/config.js +47 -8
  3. package/dist/commands/config.js.map +1 -1
  4. package/dist/commands/flow.d.ts.map +1 -1
  5. package/dist/commands/flow.js +88 -3
  6. package/dist/commands/flow.js.map +1 -1
  7. package/dist/commands/plan.d.ts.map +1 -1
  8. package/dist/commands/plan.js +67 -2
  9. package/dist/commands/plan.js.map +1 -1
  10. package/dist/commands/stage.js +2 -2
  11. package/dist/commands/stage.js.map +1 -1
  12. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  13. package/dist/core/artifact-graph/instruction-loader.js +0 -4
  14. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  15. package/dist/core/config.d.ts +25 -4
  16. package/dist/core/config.d.ts.map +1 -1
  17. package/dist/core/config.js +55 -13
  18. package/dist/core/config.js.map +1 -1
  19. package/dist/core/flow-manager.d.ts +126 -9
  20. package/dist/core/flow-manager.d.ts.map +1 -1
  21. package/dist/core/flow-manager.js +281 -33
  22. package/dist/core/flow-manager.js.map +1 -1
  23. package/dist/core/fs/sequence.d.ts +6 -0
  24. package/dist/core/fs/sequence.d.ts.map +1 -1
  25. package/dist/core/fs/sequence.js +13 -0
  26. package/dist/core/fs/sequence.js.map +1 -1
  27. package/dist/core/i18n-data/en.d.ts.map +1 -1
  28. package/dist/core/i18n-data/en.js +27 -3
  29. package/dist/core/i18n-data/en.js.map +1 -1
  30. package/dist/core/i18n-data/zh-CN.d.ts.map +1 -1
  31. package/dist/core/i18n-data/zh-CN.js +27 -3
  32. package/dist/core/i18n-data/zh-CN.js.map +1 -1
  33. package/dist/core/plan/scheme.d.ts +25 -0
  34. package/dist/core/plan/scheme.d.ts.map +1 -1
  35. package/dist/core/plan/scheme.js +168 -2
  36. package/dist/core/plan/scheme.js.map +1 -1
  37. package/dist/core/plan/stage.d.ts +11 -2
  38. package/dist/core/plan/stage.d.ts.map +1 -1
  39. package/dist/core/plan/stage.js +12 -5
  40. package/dist/core/plan/stage.js.map +1 -1
  41. package/dist/core/template-loader.d.ts.map +1 -1
  42. package/dist/core/template-loader.js +23 -17
  43. package/dist/core/template-loader.js.map +1 -1
  44. package/dist/core/update.d.ts.map +1 -1
  45. package/dist/core/update.js +21 -15
  46. package/dist/core/update.js.map +1 -1
  47. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"flow-manager.d.ts","sourceRoot":"","sources":["../../src/core/flow-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-manager.d.ts","sourceRoot":"","sources":["../../src/core/flow-manager.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import { t, getCliLang } from './i18n.js';
19
19
  import { findStageStatusPath, findStageDirConflict, parseStageId, normalizeStageId } from './plan/path.js';
20
20
  import { atomicWriteFileSync } from './fs/atomic-write.js';
21
21
  import { withFileLock, projectLockPath } from './fs/file-lock.js';
22
- import { DEFAULT_CONFIG, ConfigDefaultsSchema } from './config.js';
22
+ import { DEFAULT_CONFIG, ConfigDefaultsSchema, STAGE_FIELD_BY_CONFIG_KEY } from './config.js';
23
23
  import { getGlobalProfilePath } from './global-paths.js';
24
24
  /** flow.json 乐观并发冲突:磁盘 revision 与本次加载时不一致(存在并发写入) */
25
25
  export class FlowConcurrentModificationError extends Error {
@@ -52,8 +52,8 @@ export class StageDirConflictError extends Error {
52
52
  this.other = other;
53
53
  }
54
54
  }
55
- /** `openfeel config effective` 的四个受管键(与 DEFAULT_CONFIG 一致) */
56
- const EFFECTIVE_CONFIG_KEYS = ['execution_mode', 'auto_advance', 'test_enabled', 'merge_mode'];
55
+ /** `openfeel config effective` 的三个受管键(与 DEFAULT_CONFIG 一致) */
56
+ const EFFECTIVE_CONFIG_KEYS = ['execution_mode', 'auto_advance', 'merge_mode'];
57
57
  // ── 默认值 ──
58
58
  /** 创建默认的 Checkpoints */
59
59
  function defaultCheckpoints() {
@@ -336,25 +336,151 @@ export class FlowManager {
336
336
  }
337
337
  }
338
338
  /**
339
- * 从 Checkpoint 快照恢复 flow.json
340
- * 恢复前将当前 flow.json 备份为 .bak;恢复成功后重新加载数据。
341
- * @param filename 快照文件名(仅允许纯文件名,防路径穿越)
342
- * @returns 是否恢复成功
339
+ * 解析并校验快照文件与选择性目标阶段(只读,不写盘、不加锁)。
340
+ * 安全校验与旧 restoreCheckpoint 逐字一致(拒绝路径分隔符/`..`)。
341
+ * @param filename 快照文件名(仅纯文件名)
342
+ * @param stage 可选,选择性恢复的目标阶段 ID
343
+ * @returns 校验结果(ok=false 时附 reason);成功时含快照数据与归一化后的阶段键
343
344
  */
344
- restoreCheckpoint(filename) {
345
+ resolveRestoreTarget(filename, stage) {
345
346
  // 安全校验:拒绝含路径分隔符或 '..' 的文件名,防止路径穿越
346
347
  if (!filename || filename.includes('/') || filename.includes('\\') || filename.includes('..')) {
347
- return false;
348
+ return { ok: false, reason: 'invalid-name' };
348
349
  }
350
+ const dir = resolve(this.projectPath, '.openfeel', 'checkpoints');
351
+ const filePath = resolve(dir, filename);
352
+ if (!existsSync(filePath)) {
353
+ return { ok: false, reason: 'missing' };
354
+ }
355
+ let snapshot;
349
356
  try {
350
- const dir = resolve(this.projectPath, '.openfeel', 'checkpoints');
351
- const filePath = resolve(dir, filename);
352
- if (!existsSync(filePath)) {
353
- return false;
357
+ snapshot = JSON.parse(readFileSync(filePath, 'utf-8'));
358
+ }
359
+ catch {
360
+ return { ok: false, reason: 'bad-content' };
361
+ }
362
+ let stageKey;
363
+ if (stage) {
364
+ // 归一化短名,双键回退兼容以短名建键的存量/测试数据
365
+ const norm = normalizeStageId(stage) ?? stage;
366
+ const key = snapshot.stages?.[norm] ? norm : (snapshot.stages?.[stage] ? stage : undefined);
367
+ if (!key) {
368
+ return { ok: false, reason: 'stage-not-in-snapshot' };
369
+ }
370
+ stageKey = key;
371
+ }
372
+ return { ok: true, snapshot, stageKey };
373
+ }
374
+ /**
375
+ * 构造待写入的完整 flow.json 数据(只读,不写盘)。
376
+ * - 无 stageKey:返回快照数据本身 → 全量覆盖语义与改前逐字节一致。
377
+ * - 有 stageKey:以当前磁盘数据为基底,仅替换 stages[stageKey] 子树;
378
+ * 子树 status 按 phase 投影(stage-62 单一事实源);
379
+ * 仅当 current 指向被恢复阶段时同步 current.op 指针,pipeline 其余字段不动。
380
+ * @param snapshot 已解析的快照数据
381
+ * @param stageKey 选择性恢复的阶段键(缺省=全量)
382
+ * @returns 待写入的完整数据
383
+ */
384
+ buildRestoreData(snapshot, stageKey) {
385
+ if (!stageKey) {
386
+ return snapshot;
387
+ }
388
+ const base = JSON.parse(readFileSync(this.filePath, 'utf-8'));
389
+ const restoredStage = snapshot.stages?.[stageKey];
390
+ if (restoredStage) {
391
+ // status 为 phase 的粗粒度投影:以快照 phase 为权威重投影(stage-62)
392
+ if (restoredStage.phase) {
393
+ restoredStage.status = mapPhaseToStageStatus(restoredStage.phase, restoredStage.status);
394
+ }
395
+ base.stages[stageKey] = restoredStage;
396
+ }
397
+ // 协调:仅当 pipeline.current 指向被恢复阶段(且快照 current 亦指向该阶段)时同步 op 指针
398
+ const curStage = base.pipeline?.current?.stage;
399
+ const normCur = curStage ? (normalizeStageId(curStage) ?? curStage) : '';
400
+ if (normCur === stageKey && snapshot.pipeline?.current) {
401
+ const snapCur = snapshot.pipeline.current.stage;
402
+ const normSnapCur = snapCur ? (normalizeStageId(snapCur) ?? snapCur) : '';
403
+ if (normSnapCur === stageKey) {
404
+ base.pipeline.current = { stage: stageKey, op: snapshot.pipeline.current.op ?? '' };
405
+ }
406
+ }
407
+ return base;
408
+ }
409
+ /**
410
+ * 计算恢复差异清单(只读):对比磁盘当前与待恢复数据。
411
+ * 全量模式列 union(磁盘阶段, 快照阶段) 的变动项;stageKey 指定时仅列该阶段。
412
+ * @param snapshot 已解析的快照数据
413
+ * @param stageKey 选择性恢复的阶段键(缺省=全量)
414
+ * @returns 差异条目列表(无变动则为空)
415
+ */
416
+ computeRestoreDiffs(snapshot, stageKey) {
417
+ const diffs = [];
418
+ let disk = null;
419
+ try {
420
+ disk = JSON.parse(readFileSync(this.filePath, 'utf-8'));
421
+ }
422
+ catch {
423
+ disk = null;
424
+ }
425
+ const diskStages = disk?.stages ?? {};
426
+ const snapStages = snapshot.stages ?? {};
427
+ const keys = stageKey
428
+ ? [stageKey]
429
+ : Array.from(new Set([...Object.keys(diskStages), ...Object.keys(snapStages)]));
430
+ for (const stage of keys) {
431
+ const d = diskStages[stage];
432
+ const s = snapStages[stage];
433
+ if (!d && !s) {
434
+ continue;
354
435
  }
355
- const content = readFileSync(filePath, 'utf-8');
356
- // 校验快照 JSON 合法性,非法内容拒绝恢复
357
- JSON.parse(content);
436
+ const fromPhase = d?.phase ?? '(absent)';
437
+ const fromStatus = d?.status ?? '(absent)';
438
+ const toPhase = s?.phase ?? '(removed)';
439
+ const toStatus = s?.status ?? '(removed)';
440
+ if (fromPhase === toPhase && fromStatus === toStatus) {
441
+ continue;
442
+ }
443
+ diffs.push({ stage, fromPhase, toPhase, fromStatus, toStatus });
444
+ }
445
+ return diffs;
446
+ }
447
+ /**
448
+ * 预览 Checkpoint 恢复差异(read-only,零写盘,不加锁)。
449
+ * @param filename 快照文件名(仅纯文件名)
450
+ * @param options.stage 可选,仅预览该阶段子树
451
+ * @returns 预览结果(ok/conflicts/diffs)
452
+ */
453
+ previewRestore(filename, options = {}) {
454
+ const resolved = this.resolveRestoreTarget(filename, options.stage);
455
+ if (!resolved.ok || !resolved.snapshot) {
456
+ return { ok: false, reason: resolved.reason, conflicts: false, diffs: [] };
457
+ }
458
+ // 并发冲突仅报告(预览不加锁、不写盘)
459
+ const conflicts = this.readDiskRevision() !== this.loadedRevision;
460
+ const diffs = this.computeRestoreDiffs(resolved.snapshot, resolved.stageKey);
461
+ return { ok: true, conflicts, diffs };
462
+ }
463
+ /**
464
+ * 从 Checkpoint 快照恢复 flow.json
465
+ * - 缺省(无 options.stage):全量覆盖(与改前逐字节一致),恢复前将当前 flow.json 备份为 .bak。
466
+ * - options.stage:仅替换该阶段子树,其它阶段与 pipeline 其余字段不动。
467
+ * - options.dryRun:零写盘(复用 previewRestore)。
468
+ * @param filename 快照文件名(仅允许纯文件名,防路径穿越)
469
+ * @param options.stage 选择性恢复的阶段 ID(可选;缺省=全量)
470
+ * @param options.dryRun 仅预览不写盘(可选)
471
+ * @returns 是否恢复成功(dryRun 时为「是否可恢复」)
472
+ */
473
+ restoreCheckpoint(filename, options = {}) {
474
+ // dry-run:复用只读预览,零写盘(不 atomicWrite / 不改内存 revision / 不写 .bak)
475
+ if (options.dryRun) {
476
+ return this.previewRestore(filename, { stage: options.stage }).ok;
477
+ }
478
+ const resolved = this.resolveRestoreTarget(filename, options.stage);
479
+ const snapshot = resolved.snapshot;
480
+ if (!resolved.ok || !snapshot) {
481
+ return false;
482
+ }
483
+ try {
358
484
  const lockPath = projectLockPath(this.projectPath, 'flow');
359
485
  let conflict = false;
360
486
  withFileLock(lockPath, () => {
@@ -364,8 +490,9 @@ export class FlowManager {
364
490
  conflict = true;
365
491
  return;
366
492
  }
493
+ // 构造待写数据(全量=快照本身;选择性=磁盘基底+单阶段替换)
494
+ const restored = this.buildRestoreData(snapshot, resolved.stageKey);
367
495
  // 快照 revision 重定基为 diskRevision+1,保证单调递增
368
- const restored = JSON.parse(content);
369
496
  restored.meta.revision = diskRevision + 1;
370
497
  const restoredContent = JSON.stringify(restored, null, 2) + '\n';
371
498
  // REV-002:与 save() 同锁、同 S5 语义(写前复制旧文件为 .bak,写后不覆盖)
@@ -987,10 +1114,7 @@ export class FlowManager {
987
1114
  // this.publicLogger.logPhaseChange({...});
988
1115
  // 同步 stage status(调用已有 mapPhaseToStageStatus)
989
1116
  const prevStatus = stage.status;
990
- // test_enabled 由 buildCascadeConfig(config.yaml/status.md/profile 级联,无反向依赖)取真实值,
991
- // 使 mapPhaseToStageStatus 的 testEnabled 分支可达(T9)
992
- const testEnabled = this.buildCascadeConfig().effective['test_enabled'] !== 'false';
993
- const newStatus = mapPhaseToStageStatus(targetPhase, prevStatus, testEnabled);
1117
+ const newStatus = mapPhaseToStageStatus(targetPhase, prevStatus);
994
1118
  stage.status = newStatus;
995
1119
  // 自动记录阶段计时:首次状态变更时启动
996
1120
  if (!stage.stats || !stage.stats.start_time) {
@@ -1005,6 +1129,76 @@ export class FlowManager {
1005
1129
  }
1006
1130
  return false;
1007
1131
  }
1132
+ /**
1133
+ * 复位指定阶段的 phase(允许越过正向转移表回退/前进)。
1134
+ * 约束:
1135
+ * - `to` 必须为合法 PipelinePhase(PipelinePhaseSchema;非法直接抛错,不模糊修正);
1136
+ * - `to === 'done'` 复用 advanceStagePhase 的阻塞 REV 检查(--force 不可绕过);
1137
+ * - 写入 phase 后按 mapPhaseToStageStatus 同步 status(phase 为唯一事实源);
1138
+ * - 仅当 pipeline.current 指向该阶段时同步 current.op;重算宏观 pipeline.phase;
1139
+ * - 留审计日志 reset_stage_phase;**不触发归档 commit**、**不写 checkpoint 快照**。
1140
+ * @param stageName 阶段 ID(短名/全名)
1141
+ * @param to 目标 phase 字符串
1142
+ * @param options.dryRun 仅计算不修改内存(命令层不 save)
1143
+ * @returns 复位结果(from/to/status/changed)
1144
+ */
1145
+ resetStagePhase(stageName, to, options = {}) {
1146
+ if (!this.data) {
1147
+ throw new Error('flow.json 未加载');
1148
+ }
1149
+ // REV-005:归一化 stageId(短名 → 全名)+ 双键回退(与 advanceStagePhase 同范式)
1150
+ const normalized = normalizeStageId(stageName) ?? stageName;
1151
+ const key = this.data.stages[normalized] ? normalized : stageName;
1152
+ const stage = this.data.stages[key];
1153
+ if (!stage) {
1154
+ throw new Error(`阶段 '${stageName}' 不存在`);
1155
+ }
1156
+ // 值域校验:复用 PipelinePhaseSchema(reset 须显式合法值,不做模糊修正)
1157
+ const parsed = PipelinePhaseSchema.safeParse(to);
1158
+ if (!parsed.success) {
1159
+ throw new Error(`非法 phase '${to}'`);
1160
+ }
1161
+ const targetPhase = parsed.data;
1162
+ const fromPhase = stage.phase;
1163
+ const projectedStatus = mapPhaseToStageStatus(targetPhase, stage.status);
1164
+ // to=done:复用 advanceStagePhase 的 REV 阻塞检查(同语义,--force 不可绕过)
1165
+ if (targetPhase === 'done') {
1166
+ const stageReviews = this.data.reviews.filter((r) => r.op.startsWith(key + '.') || r.op === key);
1167
+ const blockingOpen = stageReviews.filter((r) => r.blocking !== false && r.status === 'open');
1168
+ if (blockingOpen.length > 0) {
1169
+ const revList = blockingOpen
1170
+ .map((r) => ` ${r.id}: ${r.title} (priority=${r.priority})`)
1171
+ .join('\n');
1172
+ throw new Error(`无法复位到 done:存在 ${blockingOpen.length} 个未解决的阻塞 REV:\n${revList}`);
1173
+ }
1174
+ }
1175
+ // 幂等:phase 与投影 status 均无变化 → no-op(dryRun 与真实路径一致)
1176
+ const changed = fromPhase !== targetPhase || stage.status !== projectedStatus;
1177
+ if (options.dryRun || !changed) {
1178
+ return { changed, from: fromPhase, to: targetPhase, status: projectedStatus };
1179
+ }
1180
+ // 写入(phase 权威 + status 投影)
1181
+ stage.phase = targetPhase;
1182
+ stage.status = projectedStatus;
1183
+ // 审计日志:reset 为修复而非里程碑推进
1184
+ this.appendLog({
1185
+ time: '',
1186
+ agent: 'flow-manager',
1187
+ action: 'reset_stage_phase',
1188
+ detail: { stageName: key, from: fromPhase, to: targetPhase },
1189
+ });
1190
+ // 仅当 current 指向该阶段时同步 op 指针(其它阶段的 current 不被动)
1191
+ const curStage = this.data.pipeline.current.stage;
1192
+ const normCur = curStage ? (normalizeStageId(curStage) ?? curStage) : '';
1193
+ if (normCur === key) {
1194
+ this.syncCurrentOp(key);
1195
+ }
1196
+ // 宏观 pipeline.phase 派生:全量 done → done,否则 active(与 advanceStagePhase 一致)
1197
+ const allDone = Object.keys(this.data.stages).length > 0
1198
+ && Object.values(this.data.stages).every((s) => s.phase === 'done');
1199
+ this.data.pipeline.phase = (allDone ? 'done' : 'active');
1200
+ return { changed, from: fromPhase, to: targetPhase, status: projectedStatus };
1201
+ }
1008
1202
  /**
1009
1203
  * 阶段归档自动 git 提交
1010
1204
  * 目标 phase 为 done 时自动将工作区变更提交,保证归档点有版本记录。
@@ -1585,7 +1779,7 @@ export class FlowManager {
1585
1779
  return { profileDefaults, configDefaults, statusOverrides, effective };
1586
1780
  }
1587
1781
  /**
1588
- * 解析四个受管配置键的「有效值 + 生效来源」(`openfeel config effective`,P9)。
1782
+ * 解析三个受管配置键的「有效值 + 生效来源」(`openfeel config effective`,P9)。
1589
1783
  * 复用 buildCascadeConfig(单一权威,避免第二套解析),优先级:
1590
1784
  * status.md > config.yaml > profile.yaml > builtin。
1591
1785
  * @returns key → { value, source }
@@ -2436,9 +2630,10 @@ export class FlowManager {
2436
2630
  return { fixed: modified || recovered, changes, recovered, orphans };
2437
2631
  }
2438
2632
  /**
2439
- * 自动修复指定阶段的 phase/status 不一致
2440
- * - status=done 但 phase≠done → 同步 phase 为 done
2441
- * - phase=done 但 status≠done → 同步 status 为 done
2633
+ * 自动修复指定阶段的 phase/status 不一致(phase 为唯一事实源)
2634
+ * - status=done 且 phase≠done → 以 phase 为权威,将 status 修正为 phase 投影(撤销非法 done)
2635
+ * - phase=done 且 status≠done → 将 status 同步为 done
2636
+ * **禁止任何 phase ← status 前推**(绝不把 phase 改为 done 来迁就 status)。
2442
2637
  * @param stageName 阶段名(如 stage-01)
2443
2638
  * @param options.dryRun 为 true 时仅计算并返回等价结果,不修改内存(供 --dry-run 预览用)
2444
2639
  * @returns 修复结果(是否修复 + 详情)
@@ -2455,11 +2650,12 @@ export class FlowManager {
2455
2650
  if (!stage) {
2456
2651
  return { fixed: false, detail: `阶段 '${stageName}' 不存在` };
2457
2652
  }
2458
- // 修复: status=done 但 phase≠done → 同步 phase 为 done(dryRun 时仅报告,不写内存)
2653
+ // 修复: status=done 但 phase≠done → 以 phase 为权威修正 status(撤销非法 done;dryRun 时仅报告,不写内存)
2459
2654
  if (stage.status === 'done' && stage.phase !== 'done') {
2460
- const detail = `phase ${stage.phase} → done (与 status 同步)`;
2655
+ const projected = mapPhaseToStageStatus(stage.phase, stage.status);
2656
+ const detail = `status ${stage.status} → ${projected} (以 phase 为权威,撤销非法 done)`;
2461
2657
  if (!options.dryRun) {
2462
- stage.phase = 'done';
2658
+ stage.status = projected;
2463
2659
  }
2464
2660
  return { fixed: true, detail };
2465
2661
  }
@@ -2649,13 +2845,12 @@ export class FlowManager {
2649
2845
  if (!this.data) {
2650
2846
  return out;
2651
2847
  }
2652
- const testEnabled = this.buildCascadeConfig().effective['test_enabled'] !== 'false';
2653
2848
  for (const [stageId, stage] of Object.entries(this.data.stages)) {
2654
2849
  // 跳过 draft(未发布不参与对账,与 op-005 窄兼容一致)
2655
2850
  if (stage.phase === 'draft') {
2656
2851
  continue;
2657
2852
  }
2658
- const authoritative = mapPhaseToStageStatus(stage.phase, stage.status, testEnabled);
2853
+ const authoritative = mapPhaseToStageStatus(stage.phase, stage.status);
2659
2854
  const statusPath = this.findStatusPath(stageId);
2660
2855
  if (!statusPath || !existsSync(statusPath)) {
2661
2856
  // status.md 缺失 → 安全跳过,不新建文件/字段
@@ -2707,6 +2902,51 @@ export class FlowManager {
2707
2902
  return true;
2708
2903
  });
2709
2904
  }
2905
+ /**
2906
+ * 将受管配置键批量同步到所有已注册阶段的 status.md 对应字段(`config set --sync-stages`)。
2907
+ * 仅 auto_advance→「自动推进」、execution_mode→「执行模式」有阶段级字段;
2908
+ * 其它键无阶段字段 → 全部 skipped-no-field(D-config 裁定,跳过并报告)。
2909
+ * 复用 writeStatusField 的定向写 + 按阶段锁;同值 → noop(零写盘)。
2910
+ * 只读 flow.json 的阶段枚举,不写 flow.json。
2911
+ * @param configKey 已归一的受管配置键(如 auto_advance)
2912
+ * @param value 目标值
2913
+ * @returns 每阶段一条结果(updated/noop/skipped-no-field/skipped-no-status)
2914
+ */
2915
+ syncConfigFieldToStages(configKey, value) {
2916
+ const out = [];
2917
+ if (!this.data) {
2918
+ return out;
2919
+ }
2920
+ const field = STAGE_FIELD_BY_CONFIG_KEY[configKey];
2921
+ for (const stageId of Object.keys(this.data.stages)) {
2922
+ // 错误路径:该 config 键无阶段级字段 → 跳过并报告
2923
+ if (!field) {
2924
+ out.push({ stage: stageId, result: 'skipped-no-field' });
2925
+ continue;
2926
+ }
2927
+ const statusPath = this.findStatusPath(stageId);
2928
+ // 错误路径:status.md 缺失 → 跳过(不新建文件)
2929
+ if (!statusPath || !existsSync(statusPath)) {
2930
+ out.push({ stage: stageId, result: 'skipped-no-status' });
2931
+ continue;
2932
+ }
2933
+ const current = readStatusFieldValue(readFileSync(statusPath, 'utf-8'), field);
2934
+ // 错误路径:字段行缺失 → 跳过(不新建字段)
2935
+ if (current === null) {
2936
+ out.push({ stage: stageId, result: 'skipped-no-field' });
2937
+ continue;
2938
+ }
2939
+ // 同值 → no-op,零写盘
2940
+ if (current === value) {
2941
+ out.push({ stage: stageId, result: 'noop' });
2942
+ continue;
2943
+ }
2944
+ this.writeStatusField(statusPath, field, value);
2945
+ this.appendLog({ time: '', agent: 'cli', action: 'config_sync_stage', detail: { stage: stageId, field, value } });
2946
+ out.push({ stage: stageId, result: 'updated' });
2947
+ }
2948
+ return out;
2949
+ }
2710
2950
  /**
2711
2951
  * 7. 悬空依赖检测:stages[].deps 是否均指向已注册阶段(B2 存量防御)
2712
2952
  * 仅作数据卫生告警(warn),不阻断;强制校验点在命令层 `commands/plan.ts`
@@ -3253,19 +3493,27 @@ export function detectFillState(content) {
3253
3493
  }
3254
3494
  return 'filled';
3255
3495
  }
3496
+ /**
3497
+ * 粗粒度阶段状态枚举:status = phase 投影的可能取值 ∪ 初始值。
3498
+ * 供 `stage set --status` 值域校验复用(单一事实源,禁止在命令层硬编码)。
3499
+ * 注意:不含自由文本/历史相位值;`mapPhaseToStageStatus` 的 default 分支返回 currentStatus,
3500
+ * 但对外可写值域收敛为本集合(D-status 裁定)。
3501
+ */
3502
+ export const STAGE_STATUS_VALUES = ['planned', 'review_failed', 'review_passed', 'testing', 'archiving', 'done'];
3256
3503
  /**
3257
3504
  * 将 PipelinePhase 映射为 stage 状态
3505
+ * status 为 phase 的粗粒度投影,phase 为唯一事实源;
3506
+ * `review_passed` 恒映射 `'review_passed'`,中间相位不投影为终态。
3258
3507
  * @param phase 流水线阶段
3259
3508
  * @param currentStatus 当前 stage 状态(用于不做变更的 phase)
3260
- * @param testEnabled 是否启用测试(false 时 review_passed 直接映射为 done)
3261
3509
  * @returns stage 状态字符串
3262
3510
  */
3263
- export function mapPhaseToStageStatus(phase, currentStatus, testEnabled = true) {
3511
+ export function mapPhaseToStageStatus(phase, currentStatus) {
3264
3512
  switch (phase) {
3265
3513
  case 'review_failed':
3266
3514
  return 'review_failed';
3267
3515
  case 'review_passed':
3268
- return testEnabled ? 'review_passed' : 'done';
3516
+ return 'review_passed';
3269
3517
  case 'test_passed':
3270
3518
  // status=done 是 phase=done 的专属状态:test_passed 映射为中间状态 testing,
3271
3519
  // 避免 autoRepairInconsistency 在 flow advance 时把 phase 误修正为 done,截断 test_passed→archiving 路径