@winspan/claude-forge 0.5.0 → 0.5.2

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 (58) hide show
  1. package/dist/ai-provider/base-provider.d.ts.map +1 -1
  2. package/dist/ai-provider/base-provider.js +1 -4
  3. package/dist/ai-provider/base-provider.js.map +1 -1
  4. package/dist/autopilot/quality-gate.d.ts.map +1 -1
  5. package/dist/autopilot/quality-gate.js +19 -13
  6. package/dist/autopilot/quality-gate.js.map +1 -1
  7. package/dist/autopilot/rule-distiller.d.ts.map +1 -1
  8. package/dist/autopilot/rule-distiller.js +15 -4
  9. package/dist/autopilot/rule-distiller.js.map +1 -1
  10. package/dist/cli/commands/logs.js +3 -3
  11. package/dist/cli/commands/logs.js.map +1 -1
  12. package/dist/daemon/engine-registry.d.ts.map +1 -1
  13. package/dist/daemon/engine-registry.js +0 -4
  14. package/dist/daemon/engine-registry.js.map +1 -1
  15. package/dist/daemon/handler-context.d.ts +3 -5
  16. package/dist/daemon/handler-context.d.ts.map +1 -1
  17. package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
  18. package/dist/daemon/handlers/post-tool-use-handler.js +1 -11
  19. package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
  20. package/dist/daemon/handlers/session-cleanup.d.ts +3 -0
  21. package/dist/daemon/handlers/session-cleanup.d.ts.map +1 -1
  22. package/dist/daemon/handlers/session-cleanup.js +30 -10
  23. package/dist/daemon/handlers/session-cleanup.js.map +1 -1
  24. package/dist/daemon/handlers/stop-handler.d.ts.map +1 -1
  25. package/dist/daemon/handlers/stop-handler.js +26 -1
  26. package/dist/daemon/handlers/stop-handler.js.map +1 -1
  27. package/dist/daemon/handlers/user-prompt-handler.d.ts +11 -5
  28. package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
  29. package/dist/daemon/handlers/user-prompt-handler.js +77 -54
  30. package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
  31. package/dist/knowledge/graph.d.ts +18 -0
  32. package/dist/knowledge/graph.d.ts.map +1 -1
  33. package/dist/knowledge/graph.js +87 -2
  34. package/dist/knowledge/graph.js.map +1 -1
  35. package/dist/pattern-engine/pattern-router.d.ts.map +1 -1
  36. package/dist/pattern-engine/pattern-router.js +32 -20
  37. package/dist/pattern-engine/pattern-router.js.map +1 -1
  38. package/dist/pipeline/phase-manager.d.ts +2 -0
  39. package/dist/pipeline/phase-manager.d.ts.map +1 -1
  40. package/dist/pipeline/phase-manager.js +30 -10
  41. package/dist/pipeline/phase-manager.js.map +1 -1
  42. package/dist/pipeline/template-router.d.ts.map +1 -1
  43. package/dist/pipeline/template-router.js +18 -4
  44. package/dist/pipeline/template-router.js.map +1 -1
  45. package/dist/retrospective/index.d.ts +5 -0
  46. package/dist/retrospective/index.d.ts.map +1 -1
  47. package/dist/retrospective/index.js +6 -0
  48. package/dist/retrospective/index.js.map +1 -1
  49. package/dist/retrospective/satisfaction-inferrer.d.ts.map +1 -1
  50. package/dist/retrospective/satisfaction-inferrer.js +13 -9
  51. package/dist/retrospective/satisfaction-inferrer.js.map +1 -1
  52. package/dist/storage/index.d.ts +26 -0
  53. package/dist/storage/index.d.ts.map +1 -1
  54. package/dist/storage/sqlite.d.ts +32 -1
  55. package/dist/storage/sqlite.d.ts.map +1 -1
  56. package/dist/storage/sqlite.js +101 -2
  57. package/dist/storage/sqlite.js.map +1 -1
  58. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session-cleanup.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/session-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAa5D;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,GAAG,CAAiB;gBAEhB,GAAG,EAAE,cAAc;IAI/B,2BAA2B;IACrB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BtD,kCAAkC;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBhD,kBAAkB;IACZ,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBnC,aAAa;IACP,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,aAAa;IACP,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,iBAAiB;IACX,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC,+BAA+B;IACzB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgChE,yBAAyB;IACnB,cAAc,CAClB,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAwDhB,2CAA2C;IACrC,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C9D,2BAA2B;IACrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpC;;;;OAIG;IACG,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAwD/D"}
