@winspan/claude-forge 0.9.1 → 0.9.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 (37) hide show
  1. package/dist/autopilot/quality-gate.d.ts.map +1 -1
  2. package/dist/autopilot/quality-gate.js +53 -19
  3. package/dist/autopilot/quality-gate.js.map +1 -1
  4. package/dist/cli/commands/convention.d.ts.map +1 -1
  5. package/dist/cli/commands/convention.js +97 -74
  6. package/dist/cli/commands/convention.js.map +1 -1
  7. package/dist/cli/commands/pipeline.d.ts.map +1 -1
  8. package/dist/cli/commands/pipeline.js +58 -20
  9. package/dist/cli/commands/pipeline.js.map +1 -1
  10. package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
  11. package/dist/daemon/handlers/post-tool-use-handler.js +21 -7
  12. package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
  13. package/dist/pipeline/index.d.ts +10 -2
  14. package/dist/pipeline/index.d.ts.map +1 -1
  15. package/dist/pipeline/index.js +62 -20
  16. package/dist/pipeline/index.js.map +1 -1
  17. package/dist/pipeline/phase-manager.d.ts +2 -0
  18. package/dist/pipeline/phase-manager.d.ts.map +1 -1
  19. package/dist/pipeline/phase-manager.js +5 -1
  20. package/dist/pipeline/phase-manager.js.map +1 -1
  21. package/dist/pipeline/store.d.ts.map +1 -1
  22. package/dist/pipeline/store.js +4 -3
  23. package/dist/pipeline/store.js.map +1 -1
  24. package/dist/pipeline/template-registry.d.ts.map +1 -1
  25. package/dist/pipeline/template-registry.js +8 -0
  26. package/dist/pipeline/template-registry.js.map +1 -1
  27. package/dist/pipeline/types.d.ts +4 -0
  28. package/dist/pipeline/types.d.ts.map +1 -1
  29. package/dist/pipeline/types.js.map +1 -1
  30. package/dist/storage/sqlite.d.ts.map +1 -1
  31. package/dist/storage/sqlite.js +11 -1
  32. package/dist/storage/sqlite.js.map +1 -1
  33. package/dist/utils/error-handler.d.ts +13 -0
  34. package/dist/utils/error-handler.d.ts.map +1 -1
  35. package/dist/utils/error-handler.js +125 -10
  36. package/dist/utils/error-handler.js.map +1 -1
  37. package/package.json +1 -1
@@ -1,14 +1,27 @@
1
1
  import path from 'path';
2
2
  import os from 'os';
3
+ import readline from 'readline';
3
4
  import { SQLiteStorage } from '../../storage/sqlite.js';
4
5
  import { PipelineStore } from '../../pipeline/store.js';
5
6
  import { PHASE_LABELS } from '../../pipeline/types.js';
6
7
  import { ConfigManager } from '../../config/index.js';
8
+ import { success, error as errorOutput, info, warning, table, heading } from '../utils/output.js';
9
+ import chalk from 'chalk';
7
10
  function getStore() {
8
11
  const dbPath = path.join(os.homedir(), '.claude-forge', 'data.db');
9
12
  const storage = new SQLiteStorage(dbPath);
10
13
  return new PipelineStore(storage);
11
14
  }
