@winspan/claude-forge 0.7.2 → 0.7.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.
- package/dist/ai-gateway/index.d.ts.map +1 -1
- package/dist/ai-gateway/index.js +30 -9
- package/dist/ai-gateway/index.js.map +1 -1
- package/dist/ai-gateway/model-selector.d.ts +12 -0
- package/dist/ai-gateway/model-selector.d.ts.map +1 -1
- package/dist/ai-gateway/model-selector.js +20 -0
- package/dist/ai-gateway/model-selector.js.map +1 -1
- package/dist/autopilot/intent-engine.d.ts +0 -4
- package/dist/autopilot/intent-engine.d.ts.map +1 -1
- package/dist/autopilot/intent-engine.js +32 -102
- package/dist/autopilot/intent-engine.js.map +1 -1
- package/dist/autopilot/issue-tracker.d.ts +48 -0
- package/dist/autopilot/issue-tracker.d.ts.map +1 -0
- package/dist/autopilot/issue-tracker.js +94 -0
- package/dist/autopilot/issue-tracker.js.map +1 -0
- package/dist/autopilot/phase-gap-detector.d.ts +25 -0
- package/dist/autopilot/phase-gap-detector.d.ts.map +1 -0
- package/dist/autopilot/phase-gap-detector.js +80 -0
- package/dist/autopilot/phase-gap-detector.js.map +1 -0
- package/dist/autopilot/quality-gate.d.ts +22 -0
- package/dist/autopilot/quality-gate.d.ts.map +1 -1
- package/dist/autopilot/quality-gate.js +108 -25
- package/dist/autopilot/quality-gate.js.map +1 -1
- package/dist/autopilot/task-completion-detector.d.ts +32 -0
- package/dist/autopilot/task-completion-detector.d.ts.map +1 -0
- package/dist/autopilot/task-completion-detector.js +103 -0
- package/dist/autopilot/task-completion-detector.js.map +1 -0
- package/dist/cli/commands/pattern.d.ts.map +1 -1
- package/dist/cli/commands/pattern.js +44 -38
- package/dist/cli/commands/pattern.js.map +1 -1
- package/dist/daemon/engine-registry.js +1 -1
- package/dist/daemon/handlers/context-builder.d.ts +8 -7
- package/dist/daemon/handlers/context-builder.d.ts.map +1 -1
- package/dist/daemon/handlers/context-builder.js +16 -20
- package/dist/daemon/handlers/context-builder.js.map +1 -1
- package/dist/daemon/handlers/orchestration-context.d.ts +6 -9
- package/dist/daemon/handlers/orchestration-context.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use-handler.js +12 -0
- package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
- package/dist/daemon/handlers/stages/01-failure-signal.d.ts +1 -0
- package/dist/daemon/handlers/stages/01-failure-signal.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/01-failure-signal.js +2 -2
- package/dist/daemon/handlers/stages/01-failure-signal.js.map +1 -1
- package/dist/daemon/handlers/stages/02-active-intervention.d.ts +1 -0
- package/dist/daemon/handlers/stages/02-active-intervention.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/02-active-intervention.js +1 -0
- package/dist/daemon/handlers/stages/02-active-intervention.js.map +1 -1
- package/dist/daemon/handlers/stages/03-init-prompt.d.ts +1 -0
- package/dist/daemon/handlers/stages/03-init-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/03-init-prompt.js +2 -2
- package/dist/daemon/handlers/stages/03-init-prompt.js.map +1 -1
- package/dist/daemon/handlers/stages/04-skill-suggestions.d.ts +1 -0
- package/dist/daemon/handlers/stages/04-skill-suggestions.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/04-skill-suggestions.js +2 -1
- package/dist/daemon/handlers/stages/04-skill-suggestions.js.map +1 -1
- package/dist/daemon/handlers/stages/05-conv-config.d.ts +1 -0
- package/dist/daemon/handlers/stages/05-conv-config.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/05-conv-config.js +1 -0
- package/dist/daemon/handlers/stages/05-conv-config.js.map +1 -1
- package/dist/daemon/handlers/stages/06-engine-check.d.ts +1 -0
- package/dist/daemon/handlers/stages/06-engine-check.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/06-engine-check.js +1 -0
- package/dist/daemon/handlers/stages/06-engine-check.js.map +1 -1
- package/dist/daemon/handlers/stages/07-pipeline-reply.d.ts +1 -0
- package/dist/daemon/handlers/stages/07-pipeline-reply.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/07-pipeline-reply.js +1 -2
- package/dist/daemon/handlers/stages/07-pipeline-reply.js.map +1 -1
- package/dist/daemon/handlers/stages/08-esc-interrupt.d.ts +1 -0
- package/dist/daemon/handlers/stages/08-esc-interrupt.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/08-esc-interrupt.js +1 -0
- package/dist/daemon/handlers/stages/08-esc-interrupt.js.map +1 -1
- package/dist/daemon/handlers/stages/09-pipeline-active.d.ts +1 -0
- package/dist/daemon/handlers/stages/09-pipeline-active.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/09-pipeline-active.js +1 -0
- package/dist/daemon/handlers/stages/09-pipeline-active.js.map +1 -1
- package/dist/daemon/handlers/stages/10-cooldown.d.ts +1 -1
- package/dist/daemon/handlers/stages/10-cooldown.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/10-cooldown.js +1 -39
- package/dist/daemon/handlers/stages/10-cooldown.js.map +1 -1
- package/dist/daemon/handlers/stages/11-intent-analysis.d.ts +1 -0
- package/dist/daemon/handlers/stages/11-intent-analysis.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/11-intent-analysis.js +4 -3
- package/dist/daemon/handlers/stages/11-intent-analysis.js.map +1 -1
- package/dist/daemon/handlers/stages/12-strategy-advice.d.ts +1 -0
- package/dist/daemon/handlers/stages/12-strategy-advice.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/12-strategy-advice.js +1 -0
- package/dist/daemon/handlers/stages/12-strategy-advice.js.map +1 -1
- package/dist/daemon/handlers/stages/13-template-route.d.ts +1 -0
- package/dist/daemon/handlers/stages/13-template-route.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/13-template-route.js +1 -0
- package/dist/daemon/handlers/stages/13-template-route.js.map +1 -1
- package/dist/daemon/handlers/stages/14-plan-resume.d.ts +1 -0
- package/dist/daemon/handlers/stages/14-plan-resume.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/14-plan-resume.js +1 -0
- package/dist/daemon/handlers/stages/14-plan-resume.js.map +1 -1
- package/dist/daemon/handlers/stages/15-plan-enforcement.d.ts +1 -0
- package/dist/daemon/handlers/stages/15-plan-enforcement.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/15-plan-enforcement.js +1 -0
- package/dist/daemon/handlers/stages/15-plan-enforcement.js.map +1 -1
- package/dist/daemon/handlers/stages/16-intervention-level.d.ts +1 -0
- package/dist/daemon/handlers/stages/16-intervention-level.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/16-intervention-level.js +1 -0
- package/dist/daemon/handlers/stages/16-intervention-level.js.map +1 -1
- package/dist/daemon/handlers/stages/17-simple-task.d.ts +1 -0
- package/dist/daemon/handlers/stages/17-simple-task.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/17-simple-task.js +2 -1
- package/dist/daemon/handlers/stages/17-simple-task.js.map +1 -1
- package/dist/daemon/handlers/stages/18-complex-task.d.ts +1 -0
- package/dist/daemon/handlers/stages/18-complex-task.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/18-complex-task.js +4 -4
- package/dist/daemon/handlers/stages/18-complex-task.js.map +1 -1
- package/dist/daemon/handlers/stages/19-moderate-task.d.ts +1 -0
- package/dist/daemon/handlers/stages/19-moderate-task.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/19-moderate-task.js +3 -2
- package/dist/daemon/handlers/stages/19-moderate-task.js.map +1 -1
- package/dist/daemon/handlers/stages/stage-interface.d.ts +3 -0
- package/dist/daemon/handlers/stages/stage-interface.d.ts.map +1 -1
- package/dist/daemon/handlers/stages/stage-scheduler.d.ts +27 -0
- package/dist/daemon/handlers/stages/stage-scheduler.d.ts.map +1 -0
- package/dist/daemon/handlers/stages/stage-scheduler.js +105 -0
- package/dist/daemon/handlers/stages/stage-scheduler.js.map +1 -0
- package/dist/daemon/handlers/user-prompt-handler.d.ts +3 -12
- package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt-handler.js +73 -94
- package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
- package/dist/pipeline/index.d.ts +1 -5
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +29 -25
- package/dist/pipeline/index.js.map +1 -1
- package/dist/{pattern-engine/types.d.ts → pipeline/pattern-types.d.ts} +1 -1
- package/dist/pipeline/pattern-types.d.ts.map +1 -0
- package/dist/{pattern-engine/types.js → pipeline/pattern-types.js} +1 -1
- package/dist/pipeline/pattern-types.js.map +1 -0
- package/dist/pipeline/phase-manager.d.ts +6 -1
- package/dist/pipeline/phase-manager.d.ts.map +1 -1
- package/dist/pipeline/phase-manager.js +68 -38
- package/dist/pipeline/phase-manager.js.map +1 -1
- package/dist/pipeline/report-generator.d.ts +20 -0
- package/dist/pipeline/report-generator.d.ts.map +1 -0
- package/dist/pipeline/report-generator.js +123 -0
- package/dist/pipeline/report-generator.js.map +1 -0
- package/dist/prompts/intent-analysis.md +62 -0
- package/dist/prompts/registry.d.ts +17 -0
- package/dist/prompts/registry.d.ts.map +1 -0
- package/dist/prompts/registry.js +40 -0
- package/dist/prompts/registry.js.map +1 -0
- package/dist/skill-registry/evolver/index.d.ts +1 -1
- package/dist/skill-registry/evolver/index.d.ts.map +1 -1
- package/dist/{pattern-engine → skill-registry}/pattern-evolver.d.ts +6 -2
- package/dist/skill-registry/pattern-evolver.d.ts.map +1 -0
- package/dist/{pattern-engine → skill-registry}/pattern-evolver.js +30 -6
- package/dist/skill-registry/pattern-evolver.js.map +1 -0
- package/dist/storage/repositories/distill-repository.d.ts +2 -1
- package/dist/storage/repositories/distill-repository.d.ts.map +1 -1
- package/dist/storage/repositories/distill-repository.js +6 -0
- package/dist/storage/repositories/distill-repository.js.map +1 -1
- package/dist/storage/sqlite.d.ts +96 -157
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +123 -896
- package/dist/storage/sqlite.js.map +1 -1
- package/package.json +2 -2
- package/dist/daemon/engine-registry/init-pattern-engine.d.ts +0 -9
- package/dist/daemon/engine-registry/init-pattern-engine.d.ts.map +0 -1
- package/dist/daemon/engine-registry/init-pattern-engine.js +0 -22
- package/dist/daemon/engine-registry/init-pattern-engine.js.map +0 -1
- package/dist/pattern-engine/convention-pattern-generator.d.ts +0 -14
- package/dist/pattern-engine/convention-pattern-generator.d.ts.map +0 -1
- package/dist/pattern-engine/convention-pattern-generator.js +0 -120
- package/dist/pattern-engine/convention-pattern-generator.js.map +0 -1
- package/dist/pattern-engine/execution-tracker.d.ts +0 -45
- package/dist/pattern-engine/execution-tracker.d.ts.map +0 -1
- package/dist/pattern-engine/execution-tracker.js +0 -136
- package/dist/pattern-engine/execution-tracker.js.map +0 -1
- package/dist/pattern-engine/index.d.ts +0 -75
- package/dist/pattern-engine/index.d.ts.map +0 -1
- package/dist/pattern-engine/index.js +0 -247
- package/dist/pattern-engine/index.js.map +0 -1
- package/dist/pattern-engine/pattern-evolver.d.ts.map +0 -1
- package/dist/pattern-engine/pattern-evolver.js.map +0 -1
- package/dist/pattern-engine/pattern-executor.d.ts +0 -43
- package/dist/pattern-engine/pattern-executor.d.ts.map +0 -1
- package/dist/pattern-engine/pattern-executor.js +0 -228
- package/dist/pattern-engine/pattern-executor.js.map +0 -1
- package/dist/pattern-engine/pattern-loader.d.ts +0 -14
- package/dist/pattern-engine/pattern-loader.d.ts.map +0 -1
- package/dist/pattern-engine/pattern-loader.js +0 -111
- package/dist/pattern-engine/pattern-loader.js.map +0 -1
- package/dist/pattern-engine/pattern-router.d.ts +0 -31
- package/dist/pattern-engine/pattern-router.d.ts.map +0 -1
- package/dist/pattern-engine/pattern-router.js +0 -160
- package/dist/pattern-engine/pattern-router.js.map +0 -1
- package/dist/pattern-engine/types.d.ts.map +0 -1
- package/dist/pattern-engine/types.js.map +0 -1
|
@@ -2,6 +2,7 @@ import { PHASE_LABELS, nextPhase } from './types.js';
|
|
|
2
2
|
import { logger } from '../utils/logger.js';
|
|
3
3
|
import { memoryManager } from '../utils/memory-manager.js';
|
|
4
4
|
export class PhaseManager {
|
|
5
|
+
taskCompletionDetector;
|
|
5
6
|
store;
|
|
6
7
|
knowledgeContext = memoryManager.register('phase:knowledge', { max: 100, ttl: 24 * 3600_000 });
|
|
7
8
|
totalPhaseEventCounts = memoryManager.register('phase:eventCounts', { max: 100, ttl: 24 * 3600_000 });
|
|
@@ -9,8 +10,11 @@ export class PhaseManager {
|
|
|
9
10
|
phaseFixAttempts = memoryManager.register('phase:fixAttempts', { max: 100, ttl: 24 * 3600_000 });
|
|
10
11
|
/** 追踪每个 pipeline:phase 的 Write/Edit 调用次数 */
|
|
11
12
|
phaseWriteEditCounts = memoryManager.register('phase:writeEditCounts', { max: 100, ttl: 24 * 3600_000 });
|
|
13
|
+
/** 追踪每个 pipeline:phase 最近 5 次工具调用 */
|
|
14
|
+
recentTools = memoryManager.register('phase:recentTools', { max: 100, ttl: 24 * 3600_000 });
|
|
12
15
|
static MAX_FIX_ATTEMPTS = 3;
|
|
13
|
-
constructor(store) {
|
|
16
|
+
constructor(store, taskCompletionDetector) {
|
|
17
|
+
this.taskCompletionDetector = taskCompletionDetector;
|
|
14
18
|
this.store = store;
|
|
15
19
|
}
|
|
16
20
|
/**
|
|
@@ -127,6 +131,37 @@ export class PhaseManager {
|
|
|
127
131
|
const writeEditCount = this.phaseWriteEditCounts.get(writeEditKey) || 0;
|
|
128
132
|
this.phaseWriteEditCounts.set(writeEditKey, writeEditCount + 1);
|
|
129
133
|
}
|
|
134
|
+
// 追踪最近 5 次工具调用(供 TaskCompletionDetector 使用)
|
|
135
|
+
const recentKey = `${pipeline.id}:${phase}`;
|
|
136
|
+
const recent = this.recentTools.get(recentKey) || [];
|
|
137
|
+
recent.push(toolName);
|
|
138
|
+
if (recent.length > 5)
|
|
139
|
+
recent.shift();
|
|
140
|
+
this.recentTools.set(recentKey, recent);
|
|
141
|
+
// LLM 语义检测:在达到阈值前尝试智能判断是否完成
|
|
142
|
+
if (this.taskCompletionDetector && progress.completed > 0 && progress.completed < progress.total && phaseEventCount + 1 >= Math.floor(activityThreshold * 0.7)) {
|
|
143
|
+
try {
|
|
144
|
+
const detectionResult = await this.taskCompletionDetector.detect({
|
|
145
|
+
requirement: pipeline.requirement,
|
|
146
|
+
currentPhase: phase,
|
|
147
|
+
recentTools: recent,
|
|
148
|
+
toolCallCount: phaseEventCount + 1,
|
|
149
|
+
completedTaskCount: progress.completed,
|
|
150
|
+
totalTaskCount: progress.total,
|
|
151
|
+
});
|
|
152
|
+
if (detectionResult.isComplete && detectionResult.confidence !== 'low') {
|
|
153
|
+
logger.info(`[Pipeline] LLM 检测到 ${PHASE_LABELS[phase]} 阶段已完成(${detectionResult.confidence}),提前推进`);
|
|
154
|
+
const remaining = pipeline.tasks.filter(t => t.phase === phase && t.status !== 'completed');
|
|
155
|
+
for (const t of remaining) {
|
|
156
|
+
this.store.updateTaskStatus(t.id, 'completed', `LLM 检测完成:${detectionResult.reason}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
logger.warn(`[Pipeline] LLM 任务完成检测失败,降级到阈值逻辑:${err}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// 兜底推进:活动阈值强制完成(LLM 检测失败或未启用时的保底机制)
|
|
130
165
|
if (progress.completed > 0 && progress.completed < progress.total && phaseEventCount + 1 >= activityThreshold) {
|
|
131
166
|
logger.info(`[Pipeline] 活动阈值(${activityThreshold})已达到,强制完成 ${PHASE_LABELS[phase]} 阶段剩余任务`);
|
|
132
167
|
const remaining = pipeline.tasks.filter(t => t.phase === phase && t.status !== 'completed');
|
|
@@ -143,11 +178,19 @@ export class PhaseManager {
|
|
|
143
178
|
const fixAttempts = this.phaseFixAttempts.get(fixKey) || 0;
|
|
144
179
|
// analyze/design 阶段产出为文本,使用 reviewPhaseCompletion
|
|
145
180
|
// code/test/review 阶段:优先用 reviewForPhase(有代码内容),否则降级到 reviewPhaseCompletion
|
|
146
|
-
const
|
|
147
|
-
|
|
181
|
+
const phaseTasks = pipeline.tasks.filter(t => t.phase === phase);
|
|
182
|
+
const phaseContext = phaseTasks
|
|
148
183
|
.map(t => `- ${t.title}: ${t.output || '(进行中)'}`)
|
|
149
184
|
.join('\n');
|
|
150
|
-
|
|
185
|
+
// 活动阈值强制完成时,任务 output 为空,质量门禁无法评审产出物。
|
|
186
|
+
// 此时跳过 reviewPhaseCompletion,视为通过(活动阈值本身已作为充分性判断)。
|
|
187
|
+
const hasRealOutput = phaseTasks.some(t => t.output && t.output.trim().length > 0);
|
|
188
|
+
const skipGate = !hasRealOutput && (phase === 'analyze' || phase === 'design');
|
|
189
|
+
if (skipGate) {
|
|
190
|
+
logger.info(`[Pipeline] ${PHASE_LABELS[phase]}阶段任务均无产出物(活动阈值强制完成),跳过质量门禁,直接推进`);
|
|
191
|
+
this.phaseFixAttempts.delete(fixKey);
|
|
192
|
+
}
|
|
193
|
+
let gateResult = skipGate ? null : (phase === 'analyze' || phase === 'design')
|
|
151
194
|
? await qualityGate.reviewPhaseCompletion(phase, pipeline.requirement, phaseContext)
|
|
152
195
|
: await qualityGate.reviewForPhase(event, phase);
|
|
153
196
|
// reviewForPhase 返回 null 表示事件不适用(非 Write/Edit),降级到 reviewPhaseCompletion
|
|
@@ -161,38 +204,10 @@ export class PhaseManager {
|
|
|
161
204
|
.filter(c => c.level === 'fail')
|
|
162
205
|
.map(c => `[${c.category}] ${c.message}${c.suggestion ? `\n 修复建议:${c.suggestion}` : ''}`);
|
|
163
206
|
if (newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS) {
|
|
164
|
-
//
|
|
165
|
-
logger.warn(`[Pipeline] 质量门禁阶段 ${PHASE_LABELS[phase]} 已达最大修复次数(${PhaseManager.MAX_FIX_ATTEMPTS}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
.map(t => `- ${t.title}`)
|
|
169
|
-
.join('\n') || '(无)';
|
|
170
|
-
const systemMessage = `[Forge 强制质量检测] ❌ ${PHASE_LABELS[phase]}阶段质量检查已连续失败 ${newAttempts} 次,需要人工介入。
|
|
171
|
-
|
|
172
|
-
## 必须修复的问题
|
|
173
|
-
|
|
174
|
-
${failIssues.join('\n\n')}
|
|
175
|
-
|
|
176
|
-
## 立即执行
|
|
177
|
-
|
|
178
|
-
1. **停止当前无关操作**(搜索、查询等)
|
|
179
|
-
2. **专注修复以上所有问题**
|
|
180
|
-
3. 修复完成后继续工作,质量门禁将自动重新检查
|
|
181
|
-
|
|
182
|
-
## 当前上下文
|
|
183
|
-
|
|
184
|
-
- **阶段**:${PHASE_LABELS[phase]}
|
|
185
|
-
- **需求**:${pipeline.requirement}
|
|
186
|
-
- **已完成任务**:
|
|
187
|
-
${completedTasks}
|
|
188
|
-
|
|
189
|
-
⚠️ 已达最大自动修复次数上限,请仔细检查并彻底修复以上所有问题。`;
|
|
190
|
-
return {
|
|
191
|
-
advanced: false,
|
|
192
|
-
qualityBlocked: true,
|
|
193
|
-
qualityIssues: failIssues,
|
|
194
|
-
systemMessage,
|
|
195
|
-
};
|
|
207
|
+
// 达到最大重试次数,强制放行并记录警告——避免 Pipeline 永久卡死产生垃圾数据
|
|
208
|
+
logger.warn(`[Pipeline] 质量门禁阶段 ${PHASE_LABELS[phase]} 已达最大修复次数(${PhaseManager.MAX_FIX_ATTEMPTS}),强制放行,记录警告`);
|
|
209
|
+
this.phaseFixAttempts.delete(fixKey);
|
|
210
|
+
// 不 return,继续执行后续阶段推进逻辑,让 Pipeline 正常前进
|
|
196
211
|
}
|
|
197
212
|
else {
|
|
198
213
|
logger.warn(`[Pipeline] 质量门禁阻止推进 ${PHASE_LABELS[phase]}(第 ${newAttempts}/${PhaseManager.MAX_FIX_ATTEMPTS} 次):${gateResult.summary}`);
|
|
@@ -219,7 +234,7 @@ ${failIssues.join('\n\n')}
|
|
|
219
234
|
- **已完成任务**:
|
|
220
235
|
${completedTasks}
|
|
221
236
|
|
|
222
|
-
${newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS - 1 ? `\n⚠️
|
|
237
|
+
${newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS - 1 ? `\n⚠️ **最后警告**:下次检查若仍不通过,将强制放行并跳过质量门禁。` : ''}`;
|
|
223
238
|
return {
|
|
224
239
|
advanced: false,
|
|
225
240
|
qualityBlocked: true,
|
|
@@ -241,6 +256,21 @@ ${newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS - 1 ? `\n⚠️ **最后警告**
|
|
|
241
256
|
}
|
|
242
257
|
}
|
|
243
258
|
const newPh = nextPhase(phase, pipeline.plannedPhases);
|
|
259
|
+
// 跨阶段补充检测:在阶段切换前检测上一阶段遗留问题
|
|
260
|
+
let gapMessage;
|
|
261
|
+
if (qualityGate?.phaseGapDetector) {
|
|
262
|
+
const gapResult = qualityGate.phaseGapDetector.detect(pipeline, phase, newPh);
|
|
263
|
+
if (gapResult.action === 'ask_user' && gapResult.systemMessage) {
|
|
264
|
+
// 暂停:需求歧义未解决,追问用户后才能推进
|
|
265
|
+
logger.info(`[Pipeline] 跨阶段检测:${PHASE_LABELS[phase]}→${PHASE_LABELS[newPh]} 发现需求歧义,暂停推进`);
|
|
266
|
+
return { advanced: false, qualityBlocked: true, systemMessage: gapResult.systemMessage };
|
|
267
|
+
}
|
|
268
|
+
if (gapResult.systemMessage) {
|
|
269
|
+
// 非阻断:注入提示,Pipeline 继续推进
|
|
270
|
+
gapMessage = gapResult.systemMessage;
|
|
271
|
+
logger.info(`[Pipeline] 跨阶段检测:${PHASE_LABELS[phase]}→${PHASE_LABELS[newPh]} 注入补充提示(${gapResult.action})`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
244
274
|
this.store.updatePhase(pipeline.id, newPh);
|
|
245
275
|
// totalPhaseEventCounts 保留累积记录,供复盘分析使用
|
|
246
276
|
this.phaseToolsSeen.delete(`${pipeline.id}:${phase}`);
|
|
@@ -251,7 +281,7 @@ ${newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS - 1 ? `\n⚠️ **最后警告**
|
|
|
251
281
|
.join('\n');
|
|
252
282
|
logger.info(`[Pipeline] 阶段推进:${PHASE_LABELS[phase]} → ${PHASE_LABELS[newPh]}\n` +
|
|
253
283
|
` 完成 ${phaseTasks.length} 个任务,成果汇总:\n${artifacts}`);
|
|
254
|
-
return { advanced: true, newPhase: newPh };
|
|
284
|
+
return { advanced: true, newPhase: newPh, gapMessage };
|
|
255
285
|
}
|
|
256
286
|
return { advanced: false };
|
|
257
287
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase-manager.js","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,MAAM,OAAO,YAAY;IACf,KAAK,CAAgB;IACrB,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAiB,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC/G,qBAAqB,GAAG,aAAa,CAAC,QAAQ,CAAiB,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IACtH,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAsB,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAClH,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAiB,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IACzH,4CAA4C;IACpC,oBAAoB,GAAG,aAAa,CAAC,QAAQ,CAAiB,uBAAuB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAEzH,MAAM,CAAU,gBAAgB,GAAG,CAAC,CAAC;IAE7C,YAAY,KAAoB;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,UAAkB,EAAE,SAAiB;QACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,GAAW,EAAE,KAAkB;QAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,GAAW,EAAE,KAAa;QAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAkB;QACjC,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,QAAkB;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAEjE,uBAAuB;QACvB,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,iBAAiB,KAAK,qBAAqB,CAAC,CAAC;YACzD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;QAE/F,aAAa;QACb,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,UAAU;QACV,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG;YAChD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG;YAC9C,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,oBAAoB,YAAY,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,MAAM,QAAQ,EAAE,CAAC,CAAC;QAE5G,yBAAyB;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEjE,8CAA8C;QAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAC9E,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAkB,EAAE,KAAiB,EAAE,WAA+B;QAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1E,yBAAyB;QACzB,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,YAAY;YAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE9C,cAAc;QACd,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CACjF,CAAC;QAEF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACzF,IAAI,SAAS,EAAE,CAAC;gBACd,+BAA+B;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,KAAK,SAAS,QAAQ,EAAE,CAAC,CAAC;gBACtE,MAAM,CAAC,cAAc;YACvB,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,gCAAgC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;QAE/E,8CAA8C;QAC9C,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,IAAI,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,IAAI,eAAe,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC9G,MAAM,CAAC,IAAI,CAAC,mBAAmB,iBAAiB,aAAa,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC3F,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YAC5F,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,aAAa;QACb,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxE,IAAI,eAAe,CAAC,KAAK,GAAG,CAAC,IAAI,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;YACpF,wBAAwB;YACxB,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;gBACzC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE3D,kDAAkD;gBAClD,4EAA4E;gBAC5E,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK;qBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;qBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;qBAChD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,UAAU,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,CAAC;oBAC1D,CAAC,CAAC,MAAM,WAAW,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;oBACpF,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnD,yEAAyE;gBACzE,IAAI,UAAU,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrE,UAAU,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAClG,CAAC;gBACD,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC9C,MAAM,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;oBACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;oBAE/C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM;yBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC;yBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAE7F,IAAI,WAAW,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;wBACjD,4BAA4B;wBAC5B,MAAM,CAAC,IAAI,CAAC,qBAAqB,YAAY,CAAC,KAAK,CAAC,aAAa,YAAY,CAAC,gBAAgB,cAAc,CAAC,CAAC;wBAE9G,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK;6BAClC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;6BAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;6BACxB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;wBAEvB,MAAM,aAAa,GAAG,oBAAoB,YAAY,CAAC,KAAK,CAAC,eAAe,WAAW;;;;EAIjG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;WAUd,YAAY,CAAC,KAAK,CAAC;WACnB,QAAQ,CAAC,WAAW;;EAE7B,cAAc;;kCAEkB,CAAC;wBACvB,OAAO;4BACL,QAAQ,EAAE,KAAK;4BACf,cAAc,EAAE,IAAI;4BACpB,aAAa,EAAE,UAAU;4BACzB,aAAa;yBACd,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,YAAY,CAAC,KAAK,CAAC,MAAM,WAAW,IAAI,YAAY,CAAC,gBAAgB,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;wBAErI,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK;6BAClC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;6BAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;6BACxB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;wBAEvB,MAAM,aAAa,GAAG,oBAAoB,YAAY,CAAC,KAAK,CAAC,eAAe,WAAW,IAAI,YAAY,CAAC,gBAAgB;;;;EAIlI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;WAUd,YAAY,CAAC,KAAK,CAAC;WACnB,QAAQ,CAAC,WAAW;;EAE7B,cAAc;;EAEd,WAAW,IAAI,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;wBAExF,OAAO;4BACL,QAAQ,EAAE,KAAK;4BACf,cAAc,EAAE,IAAI;4BACpB,aAAa,EAAE,UAAU;4BACzB,aAAa;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,4BAA4B;oBAC5B,iBAAiB;oBACjB,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,CAAC,mBAAmB,YAAY,CAAC,KAAK,CAAC,UAAU,WAAW,OAAO,CAAC,CAAC;oBAClF,CAAC;oBACD,IAAI,UAAU,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC,mBAAmB,YAAY,CAAC,KAAK,CAAC,aAAa,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvF,CAAC;oBACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3C,uCAAuC;YACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC;YAEtD,eAAe;YACf,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,UAAU;iBACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;iBAClD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,mBAAmB,YAAY,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI;gBAC7E,QAAQ,UAAU,CAAC,MAAM,eAAe,SAAS,EAAE,CAAC,CAAC;YAEvD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC7C,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,oCAAoC;IAC5B,yBAAyB,CAAC,KAAoB,EAAE,UAA8C;QACpG,oCAAoC;QACpC,MAAM,UAAU,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACxF,MAAM,IAAI,GAAkC;YAC1C,OAAO,EAAE,EAAE;YACX,MAAM,EAAG,EAAE;YACX,OAAO,EAAE,EAAE;YACX,IAAI,EAAK,EAAE;YACX,IAAI,EAAK,EAAE;YACX,MAAM,EAAG,EAAE;YACX,IAAI,EAAK,CAAC;SACX,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;IACtD,CAAC;IAEO,iBAAiB,CAAC,KAAoB,EAAE,WAAqC,EAAE,QAAkB;QACvG,MAAM,QAAQ,GAAG,WAAW,EAAE,WAAW,IAAI,EAAE,CAAC;QAEhD,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,oBAAoB,QAAQ,CAAC,CAAC,CAAC,UAAU,WAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC9E,CAAC;YAEX,KAAK,QAAQ;gBACX,OAAO,yBAAyB,QAAQ,CAAC,CAAC,CAAC,UAAU,WAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;kBACjF,CAAC;YAEb,KAAK,SAAS;gBACZ,OAAO,iBAAiB,QAAQ,CAAC,CAAC,CAAC,UAAU,WAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;iCAC1D,CAAC;YAE5B,KAAK,MAAM;gBACT,OAAO,cAAc,QAAQ,CAAC,CAAC,CAAC,UAAU,WAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;cAC1E,CAAC;YAET,KAAK,MAAM;gBACT,OAAO,gBAAgB,QAAQ,CAAC,CAAC,CAAC,UAAU,WAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;EACxF,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;gBACtG,CAAC;YAEX,KAAK,QAAQ;gBACX,OAAO;;;;EAIb,QAAQ,EAAE,CAAC;YAEP;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,KAAoB,EACpB,QAAgB,EAChB,QAAgB,EAChB,KAAiB,EACjB,SAAsB;QAEtB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,SAAS;gBACZ,sDAAsD;gBACtD,6BAA6B;gBAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACtD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACvE,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAChD,uCAAuC;oBACvC,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;gBACD,mBAAmB;gBACnB,OAAO,KAAK,CAAC;YAEf,KAAK,QAAQ;gBACX,+BAA+B;gBAC/B,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,CAAC;oBAClD,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEpE,KAAK,SAAS;gBACZ,wCAAwC;gBACxC,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,CAC7B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5F,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,CAC7B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CACrG,CAAC,CAAC;YAEL,KAAK,MAAM;gBACT,gBAAgB;gBAChB,OAAO,QAAQ,KAAK,OAAO,IAAI,CAC7B,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACpD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACpD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvD,CAAC;YAEJ,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,wCAAwC;gBACxC,MAAM,WAAW,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,CAAC;oBAC/D,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,QAAQ,KAAK,MAAM;oBACpC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACvF,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAChC,qCAAqC;gBACrC,IAAI,WAAW;oBAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,UAAU;oBAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC1C,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjE,CAAC;YAED,KAAK,QAAQ;gBACX,iDAAiD;gBACjD,OAAO,QAAQ,KAAK,MAAM,CAAC;YAE7B;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,QAAgB,EAAE,SAAiB;QAC5D,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC;YACnB,KAAK,OAAO,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC;YACjB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAiB;QAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,UAAiD,CAAC;QAEtE,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO,CAAC;YACb,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,QAAQ,GAAG,KAAK,EAAE,SAA+B,CAAC;gBACxD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1D,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACpC,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,OAAiB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9D,OAAO,SAAS,GAAG,EAAE,CAAC;YACxB,CAAC;YACD,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAG,KAAK,EAAE,OAAiB,IAAI,EAAE,CAAC;gBAC/C,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;YACrD,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,KAAK,EAAE,WAAqB,IAAI,KAAK,EAAE,MAAgB,IAAI,EAAE,CAAC;gBAC3E,OAAO,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3C,CAAC;YACD;gBACE,OAAO,GAAG,QAAQ,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,UAAkB;QACnC,MAAM,SAAS,GAAoB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE/D,YAAY;YACZ,IAAI,aAAa,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC7C,SAAS,CAAC,IAAI,CAAC;oBACb,KAAK;oBACL,eAAe,EAAE,aAAa;oBAC9B,gBAAgB,EAAE,cAAc;oBAChC,iBAAiB,EAAE,eAAe;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"phase-manager.js","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Pipeline } from './types.js';
|
|
2
|
+
import type { IssueTracker } from '../autopilot/issue-tracker.js';
|
|
3
|
+
import type { PhaseManager } from './phase-manager.js';
|
|
4
|
+
/**
|
|
5
|
+
* PipelineReportGenerator — Pipeline 完成报告生成器
|
|
6
|
+
*
|
|
7
|
+
* Pipeline 进入 done 阶段时调用,汇总问题台账 + 阶段统计,
|
|
8
|
+
* 生成 Markdown 报告并:
|
|
9
|
+
* 1. 返回报告文本(由调用方注入 systemMessage 展示给用户)
|
|
10
|
+
* 2. 追加写入 .claude-forge/decisions.md 持久化
|
|
11
|
+
*/
|
|
12
|
+
export declare class PipelineReportGenerator {
|
|
13
|
+
private issueTracker;
|
|
14
|
+
private phaseManager;
|
|
15
|
+
constructor(issueTracker: IssueTracker, phaseManager: PhaseManager);
|
|
16
|
+
generate(pipeline: Pipeline): string;
|
|
17
|
+
/** 追加写入 .claude-forge/decisions.md */
|
|
18
|
+
persist(projectPath: string, markdown: string): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=report-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-generator.d.ts","sourceRoot":"","sources":["../../src/pipeline/report-generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;gBADZ,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAGpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IA8FpC,sCAAsC;IACtC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAcrD"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { PHASE_LABELS } from './types.js';
|
|
4
|
+
import { logger } from '../utils/logger.js';
|
|
5
|
+
/**
|
|
6
|
+
* PipelineReportGenerator — Pipeline 完成报告生成器
|
|
7
|
+
*
|
|
8
|
+
* Pipeline 进入 done 阶段时调用,汇总问题台账 + 阶段统计,
|
|
9
|
+
* 生成 Markdown 报告并:
|
|
10
|
+
* 1. 返回报告文本(由调用方注入 systemMessage 展示给用户)
|
|
11
|
+
* 2. 追加写入 .claude-forge/decisions.md 持久化
|
|
12
|
+
*/
|
|
13
|
+
export class PipelineReportGenerator {
|
|
14
|
+
issueTracker;
|
|
15
|
+
phaseManager;
|
|
16
|
+
constructor(issueTracker, phaseManager) {
|
|
17
|
+
this.issueTracker = issueTracker;
|
|
18
|
+
this.phaseManager = phaseManager;
|
|
19
|
+
}
|
|
20
|
+
generate(pipeline) {
|
|
21
|
+
const summary = this.issueTracker.getSummary(pipeline.id);
|
|
22
|
+
const allIssues = this.issueTracker.getAll(pipeline.id);
|
|
23
|
+
const snapshot = this.phaseManager.getSessionSnapshot(pipeline.id);
|
|
24
|
+
const now = new Date();
|
|
25
|
+
const dateStr = now.toLocaleDateString('zh-CN');
|
|
26
|
+
const timeStr = now.toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit' });
|
|
27
|
+
const phases = (pipeline.plannedPhases ?? [pipeline.phase])
|
|
28
|
+
.filter(p => p !== 'done')
|
|
29
|
+
.map(p => PHASE_LABELS[p] ?? p)
|
|
30
|
+
.join(' → ');
|
|
31
|
+
const lines = [
|
|
32
|
+
`## Pipeline 完成报告 ${dateStr} ${timeStr}`,
|
|
33
|
+
'',
|
|
34
|
+
`**需求**:${pipeline.requirement}`,
|
|
35
|
+
`**阶段路径**:${phases || '(未记录)'}`,
|
|
36
|
+
'',
|
|
37
|
+
];
|
|
38
|
+
// 问题台账汇总
|
|
39
|
+
lines.push('### 问题台账');
|
|
40
|
+
if (summary.total === 0) {
|
|
41
|
+
lines.push('本次 Pipeline 未发现任何质量问题。');
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
lines.push('| 状态 | 数量 |');
|
|
45
|
+
lines.push('|------|------|');
|
|
46
|
+
lines.push(`| ✅ 已解决 | ${summary.resolved} |`);
|
|
47
|
+
lines.push(`| ⏭️ 强制放行 | ${summary.wontfix} |`);
|
|
48
|
+
lines.push(`| ⚠️ 未解决 | ${summary.open} |`);
|
|
49
|
+
lines.push(`| 合计 | ${summary.total} |`);
|
|
50
|
+
lines.push('');
|
|
51
|
+
// 按类别统计
|
|
52
|
+
const categoryLabels = {
|
|
53
|
+
requirement_ambiguity: '需求歧义',
|
|
54
|
+
architecture_conflict: '架构冲突',
|
|
55
|
+
design_gap: '设计遗漏',
|
|
56
|
+
code_quality: '代码质量',
|
|
57
|
+
security: '安全问题',
|
|
58
|
+
test_coverage: '测试覆盖',
|
|
59
|
+
performance: '性能问题',
|
|
60
|
+
risk_unhandled: '未处理风险',
|
|
61
|
+
};
|
|
62
|
+
const catEntries = Object.entries(summary.byCategory);
|
|
63
|
+
if (catEntries.length > 0) {
|
|
64
|
+
lines.push('**按类别统计**');
|
|
65
|
+
for (const [cat, count] of catEntries) {
|
|
66
|
+
const label = categoryLabels[cat] ?? cat;
|
|
67
|
+
const catIssues = allIssues.filter(i => i.category === cat);
|
|
68
|
+
const resolvedCount = catIssues.filter(i => i.status === 'resolved').length;
|
|
69
|
+
const wontfixCount = catIssues.filter(i => i.status === 'wontfix').length;
|
|
70
|
+
lines.push(`- ${label}:${count} 个(已解决 ${resolvedCount},强制放行 ${wontfixCount})`);
|
|
71
|
+
}
|
|
72
|
+
lines.push('');
|
|
73
|
+
}
|
|
74
|
+
// 修复统计
|
|
75
|
+
const totalFixAttempts = allIssues.reduce((sum, i) => sum + i.fixAttempts, 0);
|
|
76
|
+
const forgeDirectFixes = allIssues.filter(i => i.forgeFixApplied).length;
|
|
77
|
+
lines.push('### 修复统计');
|
|
78
|
+
lines.push(`- 总修复尝试:${totalFixAttempts} 次`);
|
|
79
|
+
lines.push(`- Forge 直接介入:${forgeDirectFixes} 次`);
|
|
80
|
+
lines.push(`- 自动解决:${summary.resolved} 个`);
|
|
81
|
+
lines.push('');
|
|
82
|
+
}
|
|
83
|
+
// 阶段工具调用统计
|
|
84
|
+
if (snapshot.length > 0) {
|
|
85
|
+
lines.push('### 阶段工具调用统计');
|
|
86
|
+
for (const s of snapshot) {
|
|
87
|
+
const label = PHASE_LABELS[s.phase] ?? s.phase;
|
|
88
|
+
lines.push(`- ${label}:${s.tool_call_count} 次工具调用,${s.write_edit_count} 次写入`);
|
|
89
|
+
}
|
|
90
|
+
lines.push('');
|
|
91
|
+
}
|
|
92
|
+
// 未解决问题明细(如有)
|
|
93
|
+
const openIssues = allIssues.filter(i => i.status === 'open' || i.status === 'in_progress');
|
|
94
|
+
if (openIssues.length > 0) {
|
|
95
|
+
lines.push('### 未解决问题明细');
|
|
96
|
+
for (const issue of openIssues) {
|
|
97
|
+
const phaseLabel = PHASE_LABELS[issue.sourcePhase] ?? issue.sourcePhase;
|
|
98
|
+
lines.push(`- [${phaseLabel}] ${issue.message}`);
|
|
99
|
+
if (issue.suggestion)
|
|
100
|
+
lines.push(` 建议:${issue.suggestion}`);
|
|
101
|
+
}
|
|
102
|
+
lines.push('');
|
|
103
|
+
}
|
|
104
|
+
return lines.join('\n');
|
|
105
|
+
}
|
|
106
|
+
/** 追加写入 .claude-forge/decisions.md */
|
|
107
|
+
persist(projectPath, markdown) {
|
|
108
|
+
try {
|
|
109
|
+
const forgeDir = path.join(projectPath, '.claude-forge');
|
|
110
|
+
if (!fs.existsSync(forgeDir)) {
|
|
111
|
+
fs.mkdirSync(forgeDir, { recursive: true });
|
|
112
|
+
}
|
|
113
|
+
const decisionsPath = path.join(forgeDir, 'decisions.md');
|
|
114
|
+
const entry = `\n---\n${markdown}\n`;
|
|
115
|
+
fs.appendFileSync(decisionsPath, entry, 'utf-8');
|
|
116
|
+
logger.info(`[Pipeline 报告] 已写入 decisions.md(${markdown.length} 字符)`);
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
logger.warn(`[Pipeline 报告] 写入 decisions.md 失败:${err}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=report-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-generator.js","sourceRoot":"","sources":["../../src/pipeline/report-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
你是一个 SDLC 意图分析引擎。请根据用户需求和项目实际情况,判断这个任务的复杂度和是否需要 Pipeline 编排。
|
|
2
|
+
|
|
3
|
+
## 用户输入
|
|
4
|
+
{{userPrompt}}
|
|
5
|
+
{{historySection}}{{planSection}}{{userContextSection}}
|
|
6
|
+
## 项目信息
|
|
7
|
+
路径: {{projectPath}}
|
|
8
|
+
{{techStackSection}}
|
|
9
|
+
{{projectStructureSection}}
|
|
10
|
+
{{contextInfoSection}}
|
|
11
|
+
|
|
12
|
+
## 判断逻辑(按优先级)
|
|
13
|
+
|
|
14
|
+
1. **这个需求是否涉及代码改动?**
|
|
15
|
+
- 不涉及(纯对话、提问、查看、运行命令)→ simple
|
|
16
|
+
- 涉及 → 继续判断
|
|
17
|
+
|
|
18
|
+
2. **改动范围有多大?**(结合项目结构推断)
|
|
19
|
+
- 改 1-2 个文件,逻辑清晰 → simple,不需要编排
|
|
20
|
+
- 改 3-5 个文件,改动模式明确,问题定位清晰 → moderate,不需要编排
|
|
21
|
+
- 改动 6+ 个文件,或需求模糊需要先拆分 → complex,需要编排
|
|
22
|
+
|
|
23
|
+
3. **是否需要 Pipeline 编排?**(仅在以下情况启用)
|
|
24
|
+
- 需求非常模糊,需要先 analyze 阶段梳理
|
|
25
|
+
- 涉及多个模块的架构级改动,需要 design 阶段规划
|
|
26
|
+
- 改动量大(10+ 文件)且需要任务拆分
|
|
27
|
+
- 新功能开发需要完整的质量管控流程
|
|
28
|
+
|
|
29
|
+
## 重要原则
|
|
30
|
+
- **优化/修复类任务**:即使涉及多个文件,只要问题定位明确、改动模式清晰,应判定为 moderate,不启动 Pipeline
|
|
31
|
+
- **Bug 修复**:除非涉及架构级重构,否则都是 simple 或 moderate
|
|
32
|
+
- **配置调整**:即使涉及多个配置文件,也是 moderate
|
|
33
|
+
- **代码审查/优化**:如果是针对现有代码的优化,不是新功能开发,应判定为 moderate
|
|
34
|
+
|
|
35
|
+
## 输出格式(严格 JSON)
|
|
36
|
+
{
|
|
37
|
+
"complexity": "simple|moderate|complex",
|
|
38
|
+
"requiresPipeline": true/false,
|
|
39
|
+
"requirement": "提炼后的一句话需求",
|
|
40
|
+
"reasoning": "判断理由:为什么是这个复杂度,预估改动哪些文件/模块,为什么需要或不需要编排",
|
|
41
|
+
"estimatedFiles": 预估改动文件数(数字),
|
|
42
|
+
"suggestedPhases": ["analyze", "design", "code", "test", "review"],
|
|
43
|
+
"clarifyQuestions": ["需要向用户确认的问题(当需求不明确时)"],
|
|
44
|
+
"searchKeywords": ["相关最佳实践关键词"],
|
|
45
|
+
"confidence": 0.0-1.0 置信度(必填)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
注意:
|
|
49
|
+
- simple 时 suggestedPhases 为空数组,requiresPipeline 为 false
|
|
50
|
+
- moderate 时 requiresPipeline 为 false,suggestedPhases 可包含 code/test
|
|
51
|
+
- complex 时 requiresPipeline 为 true,suggestedPhases 包含完整流程
|
|
52
|
+
- clarifyQuestions 触发条件(满足任一即必须填写):
|
|
53
|
+
* 需求中有歧义词("优化"、"改进"、"处理"、"搞一下"等,没有明确目标)
|
|
54
|
+
* 涉及多个可能的实现方案,需要用户选择
|
|
55
|
+
* 缺少关键信息(如目标文件、功能范围、技术选型)
|
|
56
|
+
* 不满足以上条件时,clarifyQuestions 为空数组 []
|
|
57
|
+
- confidence 置信度评估标准:
|
|
58
|
+
* 0.8-1.0: 需求明确,改动范围清晰,有充分上下文支持
|
|
59
|
+
* 0.6-0.8: 需求基本明确,但缺少部分细节或上下文
|
|
60
|
+
* 0.4-0.6: 需求模糊,存在多种理解可能,建议主动澄清
|
|
61
|
+
* 0.0-0.4: 需求严重不明确,必须澄清后才能继续
|
|
62
|
+
- 只输出 JSON,不要其他内容
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Registry:集中管理版本化的 prompt 模板
|
|
3
|
+
*
|
|
4
|
+
* 所有 prompt 存储在 src/prompts/*.md 文件中,支持 {{variable}} 占位符替换。
|
|
5
|
+
*/
|
|
6
|
+
export declare class PromptRegistry {
|
|
7
|
+
private static cache;
|
|
8
|
+
/**
|
|
9
|
+
* 加载并渲染 prompt 模板
|
|
10
|
+
* @param name - prompt 文件名(不含 .md 后缀)
|
|
11
|
+
* @param vars - 变量替换映射
|
|
12
|
+
*/
|
|
13
|
+
static load(name: string, vars?: Record<string, string>): string;
|
|
14
|
+
/** 清空缓存(测试用) */
|
|
15
|
+
static clearCache(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAA6B;IAEjD;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM;IAsBpE,gBAAgB;IAChB,MAAM,CAAC,UAAU,IAAI,IAAI;CAG1B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = path.dirname(__filename);
|
|
6
|
+
/**
|
|
7
|
+
* Prompt Registry:集中管理版本化的 prompt 模板
|
|
8
|
+
*
|
|
9
|
+
* 所有 prompt 存储在 src/prompts/*.md 文件中,支持 {{variable}} 占位符替换。
|
|
10
|
+
*/
|
|
11
|
+
export class PromptRegistry {
|
|
12
|
+
static cache = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* 加载并渲染 prompt 模板
|
|
15
|
+
* @param name - prompt 文件名(不含 .md 后缀)
|
|
16
|
+
* @param vars - 变量替换映射
|
|
17
|
+
*/
|
|
18
|
+
static load(name, vars = {}) {
|
|
19
|
+
const cacheKey = `${name}:${JSON.stringify(vars)}`;
|
|
20
|
+
if (this.cache.has(cacheKey)) {
|
|
21
|
+
return this.cache.get(cacheKey);
|
|
22
|
+
}
|
|
23
|
+
const filePath = path.join(__dirname, `${name}.md`);
|
|
24
|
+
if (!fs.existsSync(filePath)) {
|
|
25
|
+
throw new Error(`Prompt 模板不存在: ${name}.md`);
|
|
26
|
+
}
|
|
27
|
+
let template = fs.readFileSync(filePath, 'utf-8');
|
|
28
|
+
// 替换 {{variable}} 占位符
|
|
29
|
+
for (const [key, value] of Object.entries(vars)) {
|
|
30
|
+
template = template.replace(new RegExp(`\\{\\{${key}\\}\\}`, 'g'), value);
|
|
31
|
+
}
|
|
32
|
+
this.cache.set(cacheKey, template);
|
|
33
|
+
return template;
|
|
34
|
+
}
|
|
35
|
+
/** 清空缓存(测试用) */
|
|
36
|
+
static clearCache() {
|
|
37
|
+
this.cache.clear();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C;;;;GAIG;AACH,MAAM,OAAO,cAAc;IACjB,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,IAAY,EAAE,OAA+B,EAAE;QACzD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACnC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElD,sBAAsB;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,UAAU;QACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SkillRegistry } from '../registry.js';
|
|
2
2
|
import type { AIProvider } from '../../ai-provider/types.js';
|
|
3
|
-
import type { PatternEvolver } from '
|
|
3
|
+
import type { PatternEvolver } from '../pattern-evolver.js';
|
|
4
4
|
export { extractSkillMd, bumpVersion } from './shared.js';
|
|
5
5
|
export interface EvolveReport {
|
|
6
6
|
repaired: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/skill-registry/evolver/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/skill-registry/evolver/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAS5D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,cAAc,CAA+B;gBAEzC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU;IAOpD,0CAA0C;IAC1C,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA+DrC;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAU3B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzC;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/C;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhD;;;OAGG;IACG,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+C3E,OAAO,CAAC,eAAe;IASvB,eAAe,IAAI,IAAI;CAOxB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AIProvider } from '../ai-provider/types.js';
|
|
2
2
|
import type { SQLiteStorage } from '../storage/sqlite.js';
|
|
3
|
-
import type { Pattern } from '
|
|
3
|
+
import type { Pattern } from '../pipeline/pattern-types.js';
|
|
4
4
|
import type { Convention } from '../convention/types.js';
|
|
5
5
|
interface EvolveResult {
|
|
6
6
|
patternId: string;
|
|
@@ -15,9 +15,13 @@ interface EvolveResult {
|
|
|
15
15
|
export declare class PatternEvolver {
|
|
16
16
|
private api;
|
|
17
17
|
private storage;
|
|
18
|
-
private
|
|
18
|
+
private patternsDir;
|
|
19
19
|
private defaultMinExecutions;
|
|
20
20
|
constructor(api: AIProvider, storage: SQLiteStorage, defaultMinExecutions?: number);
|
|
21
|
+
/**
|
|
22
|
+
* 加载所有 Pattern YAML 文件
|
|
23
|
+
*/
|
|
24
|
+
private loadAll;
|
|
21
25
|
/**
|
|
22
26
|
* 对所有 Pattern 执行自进化。
|
|
23
27
|
* 返回每个实际被优化的 Pattern 的进化报告。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-evolver.d.ts","sourceRoot":"","sources":["../../src/skill-registry/pattern-evolver.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAoB,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAazD,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,oBAAoB,SAAK;IAO9E;;OAEG;IACH,OAAO,CAAC,OAAO;IAuBf;;;;OAIG;IACG,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB7F;;;;OAIG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,SAAK,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAqCvH,OAAO,CAAC,cAAc;YAuBR,cAAc;IAkE5B,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;CAqClB"}
|