1
+ {"version":3,"file":"session-cleanup.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/session-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAa5D;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,GAAG,CAAiB;gBAEhB,GAAG,EAAE,cAAc;IAI/B,2BAA2B;IACrB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BtD,kCAAkC;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBhD,kBAAkB;IACZ,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBnC,aAAa;IACP,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,aAAa;IACP,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,iBAAiB;IACX,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC,+BAA+B;IACzB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgChE,yBAAyB;IACnB,cAAc,CAClB,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAwDhB,2CAA2C;IACrC,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C9D,2BAA2B;IACrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpC;;;;;;;OAOG;IACG,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAgF/D"}
@@ -290,6 +290,9 @@ export class SessionCleanupService {
290
290
  * 同步 Claude Code Plan Mode 产物到项目 docs/YYYY-MM-DD/架构设计/(兜底机制)
291
291
  * 主路径:Claude 在 ExitPlanMode 后通过 Write 工具直接写入 planPath。
292
292
  * 兜底:Stop 事件时扫描当天内最新修改的计划文件,补写未落盘的情况。
293
+ *
294
+ * 安全约束:计划文件必须在内容中包含当前 project_path(或其 basename),
295
+ * 否则跳过,防止跨项目污染(如 data-market 的计划写入 claude-forge)。
293
296
  */
294
297
  async syncPlanFromClaudeCode(event) {
295
298
  if (!event.project_path) {
@@ -302,10 +305,9 @@ export class SessionCleanupService {
302
305
  logger.debug('[Forge:计划同步] ~/.claude/plans/ 不存在');
303
306
  return;
304
307
  }
305
- // 扫描当天内(00:00 至今)最新修改的计划文件
306
- const todayStart = new Date();
307
- todayStart.setHours(0, 0, 0, 0);
308
- const todayStartMs = todayStart.getTime();
308
+ // 时间窗口:session 开始时间(event.timestamp)至今,最多回溯 24h
309
+ const sessionStart = new Date(event.timestamp);
310
+ const windowStartMs = Math.max(sessionStart.getTime(), Date.now() - 24 * 60 * 60 * 1000);
309
311
  const files = fs.readdirSync(claudePlansDir)
310
312
  .filter(f => f.endsWith('.md'))
311
313
  .map(f => {
@@ -313,21 +315,39 @@ export class SessionCleanupService {
313
315
  const stat = fs.statSync(fullPath);
314
316
  return { path: fullPath, mtime: stat.mtimeMs };
315
317
  })
316
- .filter(f => f.mtime >= todayStartMs)
318
+ .filter(f => f.mtime >= windowStartMs)
317
319
  .sort((a, b) => b.mtime - a.mtime);
318
320
  if (files.length === 0) {
319
- logger.debug('[Forge:计划同步] 今日无计划文件');
321
+ logger.debug('[Forge:计划同步] 本 session 内无计划文件');
322
+ return;
323
+ }
324
+ // 项目路径匹配:完整路径 或 最后两段(basename/subname)
325
+ const projectBasename = path.basename(event.project_path);
326
+ const projectTail = event.project_path.split('/').slice(-2).join('/');
327
+ // 找到第一个内容中包含当前项目路径引用的计划文件
328
+ let matchedPlan = null;
329
+ let matchedContent = '';
330
+ for (const file of files) {
331
+ const content = fs.readFileSync(file.path, 'utf-8');
332
+ if (content.includes(event.project_path) ||
333
+ content.includes(projectTail) ||
334
+ content.includes(projectBasename)) {
335
+ matchedPlan = file;
336
+ matchedContent = content;
337
+ break;
338
+ }
339
+ }
340
+ if (!matchedPlan) {
341
+ logger.debug(`[Forge:计划同步] 跳过:本 session 内计划文件均不属于项目 ${projectTail}`);
320
342
  return;
321
343
  }
322
- const latestPlan = files[0];
323
- const content = fs.readFileSync(latestPlan.path, 'utf-8');
324
344
  // 提取计划标题(第一个 # 标题)
325
- const titleMatch = content.match(/^#\s+(.+)$/m);
345
+ const titleMatch = matchedContent.match(/^#\s+(.+)$/m);
326
346
  const title = titleMatch ? titleMatch[1].trim() : '实现计划';
327
347
  // 通过 ArtifactManager 写入到正确位置(幂等:已存在则追加)
328
348
  const artifactManager = new ArtifactManager(event.project_path);
329
349
  const filename = `${title}.md`;
330
- const writtenPath = artifactManager.writeArtifact('plan', filename, content, `从 Plan Mode 同步的实现计划`, '架构设计');
350
+ const writtenPath = artifactManager.writeArtifact('plan', filename, matchedContent, `从 Plan Mode 同步的实现计划`, '架构设计');
331
351
  logger.info(`[Forge:计划同步] 兜底同步计划文档:${path.relative(event.project_path, writtenPath)}`);
332
352
  }
333
353
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-cleanup.js","sourceRoot":"","sources":["../../../src/daemon/handlers/session-cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-cleanup.js","sourceRoot":"","sources":["../../../src/daemon/handlers/session-cleanup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stop-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/stop-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;AAMpD,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAA0B;gBAEpC,GAAG,EAAE,cAAc;IAKzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAsK9D"}
1
+ {"version":3,"file":"stop-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/stop-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;AAMpD,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAA0B;gBAEpC,GAAG,EAAE,cAAc;IAYzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAsL9D"}
@@ -11,6 +11,17 @@ export class StopHandler extends BaseHookHandler {
11
11
  constructor(ctx) {
12
12
  super(ctx);
13
13
  this.cleanup = new SessionCleanupService(ctx);
14
+ // 从持久化存储恢复 stopCount
15
+ const saved = ctx.storage.getDaemonState('stopCount');
16
+ if (saved)
17
+ this.stopCount = parseInt(saved, 10) || 0;
18
+ const savedRetries = ctx.storage.getDaemonState('pendingRetries');
19
+ if (savedRetries) {
20
+ try {
21
+ this.pendingRetries = new Set(JSON.parse(savedRetries));
22
+ }
23
+ catch { /* 忽略 */ }
24
+ }
14
25
  }
15
26
  async handle(event) {
16
27
  const { resumeEngine, qualityGate, trigger, config } = this.ctx;
@@ -149,7 +160,18 @@ export class StopHandler extends BaseHookHandler {
149
160
  if (skipped.length > 0) {
150
161
  logger.info(`跳过 ${skipped.length} 个周期任务:${skipped.join('、')}`);
151
162
  }
152
- const results = await Promise.allSettled(cleanupTasks.map(t => t.task));
163
+ const CLEANUP_TOTAL_TIMEOUT = 30_000; // 30s 总超时
164
+ let timeoutHandle = null;
165
+ const allSettled = Promise.allSettled(cleanupTasks.map(t => t.task));
166
+ const timeoutRace = new Promise((_, reject) => {
167
+ timeoutHandle = setTimeout(() => reject(new Error('清理链总超时')), CLEANUP_TOTAL_TIMEOUT);
168
+ });
169
+ const results = await Promise.race([allSettled, timeoutRace]).catch((err) => {
170
+ logger.warn(`[Stop] 清理链超时,部分任务未完成:${err.message}`);
171
+ return cleanupTasks.map(() => ({ status: 'rejected', reason: err }));
172
+ });
173
+ if (timeoutHandle)
174
+ clearTimeout(timeoutHandle);
153
175
  this.pendingRetries.clear();
154
176
  const failed = results
155
177
  .map((r, i) => r.status === 'rejected' ? cleanupTasks[i].name : null)
@@ -162,6 +184,9 @@ export class StopHandler extends BaseHookHandler {
162
184
  else {
163
185
  logger.info(`全部 ${results.length} 个清理任务完成`);
164
186
  }
187
+ // 持久化 stopCount 和 pendingRetries
188
+ this.ctx.storage.setDaemonState('stopCount', String(this.stopCount));
189
+ this.ctx.storage.setDaemonState('pendingRetries', JSON.stringify([...this.pendingRetries]));
165
190
  }
166
191
  }
167
192
  //# sourceMappingURL=stop-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stop-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/stop-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/stop-handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC7B,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IACtC,OAAO,CAAwB;IACxC,SAAS,GAAG,CAAC,CAAC;IACd,cAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEhD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC9C,qBAAqB;QACrB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,KAAK;YAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBAAC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAa,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,gBAAgB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE3G,oCAAoC;QACpC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAE7C,YAAY;QACZ,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,eAAe,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBACvC,MAAM,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/D,CAAC;QAED,sBAAsB;QACtB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;gBACzD,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBACzB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBAClD,IAAI,CAAC,CAAC,UAAU;4BAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,4CAA4C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACzH,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;YAC5C,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,wBAAwB;YACxB,gBAAgB,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;YAC9C,gBAAgB,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;YAC9C,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,QAAQ;QACR,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC/C,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC,MAAM,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;YACzC,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAEnD,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBACrE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,YAAY,GAAiD,EAAE,CAAC;QACtE,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,cAAc;QACd,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,aAAa,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,QAAiB,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QAEtC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,IAAmB,EAAiB,EAAE;YACrE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,UAAU,EAAE,cAAc;gBAC1B,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;YACjE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACnH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAE1F,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3D,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3F,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1D,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5D,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;QAED,sBAAsB;QACtB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;QAEzI,sBAAsB;QACtB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAE7G,8DAA8D;QAC9D,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAE7G,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1D,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY;gBAChC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY;qBAClB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;qBAChC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBACd,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBACd,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,MAAM,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC,CAAC;gBACN,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,MAAM,UAAU,SAAS,EAAE,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,CAAC,UAAU;QAChD,IAAI,aAAa,GAAyC,IAAI,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACnD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACjF,MAAM,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,IAAI,aAAa;YAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACpE,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,MAAM;gBAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,wBAAwB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QAC9C,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;CACF"}
@@ -18,6 +18,8 @@ export declare class UserPromptHandler extends BaseHookHandler {
18
18
  * 相同 keywords / decisions 内容在同一 session 内只注入一次。
19
19
  */
20
20
  private injectionCache;
21
+ /** 已处理过负向重启检测的 session(key=sessionId),避免同 session 重复触发 */
22
+ private negativeRestartChecked;
21
23
  private static readonly ANALYSIS_COOLDOWN_MS;
22
24
  /** Map 条目超过此时长(1 小时)后在下次写入时清理 */
23
25
  private static readonly MAX_STATE_AGE_MS;
@@ -87,11 +89,6 @@ export declare class UserPromptHandler extends BaseHookHandler {
87
89
  * 未命中或模板路由不可用时返回 undefined,继续走 Pattern 路由。
88
90
  */
89
91
  private handleTemplateRoute;
90
- /**
91
- * Pattern 路由:若命中 Pattern,注入结构化执行指令并返回 HookResponse。
92
- * 未命中或 patternEngine 不可用时返回 undefined,继续走原有编排路径。
93
- */
94
- private handlePatternRoute;
95
92
  private buildExecutionCard;
96
93
  /** 处理复杂任务的 Pipeline 决策,返回 HookResponse 或 undefined(继续走简单路径) */
97
94
  private handleComplexTask;
@@ -102,6 +99,10 @@ export declare class UserPromptHandler extends BaseHookHandler {
102
99
  */
103
100
  private buildLightweightResponse;
104
101
  private buildSimpleResponse;
102
+ /**
103
+ * 知识图谱上下文:查找历史成功路径,注入为参考上下文
104
+ */
105
+ private buildGraphContext;
105
106
  /**
106
107
  * FTS5 历史场景检索:按 searchKeywords 查找最相似的历史 session,
107
108
  * 读取对应 decisions.md 片段注入为"相似历史场景"上下文。
@@ -136,6 +137,11 @@ export declare class UserPromptHandler extends BaseHookHandler {
136
137
  * 纯关键词匹配,不调用 AI,用于日志展示。
137
138
  */
138
139
  private inferCurrentRole;
140
+ /**
141
+ * P4:负向重启回溯修正
142
+ * 检测到 dissatisfied 信号时,将上一个 session(24h 内)的满意度评分下调(×0.5,最低 0.1)
143
+ */
144
+ private applyNegativeRestartPenalty;
139
145
  /** 构建用户上下文(供 IntentEngine 有状态分析) */
140
146
  private buildUserContext;
141
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompt-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt-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;AA6BpD,qBAAa,iBAAkB,SAAQ,eAAe;IACpD;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAA8B;IACvD;;;OAGG;IACH,OAAO,CAAC,cAAc,CAA6B;IACnD;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAqC;IAE3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAO;IACnD,iCAAiC;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IAE1D,OAAO,CAAC,aAAa,CAA8B;IACnD,8BAA8B;IAC9B,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAA+B;gBAEzC,GAAG,EAAE,cAAc;IAW/B,4DAA4D;IAC5D,OAAO,CAAC,oBAAoB,CAAqB;IACjD,6CAA6C;IAC7C,OAAO,CAAC,cAAc,CAA6B;IAE7C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAsP7D;;;OAGG;YACW,mBAAmB;IAwBjC,6BAA6B;IAC7B,OAAO,CAAC,aAAa;IAYrB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAqDhC,8CAA8C;IAC9C,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B,8BAA8B;IAC9B,OAAO,CAAC,kBAAkB;IAqB1B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAwBrC,uBAAuB;IACvB,OAAO,CAAC,kBAAkB;IAI1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA+C5B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAsExB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,WAAW;IASnB;;;OAGG;YACW,mBAAmB;IAmDjC;;;OAGG;YACW,kBAAkB;IA2DhC,OAAO,CAAC,kBAAkB;IAW1B,+DAA+D;YACjD,iBAAiB;YA4BjB,iBAAiB;IAiD/B,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;YAgClB,mBAAmB;IAmDjC;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAuClC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;;OAGG;YACW,oBAAoB;IA2ClC;;OAEG;YACW,yBAAyB;IA6BvC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA0CpC;;OAEG;YACW,uBAAuB;IA2BrC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8CxB,oCAAoC;IACpC,OAAO,CAAC,gBAAgB;CAsCzB"}
1
+ {"version":3,"file":"user-prompt-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt-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;AA6BpD,qBAAa,iBAAkB,SAAQ,eAAe;IACpD;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAA8B;IACvD;;;OAGG;IACH,OAAO,CAAC,cAAc,CAA6B;IACnD;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAqC;IAC3D,0DAA0D;IAC1D,OAAO,CAAC,sBAAsB,CAAqB;IAEnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAO;IACnD,iCAAiC;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IAE1D,OAAO,CAAC,aAAa,CAA8B;IACnD,8BAA8B;IAC9B,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAA+B;gBAEzC,GAAG,EAAE,cAAc;IAW/B,4DAA4D;IAC5D,OAAO,CAAC,oBAAoB,CAAqB;IACjD,6CAA6C;IAC7C,OAAO,CAAC,cAAc,CAA6B;IAE7C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA0P7D;;;OAGG;YACW,mBAAmB;IAwBjC,6BAA6B;IAC7B,OAAO,CAAC,aAAa;IAYrB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAqDhC,8CAA8C;IAC9C,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B,8BAA8B;IAC9B,OAAO,CAAC,kBAAkB;IAqB1B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAwBrC,uBAAuB;IACvB,OAAO,CAAC,kBAAkB;IAI1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA+C5B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAsExB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,WAAW;IASnB;;;OAGG;YACW,mBAAmB;IAmDjC,OAAO,CAAC,kBAAkB;IAW1B,+DAA+D;YACjD,iBAAiB;YA4BjB,iBAAiB;IAiD/B,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;YAgClB,mBAAmB;IAwDjC;;OAEG;YACW,iBAAiB;IAkB/B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAuClC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;;OAGG;YACW,oBAAoB;IA2ClC;;OAEG;YACW,yBAAyB;IA6BvC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA0CpC;;OAEG;YACW,uBAAuB;IA2BrC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8CxB;;;OAGG;YACW,2BAA2B;IAoCzC,oCAAoC;IACpC,OAAO,CAAC,gBAAgB;CAqCzB"}
@@ -28,6 +28,8 @@ export class UserPromptHandler extends BaseHookHandler {
28
28
  * 相同 keywords / decisions 内容在同一 session 内只注入一次。
29
29
  */
30
30
  injectionCache = new Map();
31
+ /** 已处理过负向重启检测的 session(key=sessionId),避免同 session 重复触发 */
32
+ negativeRestartChecked = new Set();
31
33
  static ANALYSIS_COOLDOWN_MS = 800;
32
34
  /** Map 条目超过此时长(1 小时)后在下次写入时清理 */
33
35
  static MAX_STATE_AGE_MS = 60 * 60 * 1000;
@@ -73,6 +75,13 @@ export class UserPromptHandler extends BaseHookHandler {
73
75
  project_path: event.project_path,
74
76
  }).catch(err => logger.debug(`[Forge:任务复盘] 记录失败信号异常:${err}`));
75
77
  }
78
+ // P4:负向重启回溯修正(仅在 session 内首条 UserPromptSubmit 时触发)
79
+ if (!this.negativeRestartChecked.has(event.session_id)) {
80
+ this.negativeRestartChecked.add(event.session_id);
81
+ if (signal?.signal_type === 'dissatisfied') {
82
+ this.applyNegativeRestartPenalty(event.project_path, event.session_id).catch(err => logger.debug(`[Forge:满意度] 负向重启回溯失败:${err}`));
83
+ }
84
+ }
76
85
  }
77
86
  // 主动干预:检测卡死循环(fix_attempt_count >= 3 时注入建议)
78
87
  if (this.ctx.retrospectiveEngine) {
@@ -204,10 +213,6 @@ export class UserPromptHandler extends BaseHookHandler {
204
213
  const templateResponse = await this.handleTemplateRoute(userPrompt, analysis.complexity, event, analysis);
205
214
  if (templateResponse !== undefined)
206
215
  return templateResponse;
207
- // 3.6 Pattern 路由(优先于 Pipeline / Skill 编排)
208
- const patternResponse = await this.handlePatternRoute(userPrompt, analysis.complexity, event, analysis);
209
- if (patternResponse !== undefined)
210
- return patternResponse;
211
216
  // 3.7 计划续接路由:有活跃计划时,优先注入计划上下文,跳过 Plan Mode 强制和 Pipeline 建议
212
217
  if (activePlan && analysis.complexity !== 'simple') {
213
218
  const resumeResponse = this.handlePlanResume(activePlan, userPrompt, analysis.requirement, event.project_path);
@@ -640,55 +645,6 @@ Do NOT write any code until the plan is approved and saved to ${planPath}. Start
640
645
  return undefined;
641
646
  }
642
647
  }
643
- /**
644
- * Pattern 路由:若命中 Pattern,注入结构化执行指令并返回 HookResponse。
645
- * 未命中或 patternEngine 不可用时返回 undefined,继续走原有编排路径。
646
- */
647
- async handlePatternRoute(userPrompt, complexity, event, analysis) {
648
- const { patternEngine, pipelineEngine } = this.ctx;
649
- if (!patternEngine)
650
- return undefined;
651
- try {
652
- // P1-1: Pipeline vs Pattern 职责分离 — Pipeline 活跃时,Pattern 降级为子进程模式(不注入指令)
653
- if (pipelineEngine?.hasActivePipeline(event.project_path)) {
654
- logger.info('[Forge:Pattern] Pipeline 活跃,Pattern 降级为子进程模式(不注入指令)');
655
- return undefined;
656
- }
657
- // 从项目绑定的 Convention 获取角色体系,动态生成项目级 Pattern
658
- const activeConventions = this.ctx.conventionManager.getActiveConventions(event.project_path);
659
- const patternCtx = await this.ctx.latencyTracer.trace({
660
- session_id: event.session_id,
661
- project_path: event.project_path,
662
- trace_type: 'pattern_route',
663
- engine_name: 'PatternEngine',
664
- }, () => patternEngine.routeAndStart(userPrompt, event.session_id, event.project_path, complexity, activeConventions));
665
- if (!patternCtx) {
666
- // 未匹配到 Pattern,走常规路径,但仍推断当前角色
667
- const inferredRole = this.inferCurrentRole(analysis.requirement, activeConventions);
668
- const roleInfo = inferredRole ? ` | 当前角色=${inferredRole.name}` : '';
669
- logger.info(`未匹配到工作流模板,走常规路径${roleInfo}`);
670
- return undefined;
671
- }
672
- const plan = patternEngine.getActivePlan(event.project_path);
673
- if (!plan)
674
- return undefined;
675
- // 用已获取的 Convention 注入角色约束
676
- const primaryConvention = activeConventions[0] ?? null;
677
- const ctx = patternEngine.buildAdditionalContext(patternCtx, plan.patternId, primaryConvention);
678
- if (!ctx)
679
- return undefined;
680
- logger.info(`匹配到工作流模板:${patternCtx.patternName} — 当前阶段:${patternCtx.currentPhaseId}`);
681
- // 执行路径卡片通过 systemMessage 展示给用户,Pattern 指令通过 additionalContext 传给 Claude
682
- const card = this.buildExecutionCard(analysis);
683
- const profileCtx = this.buildProfileContext(event.project_path);
684
- const combinedCtx = profileCtx ? ForgeFormatter.mergeContexts(profileCtx, ctx) : ctx;
685
- return { allow: true, systemMessage: card, additionalContext: ForgeFormatter.wrapInQuote(combinedCtx) };
686
- }
687
- catch (err) {
688
- logger.warn(`工作流路由失败,降级到技能编排:${err}`);
689
- return undefined;
690
- }
691
- }
692
648
  buildExecutionCard(analysis) {
693
649
  return ForgeFormatter.formatExecutionCard({
694
650
  intent: analysis.requirement,
@@ -790,6 +746,9 @@ Do NOT write any code until the plan is approved and saved to ${planPath}. Start
790
746
  const similarSessionCtx = analysis.searchKeywords?.length
791
747
  ? this.buildSimilarSessionContext(analysis.searchKeywords, projectPath)
792
748
  : undefined;
749
+ const graphContext = analysis.searchKeywords?.length
750
+ ? await this.buildGraphContext(analysis.searchKeywords, projectPath)
751
+ : undefined;
793
752
  // 加载项目规范并记录
794
753
  const activeConventions = this.ctx.conventionManager.getActiveConventions(projectPath);
795
754
  const conventionPrompt = this.ctx.conventionManager.getActivePrompt(projectPath) ?? undefined;
@@ -805,7 +764,7 @@ Do NOT write any code until the plan is approved and saved to ${planPath}. Start
805
764
  additionalContext: clarify,
806
765
  };
807
766
  }
808
- const body = ContextInjector.build({ content: this.buildPlanStartContext(projectPath), priority: INJECT_PRIORITY.PLAN, topic: 'plan' }, { content: this.buildProfileContext(projectPath), priority: INJECT_PRIORITY.PROFILE, topic: 'profile' }, { content: conventionPrompt, priority: INJECT_PRIORITY.CONVENTION, topic: 'convention' }, { content: directive ?? undefined, priority: INJECT_PRIORITY.DIRECTIVE, topic: 'directive' }, { content: similarSessionCtx, priority: INJECT_PRIORITY.HISTORY, minBudget: 500, topic: 'history' }, { content: decisionsContext, priority: INJECT_PRIORITY.DECISIONS, topic: 'decisions' });
767
+ const body = ContextInjector.build({ content: this.buildPlanStartContext(projectPath), priority: INJECT_PRIORITY.PLAN, topic: 'plan' }, { content: this.buildProfileContext(projectPath), priority: INJECT_PRIORITY.PROFILE, topic: 'profile' }, { content: conventionPrompt, priority: INJECT_PRIORITY.CONVENTION, topic: 'convention' }, { content: directive ?? undefined, priority: INJECT_PRIORITY.DIRECTIVE, topic: 'directive' }, { content: similarSessionCtx, priority: INJECT_PRIORITY.HISTORY, minBudget: 500, topic: 'history' }, { content: graphContext, priority: INJECT_PRIORITY.HISTORY - 1, minBudget: 300, topic: 'graph' }, { content: decisionsContext, priority: INJECT_PRIORITY.DECISIONS, topic: 'decisions' });
809
768
  // 汇总注入内容
810
769
  const injected = [];
811
770
  if (this.injectionCache.get(projectPath)?.profileInjected)
@@ -818,6 +777,8 @@ Do NOT write any code until the plan is approved and saved to ${planPath}. Start
818
777
  injected.push('决策历史');
819
778
  if (similarSessionCtx)
820
779
  injected.push('相似历史场景');
780
+ if (graphContext)
781
+ injected.push('图谱成功路径');
821
782
  const inferredRole = this.inferCurrentRole(analysis.requirement, activeConventions);
822
783
  const roleStr = inferredRole ? ` | 当前角色=${inferredRole.name}` : '';
823
784
  logger.info(`处理完成:直接执行 | 复杂度=${analysis.complexity}${roleStr} | 注入=[${injected.join(', ') || '无'}]`);
@@ -827,6 +788,30 @@ Do NOT write any code until the plan is approved and saved to ${planPath}. Start
827
788
  additionalContext: body ? ForgeFormatter.wrapInQuote(body) : undefined,
828
789
  };
829
790
  }
791
+ /**
792
+ * 知识图谱上下文:查找历史成功路径,注入为参考上下文
793
+ */
794
+ async buildGraphContext(keywords, projectPath) {
795
+ const graph = this.ctx.retrospectiveEngine?.getKnowledgeGraph();
796
+ if (!graph || keywords.length === 0)
797
+ return undefined;
798
+ try {
799
+ const paths = await graph.findSimilarSuccessfulPaths(projectPath, keywords, 3);
800
+ if (paths.length === 0)
801
+ return undefined;
802
+ const lines = ['[历史成功路径参考]'];
803
+ for (const p of paths) {
804
+ lines.push(`- 需求:${p.requirement}`);
805
+ if (p.decisions.length > 0)
806
+ lines.push(` 决策:${p.decisions.join(' → ')}`);
807
+ lines.push(` 结果:${p.outcome}`);
808
+ }
809
+ return lines.join('\n');
810
+ }
811
+ catch {
812
+ return undefined;
813
+ }
814
+ }
830
815
  /**
831
816
  * FTS5 历史场景检索:按 searchKeywords 查找最相似的历史 session,
832
817
  * 读取对应 decisions.md 片段注入为"相似历史场景"上下文。
@@ -1080,6 +1065,44 @@ Do NOT write any code until the plan is approved and saved to ${planPath}. Start
1080
1065
  // 默认返回开发工程师(最常见的角色)
1081
1066
  return allRoles.get('developer') ?? allRoles.get('surgeon') ?? null;
1082
1067
  }
1068
+ /**
1069
+ * P4:负向重启回溯修正
1070
+ * 检测到 dissatisfied 信号时,将上一个 session(24h 内)的满意度评分下调(×0.5,最低 0.1)
1071
+ */
1072
+ async applyNegativeRestartPenalty(projectPath, currentSessionId) {
1073
+ try {
1074
+ const last = this.ctx.storage.getLastCompletedTaskSession(projectPath);
1075
+ if (!last)
1076
+ return;
1077
+ if (last.session_id === currentSessionId)
1078
+ return;
1079
+ // 只回溯 24h 内的上一 session
1080
+ if (last.ended_at) {
1081
+ const age = Date.now() - new Date(last.ended_at).getTime();
1082
+ if (age > 24 * 60 * 60 * 1000)
1083
+ return;
1084
+ }
1085
+ const prevScore = last.satisfaction_score ?? 0.5;
1086
+ const newScore = Math.max(0.1, prevScore * 0.5);
1087
+ // 更新 task_sessions.satisfaction_score
1088
+ this.ctx.storage.updateTaskSessionSatisfaction(last.id, newScore);
1089
+ // 写入 satisfaction_signals 记录此次回溯修正
1090
+ this.ctx.storage.insertSatisfactionSignal({
1091
+ id: `ss_restart_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
1092
+ session_id: last.session_id,
1093
+ project_path: projectPath,
1094
+ task_session_id: last.id,
1095
+ signal_type: 'negative_restart_penalty',
1096
+ signal_value: newScore - prevScore, // 负数,表示下调幅度
1097
+ weight: 1.0,
1098
+ raw_data: { prev_score: prevScore, new_score: newScore, triggered_by_session: currentSessionId },
1099
+ });
1100
+ logger.info(`[Forge:满意度] 检测到负向重启,回溯修正上一 session 评分:${prevScore.toFixed(3)} → ${newScore.toFixed(3)}`);
1101
+ }
1102
+ catch (err) {
1103
+ logger.warn(`[Forge:满意度] 负向重启回溯修正失败:${err}`);
1104
+ }
1105
+ }
1083
1106
  /** 构建用户上下文(供 IntentEngine 有状态分析) */
1084
1107
  buildUserContext(projectPath) {
1085
1108
  const profile = this.ctx.profileManager.get();