15
+ /** 交互式确认提示,返回用户是否确认 */
16
+ async function confirm(question) {
17
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
18
+ return new Promise(resolve => {
19
+ rl.question(`${chalk.yellow('❓')} ${question} ${chalk.dim('[y/N]')} `, answer => {
20
+ rl.close();
21
+ resolve(answer.trim().toLowerCase() === 'y');
22
+ });
23
+ });
24
+ }
12
25
  export function registerPipelineCommand(program) {
13
26
  const pipeline = program
14
27
  .command('pipeline')
@@ -21,25 +34,26 @@ export function registerPipelineCommand(program) {
21
34
  const store = getStore();
22
35
  const active = store.listActive();
23
36
  if (active.length === 0) {
24
- process.stdout.write('当前无活跃 Pipeline\n');
37
+ info('当前无活跃 Pipeline');
25
38
  return;
26
39
  }
27
- process.stdout.write(`活跃 Pipeline(${active.length} 个):\n\n`);
28
- for (const p of active) {
40
+ heading(`活跃 Pipeline(${active.length} 个)`);
41
+ const rows = active.map(p => {
29
42
  const updatedAt = new Date(p.updatedAt);
30
43
  const ageMs = Date.now() - updatedAt.getTime();
31
44
  const ageMin = Math.floor(ageMs / 60000);
32
45
  const ageStr = ageMin < 60
33
46
  ? `${ageMin} 分钟前`
34
47
  : `${Math.floor(ageMin / 60)} 小时前`;
35
- process.stdout.write(` ID: ${p.id}\n`);
36
- process.stdout.write(` 需求: ${p.requirement}\n`);
37
- process.stdout.write(` 项目: ${p.projectPath}\n`);
38
- process.stdout.write(` 阶段: ${PHASE_LABELS[p.phase]}\n`);
39
- process.stdout.write(` 最后更新: ${ageStr}\n\n`);
40
- }
41
- process.stdout.write('使用 cf pipeline close <id> 手动关闭\n');
42
- process.stdout.write('使用 cf pipeline close --all 关闭全部\n');
48
+ const phaseLabel = PHASE_LABELS[p.phase] ?? p.phase;
49
+ const req = p.requirement.length > 40 ? p.requirement.slice(0, 40) + '…' : p.requirement;
50
+ const projName = path.basename(p.projectPath);
51
+ return [p.id.slice(0, 8), req, projName, chalk.cyan(phaseLabel), chalk.dim(ageStr)];
52
+ });
53
+ table(['ID', '需求', '项目', '阶段', '最后更新'], rows);
54
+ console.log('');
55
+ info(`使用 ${chalk.cyan('cf pipeline close <id>')} 关闭指定 Pipeline`);
56
+ info(`使用 ${chalk.cyan('cf pipeline close --all')} 关闭全部`);
43
57
  });
44
58
  // ── close ─────────────────────────────────────────────────────────────────
45
59
  pipeline
@@ -47,32 +61,56 @@ export function registerPipelineCommand(program) {
47
61
  .description('关闭指定 Pipeline(或关闭全部)')
48
62
  .option('--all', '关闭所有活跃 Pipeline')
49
63
  .option('--expired', '只关闭超过配置时间未更新的过期 Pipeline')
50
- .action((id, opts) => {
64
+ .option('-y, --yes', '跳过确认提示')
65
+ .action(async (id, opts) => {
51
66
  const store = getStore();
52
67
  if (opts.expired) {
53
68
  const config = ConfigManager.getInstance().get();
54
69
  const ttlMs = config.ui.pipeline_expire_hours * 60 * 60 * 1000;
55
70
  const closed = store.closeExpired(ttlMs);
56
- process.stdout.write(closed > 0
57
- ? `✓ 已关闭 ${closed} 个过期 Pipeline(>${config.ui.pipeline_expire_hours}小时未更新)\n`
58
- : '无过期 Pipeline\n');
71
+ if (closed > 0) {
72
+ success(`已关闭 ${closed} 个过期 Pipeline(>${config.ui.pipeline_expire_hours} 小时未更新)`);
73
+ warning('请重启 daemon 使内存状态同步:cf daemon restart');
74
+ }
75
+ else {
76
+ info('无过期 Pipeline');
77
+ }
59
78
  return;
60
79
  }
61
80
  if (opts.all) {
62
81
  const active = store.listActive();
82
+ if (active.length === 0) {
83
+ info('当前无活跃 Pipeline');
84
+ return;
85
+ }
86
+ // 显示影响范围
87
+ console.log('');
88
+ console.log(chalk.yellow('⚠️ 即将关闭以下 Pipeline:'));
89
+ for (const p of active) {
90
+ const req = p.requirement.length > 60 ? p.requirement.slice(0, 60) + '…' : p.requirement;
91
+ console.log(` ${chalk.dim('•')} ${chalk.cyan(p.id.slice(0, 8))} ${req}`);
92
+ }
93
+ console.log('');
94
+ if (!opts.yes) {
95
+ const confirmed = await confirm(`确认关闭全部 ${active.length} 个 Pipeline?`);
96
+ if (!confirmed) {
97
+ info('已取消');
98
+ return;
99
+ }
100
+ }
63
101
  for (const p of active)
64
102
  store.closeById(p.id);
65
- process.stdout.write(`✓ 已关闭全部 ${active.length} 个 Pipeline\n`);
66
- process.stdout.write('请重启 daemon 使内存状态同步:cf daemon restart\n');
103
+ success(`已关闭全部 ${active.length} 个 Pipeline`);
104
+ warning('请重启 daemon 使内存状态同步:cf daemon restart');
67
105
  return;
68
106
  }
69
107
  if (!id) {
70
- process.stderr.write('请指定 Pipeline ID,或使用 --all / --expired\n');
108
+ errorOutput('请指定 Pipeline ID,或使用 --all / --expired');
71
109
  process.exit(1);
72
110
  }
73
111
  store.closeById(id);
74
- process.stdout.write(`✓ 已关闭 Pipeline ${id}\n`);
75
- process.stdout.write('请重启 daemon 使内存状态同步:cf daemon restart\n');
112
+ success(`已关闭 Pipeline ${id}`);
113
+ warning('请重启 daemon 使内存状态同步:cf daemon restart');
76
114
  });
77
115
  }
78
116
  //# sourceMappingURL=pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/cli/commands/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/cli/commands/pipeline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"post-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,0CAA0C;IAC1C,OAAO,CAAC,iBAAiB,CAAqB;gBAElC,GAAG,EAAE,cAAc;IAIzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAqK9D"}
1
+ {"version":3,"file":"post-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,0CAA0C;IAC1C,OAAO,CAAC,iBAAiB,CAAqB;gBAElC,GAAG,EAAE,cAAc;IAIzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAwL9D"}
@@ -40,16 +40,22 @@ export class PostToolUseHandler extends BaseHookHandler {
40
40
  }
41
41
  }
42
42
  const pipelineResult = await pipelineEngine.handlePostToolUse(event, qualityGate ?? undefined);
43
- // 每次工具回执后打一行快照(阶段/任务数),避免仅阶段推进时才有日志、长时间像「卡住」
44
- if (pipelineEngine.hasActivePipeline(event.project_path)) {
45
- const snap = pipelineEngine.getProgressLogLine(event.project_path);
46
- if (snap) {
47
- logger.info(`[Forge:Pipeline] 工具后快照 | ${event.tool_name || '—'} | ${snap}`);
48
- }
49
- }
43
+ // 质量门禁拦截:注入修复指令
50
44
  if (pipelineResult.qualityBlocked && pipelineResult.qualityIssues?.length) {
51
45
  const issuesList = pipelineResult.qualityIssues.join('\n');
52
46
  logger.warn(`[Forge:质量门禁] 阶段推进被拦截,注入修复指令`);
47
+ // 打印结构化快照(含门禁状态)
48
+ if (pipelineEngine.hasActivePipeline(event.project_path)) {
49
+ const snap = pipelineEngine.getProgressLogLine(event.project_path, {
50
+ blocked: true,
51
+ level: 'fail',
52
+ issues: pipelineResult.qualityIssues,
53
+ fixAttempts: pipelineResult.fixAttempts,
54
+ });
55
+ if (snap) {
56
+ logger.info(`[Forge:Pipeline] 工具后快照 | ${event.tool_name || '—'}\n${snap}`);
57
+ }
58
+ }
53
59
  const directive = pipelineResult.systemMessage
54
60
  ?? `[Forge 质量门禁] ❌ 质量检查未通过,必须修复后才能继续:\n\n${issuesList}`;
55
61
  // 使用 allow:true + systemMessage 确保 Claude 能看到修复指令
@@ -64,6 +70,14 @@ export class PostToolUseHandler extends BaseHookHandler {
64
70
  logger.info(`[Forge:Pipeline] 跨阶段补充检测消息已注入`);
65
71
  notifications.push(ForgeFormatter.formatModuleNotification('pipeline', pipelineResult.gapMessage));
66
72
  }
73
+ // 正常路径:打印结构化快照(含质量门禁通过状态)
74
+ if (pipelineEngine.hasActivePipeline(event.project_path)) {
75
+ const gateLevel = pipelineResult.qualityLevel;
76
+ const snap = pipelineEngine.getProgressLogLine(event.project_path, gateLevel ? { blocked: false, level: gateLevel } : undefined);
77
+ if (snap) {
78
+ logger.info(`[Forge:Pipeline] 工具后快照 | ${event.tool_name || '—'}\n${snap}`);
79
+ }
80
+ }
67
81
  const pipelineNotify = pipelineResult.message;
68
82
  if (pipelineNotify) {
69
83
  logger.info(`[Forge:Pipeline] 进度:${pipelineNotify}`);
@@ -1 +1 @@
1
- {"version":3,"file":"post-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,8 @@ export declare class PipelineEngine {
38
38
  qualityIssues?: string[];
39
39
  systemMessage?: string;
40
40
  gapMessage?: string;
41
+ qualityLevel?: 'pass' | 'warn' | 'fail';
42
+ fixAttempts?: number;
41
43
  }>;
42
44
  private _handlePostToolUse;
43
45
  /**
@@ -57,9 +59,15 @@ export declare class PipelineEngine {
57
59
  */
58
60
  getStatusSummary(projectPath: string): string | null;
59
61
  /**
60
- * 单行进度(PostToolUse 后写入 events.jsonl,便于对照 Claude Code 仍在跑工具时的阶段)
62
+ * 结构化进度快照(PostToolUse 后写入 events.jsonl
63
+ * gateStatus: 质量门禁结果,undefined 表示本次未触发门禁
61
64
  */
62
- getProgressLogLine(projectPath: string): string | null;
65
+ getProgressLogLine(projectPath: string, gateStatus?: {
66
+ blocked: boolean;
67
+ level: 'pass' | 'warn' | 'fail';
68
+ issues?: string[];
69
+ fixAttempts?: number;
70
+ }): string | null;
63
71
  /**
64
72
  * 获取 PhaseManager 引用(用于注入知识上下文)
65
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
@@ -127,7 +127,7 @@ export class PipelineEngine {
127
127
  // 持久化阶段推进状态(重启后可恢复)
128
128
  this.persistPhaseState(pipeline.id, pipeline.phase);
129
129
  if (result.qualityBlocked) {
130
- return { message: null, qualityBlocked: true, qualityIssues: result.qualityIssues, systemMessage: result.systemMessage };
130
+ return { message: null, qualityBlocked: true, qualityIssues: result.qualityIssues, systemMessage: result.systemMessage, qualityLevel: result.qualityLevel, fixAttempts: result.fixAttempts };
131
131
  }
132
132
  if (result.advanced && result.newPhase) {
133
133
  const completedPhase = pipeline.phase; // 推进前的阶段
@@ -156,8 +156,22 @@ export class PipelineEngine {
156
156
  this.emptyPhaseNotified.delete(`${event.project_path}:${completedPhase}`);
157
157
  if (result.newPhase === 'done') {
158
158
  this.activePipelines.delete(event.project_path);
159
+ // 统计数据
160
+ const totalTasks = pipeline.tasks.length;
161
+ const completedTasks = pipeline.tasks.filter(t => t.status === 'completed').length;
162
+ const failedTasks = pipeline.tasks.filter(t => t.status === 'failed').length;
163
+ const completedPhases = pipeline.plannedPhases?.filter(p => {
164
+ const phaseTasks = pipeline.tasks.filter(t => t.phase === p);
165
+ return phaseTasks.length > 0 && phaseTasks.every(t => t.status === 'completed');
166
+ }) || [];
159
167
  // Pipeline 完成报告
160
- let reportMessage = `[Forge Pipeline] 项目已完成所有阶段!需求:${pipeline.requirement}`;
168
+ let reportMessage = `[Forge Pipeline] ✅ 项目已完成所有阶段!
169
+ 📋 需求:${pipeline.requirement}
170
+ 📊 统计:
171
+ • 总任务数:${totalTasks}
172
+ • 已完成:${completedTasks}
173
+ • 失败:${failedTasks}
174
+ • 完成阶段:${completedPhases.map(p => PHASE_LABELS[p]).join('、')}`;
161
175
  if (qualityGate) {
162
176
  try {
163
177
  const reportGenerator = new PipelineReportGenerator(qualityGate.getIssueTracker(), this.phaseManager);
@@ -171,9 +185,9 @@ export class PipelineEngine {
171
185
  }
172
186
  return { message: reportMessage };
173
187
  }
174
- return { message: `[Forge Pipeline] 阶段推进:${PHASE_LABELS[result.newPhase]}`, gapMessage: result.gapMessage };
188
+ return { message: `[Forge Pipeline] 阶段推进:${PHASE_LABELS[result.newPhase]}`, gapMessage: result.gapMessage, qualityLevel: result.qualityLevel };
175
189
  }
176
- return { message: null };
190
+ return { message: null, qualityLevel: result.qualityLevel };
177
191
  }
178
192
  /**
179
193
  * 启动新 Pipeline
@@ -203,7 +217,9 @@ export class PipelineEngine {
203
217
  catch (err) {
204
218
  logger.warn(`[Pipeline] 执行计划文档写入失败:${err}`);
205
219
  }
206
- logger.info(`[Pipeline] 已启动,共 ${pipeline.tasks.length} 个任务 (${complexity} ${taskType}, ${plannedPhases.length} 阶段)`);
220
+ const taskLines = pipeline.tasks.map(t => ` ○ ${t.title}${t.source ? ` [${t.source}]` : ''}`).join('\n');
221
+ const phaseFlow = plannedPhases.map(p => PHASE_LABELS[p]).join(' → ');
222
+ logger.info(`[Pipeline] ✅ 已启动\n📋 需求:${requirement}\n📊 统计:${pipeline.tasks.length} 个任务 | ${plannedPhases.length} 个阶段 | 复杂度:${complexity}\n🗺️ 阶段规划:${phaseFlow}\n📝 任务清单:\n${taskLines}`);
207
223
  return pipeline;
208
224
  }
209
225
  /**
@@ -217,7 +233,8 @@ export class PipelineEngine {
217
233
  .filter((id) => ['analyze', 'design', 'profile', 'code', 'test', 'review'].includes(id));
218
234
  const plannedPhases = validPhases.length > 0 ? validPhases : ['code', 'test'];
219
235
  const pipeline = this.store.createPipeline(requirement, projectPath, sessionId, undefined, 'moderate', 'other', plannedPhases, undefined, `来源模板:${template.name}(${template.id})`);
220
- // 从模板阶段生成任务
236
+ // 从模板阶段生成任务(带来源标记)
237
+ const sourceLabel = template.conventionName || (template.source === 'builtin' ? '内置' : '自定义');
221
238
  const tasks = template.phases.map(phase => ({
222
239
  title: phase.name,
223
240
  phase: (validPhases.includes(phase.id)
@@ -226,6 +243,7 @@ export class PipelineEngine {
226
243
  status: 'pending',
227
244
  description: phase.instructions,
228
245
  dependencies: [],
246
+ source: `${sourceLabel}·${phase.name}`,
229
247
  }));
230
248
  if (tasks.length > 0) {
231
249
  pipeline.tasks = this.store.addTasks(pipeline.id, tasks);
@@ -244,7 +262,9 @@ export class PipelineEngine {
244
262
  catch (err) {
245
263
  logger.warn(`[Pipeline] 模板执行计划文档写入失败:${err}`);
246
264
  }
247
- logger.info(`[Pipeline] 模板驱动启动完成,共 ${pipeline.tasks.length} 个任务`);
265
+ const taskLines = pipeline.tasks.map(t => ` ${t.title}${t.source ? ` [${t.source}]` : ''}`).join('\n');
266
+ const phaseFlow = plannedPhases.map(p => PHASE_LABELS[p]).join(' → ');
267
+ logger.info(`[Pipeline] ✅ 模板驱动启动完成\n📋 需求:${requirement}\n📊 统计:${pipeline.tasks.length} 个任务 | ${plannedPhases.length} 个阶段 | 模板:${template.name}\n🗺️ 阶段规划:${phaseFlow}\n📝 任务清单:\n${taskLines}`);
248
268
  return pipeline;
249
269
  }
250
270
  /**
@@ -269,9 +289,10 @@ export class PipelineEngine {
269
289
  阶段:${PHASE_LABELS[pipeline.phase]} | 进度:${done}/${tasks.length}`;
270
290
  }
271
291
  /**
272
- * 单行进度(PostToolUse 后写入 events.jsonl,便于对照 Claude Code 仍在跑工具时的阶段)
292
+ * 结构化进度快照(PostToolUse 后写入 events.jsonl
293
+ * gateStatus: 质量门禁结果,undefined 表示本次未触发门禁
273
294
  */
274
- getProgressLogLine(projectPath) {
295
+ getProgressLogLine(projectPath, gateStatus) {
275
296
  // 完全从 DB 读取,避免缓存中的 phase 过期
276
297
  const pipeline = this.store.getActivePipeline(projectPath);
277
298
  if (!pipeline || pipeline.phase === 'done')
@@ -285,20 +306,41 @@ export class PipelineEngine {
285
306
  const currentIdx = plannedPhases.indexOf(pipeline.phase);
286
307
  const remaining = currentIdx >= 0 ? plannedPhases.slice(currentIdx + 1) : [];
287
308
  const remainStr = remaining.length > 0
288
- ? ` | 剩余:${remaining.map(p => PHASE_LABELS[p]).join('→')}`
309
+ ? ` 待:${remaining.map(p => PHASE_LABELS[p]).join('→')}`
289
310
  : '';
290
- // 当前阶段任务状态(进度条 + 任务列表)
311
+ // 当前阶段任务列表(含来源标记)
291
312
  const phaseTasks = tasks.filter(t => t.phase === pipeline.phase);
292
- const barFilled = phaseProg.total > 0 ? Math.round((phaseProg.completed / phaseProg.total) * 8) : 0;
293
- const bar = ''.repeat(barFilled) + '░'.repeat(8 - barFilled);
294
- const taskList = phaseTasks.length > 0
295
- ? '\n ' + phaseTasks.map(t => {
296
- const icon = t.status === 'completed' ? '✅' : t.status === 'in_progress' ? '🔄' : '⏳';
297
- return `${icon} ${t.title}`;
298
- }).join('\n ')
313
+ const taskLines = phaseTasks.length > 0
314
+ ? '\n' + phaseTasks.map(t => {
315
+ const icon = t.status === 'completed' ? '✅' : t.status === 'in_progress' ? '▶' : '○';
316
+ const sourceTag = t.source ? ` [${t.source}]` : '';
317
+ return ` ${icon} ${t.title}${sourceTag}`;
318
+ }).join('\n')
299
319
  : '';
300
- const shortId = pipeline.id.length > 8 ? `${pipeline.id.slice(0, 8)}…` : pipeline.id;
301
- return `pipeline=${shortId} | ${PHASE_LABELS[pipeline.phase]} [${bar}] ${phaseProg.completed}/${phaseProg.total} | 全局 ${doneAll}/${tasks.length}(${pct}%)${remainStr}${taskList}`;
320
+ const shortId = pipeline.id.length > 8 ? pipeline.id.slice(0, 8) : pipeline.id;
321
+ const barFilled = phaseProg.total > 0 ? Math.round((phaseProg.completed / phaseProg.total) * 10) : 0;
322
+ const bar = '█'.repeat(barFilled) + '░'.repeat(10 - barFilled);
323
+ // 任务进度行
324
+ const progressLine = `#${shortId} ${PHASE_LABELS[pipeline.phase]} ${phaseProg.completed}/${phaseProg.total} [${bar}] 全局${pct}%${remainStr}${taskLines}`;
325
+ // 质量门禁状态行(仅在有门禁结果时追加)
326
+ if (!gateStatus)
327
+ return progressLine;
328
+ let gateLine;
329
+ if (gateStatus.blocked) {
330
+ const attempts = gateStatus.fixAttempts ? ` (第${gateStatus.fixAttempts}次)` : '';
331
+ gateLine = `\n 🚦 阶段状态: ⚠️ 待修复${attempts}`;
332
+ if (gateStatus.issues?.length) {
333
+ gateLine += '\n' + gateStatus.issues.map(i => ` ❌ ${i}`).join('\n');
334
+ }
335
+ gateLine += '\n ⏸️ 阶段推进已暂停,修复后将自动继续';
336
+ }
337
+ else if (gateStatus.level === 'warn') {
338
+ gateLine = `\n 🚦 阶段状态: 🟡 通过(含建议)`;
339
+ }
340
+ else {
341
+ gateLine = `\n 🚦 阶段状态: ✅ 通过`;
342
+ }
343
+ return progressLine + gateLine;
302
344
  }
303
345
  /**
304
346
  * 获取 PhaseManager 引用(用于注入知识上下文)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,8 @@ export declare class PhaseManager {
69
69
  qualityIssues?: string[];
70
70
  systemMessage?: string;
71
71
  gapMessage?: string;
72
+ qualityLevel?: 'pass' | 'warn' | 'fail';
73
+ fixAttempts?: number;
72
74
  }>;
73
75
  /** 每个阶段兜底推进所需的最少工具调用次数(按复杂度动态调整) */
74
76
  private getPhaseActivityThreshold;
@@ -1 +1 @@
1
- {"version":3,"file":"phase-manager.d.ts","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase-manager.d.ts","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"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"}
@@ -221,6 +221,7 @@ ${remainingTitles}
221
221
  const updatedProgress = this.store.getPhaseProgress(pipeline.id, phase);
222
222
  if (updatedProgress.total > 0 && updatedProgress.completed >= updatedProgress.total) {
223
223
  // 质量门禁:阶段推进前检查(含自动修复循环)
224
+ let qualityLevel;
224
225
  if (qualityGate) {
225
226
  const fixKey = `${pipeline.id}:${phase}`;
226
227
  const fixAttempts = this.phaseFixAttempts.get(fixKey) || 0;
@@ -287,12 +288,15 @@ ${newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS - 1 ? '\n⚠️ 最后机会:
287
288
  qualityBlocked: true,
288
289
  qualityIssues: failIssues,
289
290
  systemMessage,
291
+ qualityLevel: 'fail',
292
+ fixAttempts: newAttempts,
290
293
  };
291
294
  }
292
295
  }
293
296
  else {
294
297
  // pass 或 warn:清理修复计数,允许阶段推进
295
298
  // warn 不阻断,仅记录日志
299
+ qualityLevel = gateResult?.level ?? 'pass';
296
300
  if (fixAttempts > 0) {
297
301
  logger.info(`[Pipeline] 质量门禁 ${PHASE_LABELS[phase]} 通过(经过 ${fixAttempts} 次修复)`);
298
302
  }
@@ -328,7 +332,7 @@ ${newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS - 1 ? '\n⚠️ 最后机会:
328
332
  .join('\n');
329
333
  logger.info(`[Pipeline] 阶段推进:${PHASE_LABELS[phase]} → ${PHASE_LABELS[newPh]}\n` +
330
334
  ` 完成 ${phaseTasks.length} 个任务,成果汇总:\n${artifacts}`);
331
- return { advanced: true, newPhase: newPh, gapMessage: gapMessage ?? forcedCompletionMessage };
335
+ return { advanced: true, newPhase: newPh, gapMessage: gapMessage ?? forcedCompletionMessage, qualityLevel };
332
336
  }
333
337
  return { advanced: false };
334
338
  }