@gracker/smartperfetto 1.0.15 → 1.0.17

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 (189) hide show
  1. package/dist/agent/agents/base/baseAgent.d.ts.map +1 -1
  2. package/dist/agent/agents/base/baseAgent.js +5 -1
  3. package/dist/agent/agents/base/baseAgent.js.map +1 -1
  4. package/dist/agent/context/enhancedSessionContext.d.ts +5 -0
  5. package/dist/agent/context/enhancedSessionContext.d.ts.map +1 -1
  6. package/dist/agent/context/enhancedSessionContext.js +13 -0
  7. package/dist/agent/context/enhancedSessionContext.js.map +1 -1
  8. package/dist/agent/core/conclusionContract.d.ts +23 -1
  9. package/dist/agent/core/conclusionContract.d.ts.map +1 -1
  10. package/dist/agent/core/conclusionGenerator.d.ts.map +1 -1
  11. package/dist/agent/core/conclusionGenerator.js +223 -27
  12. package/dist/agent/core/conclusionGenerator.js.map +1 -1
  13. package/dist/agent/core/executors/directSkillExecutor.d.ts.map +1 -1
  14. package/dist/agent/core/executors/directSkillExecutor.js +6 -12
  15. package/dist/agent/core/executors/directSkillExecutor.js.map +1 -1
  16. package/dist/agent/core/orchestratorTypes.d.ts +6 -0
  17. package/dist/agent/core/orchestratorTypes.d.ts.map +1 -1
  18. package/dist/agent/core/orchestratorTypes.js.map +1 -1
  19. package/dist/agent/experts/crossDomain/moduleExpertInvoker.d.ts.map +1 -1
  20. package/dist/agent/experts/crossDomain/moduleExpertInvoker.js +4 -1
  21. package/dist/agent/experts/crossDomain/moduleExpertInvoker.js.map +1 -1
  22. package/dist/agent/scene/sceneStage1Runner.d.ts +1 -1
  23. package/dist/agent/scene/sceneStage1Runner.d.ts.map +1 -1
  24. package/dist/agent/scene/sceneStage1Runner.js +1 -1
  25. package/dist/agent/scene/sceneStage1Runner.js.map +1 -1
  26. package/dist/agent/scene/sceneStoryService.d.ts +1 -1
  27. package/dist/agent/scene/sceneStoryService.d.ts.map +1 -1
  28. package/dist/agent/scene/sceneStoryService.js +4 -1
  29. package/dist/agent/scene/sceneStoryService.js.map +1 -1
  30. package/dist/agent/types/agentProtocol.d.ts.map +1 -1
  31. package/dist/agent/types/agentProtocol.js +4 -1
  32. package/dist/agent/types/agentProtocol.js.map +1 -1
  33. package/dist/agent/types.d.ts +7 -0
  34. package/dist/agent/types.d.ts.map +1 -1
  35. package/dist/agent/types.js.map +1 -1
  36. package/dist/agentOpenAI/openAiConfig.d.ts +2 -0
  37. package/dist/agentOpenAI/openAiConfig.d.ts.map +1 -1
  38. package/dist/agentOpenAI/openAiConfig.js +3 -0
  39. package/dist/agentOpenAI/openAiConfig.js.map +1 -1
  40. package/dist/agentOpenAI/openAiRuntime.d.ts +8 -0
  41. package/dist/agentOpenAI/openAiRuntime.d.ts.map +1 -1
  42. package/dist/agentOpenAI/openAiRuntime.js +293 -58
  43. package/dist/agentOpenAI/openAiRuntime.js.map +1 -1
  44. package/dist/agentRuntime/runtimeHealth.d.ts +1 -0
  45. package/dist/agentRuntime/runtimeHealth.d.ts.map +1 -1
  46. package/dist/agentv3/artifactStore.d.ts +5 -0
  47. package/dist/agentv3/artifactStore.d.ts.map +1 -1
  48. package/dist/agentv3/artifactStore.js +3 -0
  49. package/dist/agentv3/artifactStore.js.map +1 -1
  50. package/dist/agentv3/claudeMcpServer.d.ts.map +1 -1
  51. package/dist/agentv3/claudeMcpServer.js +125 -86
  52. package/dist/agentv3/claudeMcpServer.js.map +1 -1
  53. package/dist/agentv3/claudeRuntime.d.ts.map +1 -1
  54. package/dist/agentv3/claudeRuntime.js +147 -65
  55. package/dist/agentv3/claudeRuntime.js.map +1 -1
  56. package/dist/agentv3/claudeSseBridge.d.ts +6 -0
  57. package/dist/agentv3/claudeSseBridge.d.ts.map +1 -1
  58. package/dist/agentv3/claudeSseBridge.js +1 -0
  59. package/dist/agentv3/claudeSseBridge.js.map +1 -1
  60. package/dist/agentv3/sessionStateSnapshot.d.ts +23 -0
  61. package/dist/agentv3/sessionStateSnapshot.d.ts.map +1 -1
  62. package/dist/assistant/application/agentAnalyzeSessionService.d.ts +6 -0
  63. package/dist/assistant/application/agentAnalyzeSessionService.d.ts.map +1 -1
  64. package/dist/assistant/application/agentAnalyzeSessionService.js +9 -3
  65. package/dist/assistant/application/agentAnalyzeSessionService.js.map +1 -1
  66. package/dist/assistant/application/assistantApplicationService.d.ts.map +1 -1
  67. package/dist/assistant/application/assistantApplicationService.js +3 -1
  68. package/dist/assistant/application/assistantApplicationService.js.map +1 -1
  69. package/dist/cli-user/commands/report.js +64 -0
  70. package/dist/cli-user/commands/report.js.map +1 -1
  71. package/dist/cli-user/io/paths.d.ts +3 -0
  72. package/dist/cli-user/io/paths.d.ts.map +1 -1
  73. package/dist/cli-user/io/paths.js +6 -0
  74. package/dist/cli-user/io/paths.js.map +1 -1
  75. package/dist/cli-user/io/sessionStore.d.ts +1 -0
  76. package/dist/cli-user/io/sessionStore.d.ts.map +1 -1
  77. package/dist/cli-user/io/sessionStore.js +5 -0
  78. package/dist/cli-user/io/sessionStore.js.map +1 -1
  79. package/dist/cli-user/repl/renderer.d.ts +8 -0
  80. package/dist/cli-user/repl/renderer.d.ts.map +1 -1
  81. package/dist/cli-user/repl/renderer.js.map +1 -1
  82. package/dist/cli-user/services/cliAnalyzeService.d.ts +3 -0
  83. package/dist/cli-user/services/cliAnalyzeService.d.ts.map +1 -1
  84. package/dist/cli-user/services/cliAnalyzeService.js +103 -1
  85. package/dist/cli-user/services/cliAnalyzeService.js.map +1 -1
  86. package/dist/cli-user/services/turnPersistence.d.ts +0 -10
  87. package/dist/cli-user/services/turnPersistence.d.ts.map +1 -1
  88. package/dist/cli-user/services/turnPersistence.js +62 -0
  89. package/dist/cli-user/services/turnPersistence.js.map +1 -1
  90. package/dist/routes/agentReportRoutes.d.ts +1 -0
  91. package/dist/routes/agentReportRoutes.d.ts.map +1 -1
  92. package/dist/routes/agentReportRoutes.js +13 -2
  93. package/dist/routes/agentReportRoutes.js.map +1 -1
  94. package/dist/routes/agentResumeRoutes.d.ts.map +1 -1
  95. package/dist/routes/agentResumeRoutes.js +51 -5
  96. package/dist/routes/agentResumeRoutes.js.map +1 -1
  97. package/dist/routes/agentRoutes.d.ts.map +1 -1
  98. package/dist/routes/agentRoutes.js +524 -130
  99. package/dist/routes/agentRoutes.js.map +1 -1
  100. package/dist/scripts/verifyAgentSseScrolling.js +142 -2
  101. package/dist/scripts/verifyAgentSseScrolling.js.map +1 -1
  102. package/dist/services/agentEventStore.d.ts.map +1 -1
  103. package/dist/services/agentEventStore.js +13 -3
  104. package/dist/services/agentEventStore.js.map +1 -1
  105. package/dist/services/agentReportData.d.ts +3 -0
  106. package/dist/services/agentReportData.d.ts.map +1 -1
  107. package/dist/services/agentReportData.js.map +1 -1
  108. package/dist/services/agentResultNormalizer.d.ts +15 -3
  109. package/dist/services/agentResultNormalizer.d.ts.map +1 -1
  110. package/dist/services/agentResultNormalizer.js +344 -6
  111. package/dist/services/agentResultNormalizer.js.map +1 -1
  112. package/dist/services/analysisResultSnapshotPipeline.d.ts +3 -0
  113. package/dist/services/analysisResultSnapshotPipeline.d.ts.map +1 -1
  114. package/dist/services/analysisResultSnapshotPipeline.js +3 -0
  115. package/dist/services/analysisResultSnapshotPipeline.js.map +1 -1
  116. package/dist/services/analysisResultSnapshotStore.d.ts.map +1 -1
  117. package/dist/services/analysisResultSnapshotStore.js +34 -2
  118. package/dist/services/analysisResultSnapshotStore.js.map +1 -1
  119. package/dist/services/enterpriseSchema.d.ts.map +1 -1
  120. package/dist/services/enterpriseSchema.js +11 -0
  121. package/dist/services/enterpriseSchema.js.map +1 -1
  122. package/dist/services/evidence/evidenceContractBuilder.d.ts +11 -0
  123. package/dist/services/evidence/evidenceContractBuilder.d.ts.map +1 -0
  124. package/dist/services/evidence/evidenceContractBuilder.js +546 -0
  125. package/dist/services/evidence/evidenceContractBuilder.js.map +1 -0
  126. package/dist/services/finalResultQualityGate.d.ts +18 -0
  127. package/dist/services/finalResultQualityGate.d.ts.map +1 -0
  128. package/dist/services/finalResultQualityGate.js +283 -0
  129. package/dist/services/finalResultQualityGate.js.map +1 -0
  130. package/dist/services/htmlReportGenerator.d.ts +8 -1
  131. package/dist/services/htmlReportGenerator.d.ts.map +1 -1
  132. package/dist/services/htmlReportGenerator.js +129 -42
  133. package/dist/services/htmlReportGenerator.js.map +1 -1
  134. package/dist/services/persistAgentSession.d.ts +2 -0
  135. package/dist/services/persistAgentSession.d.ts.map +1 -1
  136. package/dist/services/persistAgentSession.js +17 -1
  137. package/dist/services/persistAgentSession.js.map +1 -1
  138. package/dist/services/processIdentity/identityContractMapper.d.ts +14 -0
  139. package/dist/services/processIdentity/identityContractMapper.d.ts.map +1 -0
  140. package/dist/services/processIdentity/identityContractMapper.js +135 -0
  141. package/dist/services/processIdentity/identityContractMapper.js.map +1 -0
  142. package/dist/services/processIdentity/types.d.ts +5 -0
  143. package/dist/services/processIdentity/types.d.ts.map +1 -1
  144. package/dist/services/processIdentity/types.js.map +1 -1
  145. package/dist/services/skillEngine/skillExecutor.d.ts +14 -2
  146. package/dist/services/skillEngine/skillExecutor.d.ts.map +1 -1
  147. package/dist/services/skillEngine/skillExecutor.js +133 -13
  148. package/dist/services/skillEngine/skillExecutor.js.map +1 -1
  149. package/dist/services/skillEngine/types.d.ts +2 -0
  150. package/dist/services/skillEngine/types.d.ts.map +1 -1
  151. package/dist/services/verifier/claimVerificationRunner.d.ts +20 -0
  152. package/dist/services/verifier/claimVerificationRunner.d.ts.map +1 -0
  153. package/dist/services/verifier/claimVerificationRunner.js +88 -0
  154. package/dist/services/verifier/claimVerificationRunner.js.map +1 -0
  155. package/dist/services/verifier/deterministicClaimVerifier.d.ts +8 -0
  156. package/dist/services/verifier/deterministicClaimVerifier.d.ts.map +1 -0
  157. package/dist/services/verifier/deterministicClaimVerifier.js +178 -0
  158. package/dist/services/verifier/deterministicClaimVerifier.js.map +1 -0
  159. package/dist/types/claimVerification.d.ts +38 -0
  160. package/dist/types/claimVerification.d.ts.map +1 -0
  161. package/dist/types/claimVerification.js +6 -0
  162. package/dist/types/claimVerification.js.map +1 -0
  163. package/dist/types/dataContract.d.ts +32 -0
  164. package/dist/types/dataContract.d.ts.map +1 -1
  165. package/dist/types/dataContract.js +7 -0
  166. package/dist/types/dataContract.js.map +1 -1
  167. package/dist/types/evidenceContract.d.ts +100 -0
  168. package/dist/types/evidenceContract.d.ts.map +1 -0
  169. package/dist/types/evidenceContract.js +6 -0
  170. package/dist/types/evidenceContract.js.map +1 -0
  171. package/dist/types/identityContract.d.ts +57 -0
  172. package/dist/types/identityContract.d.ts.map +1 -0
  173. package/dist/types/identityContract.js +6 -0
  174. package/dist/types/identityContract.js.map +1 -0
  175. package/dist/types/multiTraceComparison.d.ts +3 -0
  176. package/dist/types/multiTraceComparison.d.ts.map +1 -1
  177. package/package.json +3 -2
  178. package/skills/atomic/process_identity_resolver.skill.yaml +130 -1
  179. package/skills/atomic/process_slice_cpu_hotspots.skill.yaml +321 -0
  180. package/skills/atomic/startup_slow_reasons.skill.yaml +102 -17
  181. package/skills/composite/startup_analysis.skill.yaml +16 -0
  182. package/strategies/anr.strategy.md +2 -2
  183. package/strategies/game.strategy.md +1 -1
  184. package/strategies/general.strategy.md +1 -1
  185. package/strategies/prompt-openai-final-report-continuation-en.template.md +12 -0
  186. package/strategies/prompt-openai-final-report-continuation-zh.template.md +12 -0
  187. package/strategies/prompt-output-format.template.md +1 -1
  188. package/strategies/scrolling.strategy.md +1 -0
  189. package/strategies/startup.strategy.md +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"claudeRuntime.d.ts","sourceRoot":"","sources":["../../src/agentv3/claudeRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeRuntime.d.ts","sourceRoot":"","sources":["../../src/agentv3/claudeRuntime.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,7 @@ const skillNotesInjector_1 = require("./selfImprove/skillNotesInjector");
69
69
  const strategyFingerprint_1 = require("./selfImprove/strategyFingerprint");
70
70
  const claudeVerifier_1 = require("./claudeVerifier");
71
71
  const runtimePaths_1 = require("../runtimePaths");
72
+ const finalResultQualityGate_1 = require("../services/finalResultQualityGate");
72
73
  function parseQuickBudgetEnv() {
73
74
  const v = process.env.SELF_IMPROVE_QUICK_NOTES_BUDGET;
74
75
  if (!v)
@@ -140,6 +141,21 @@ function extractPlanPhaseIdFromToolResult(resultStr) {
140
141
  }
141
142
  return undefined;
142
143
  }
144
+ function looksLikeProcessNarration(text) {
145
+ return /(?:我需要|我将|接下来|先重新|重新读取|继续调用|工具|tool|let me|i need to|i will|next i)/i
146
+ .test(text.slice(0, 500));
147
+ }
148
+ function correctionResultLooksUsable(text) {
149
+ const trimmed = text.trim();
150
+ if (trimmed.length < 100)
151
+ return false;
152
+ if ((0, finalResultQualityGate_1.looksLikePhaseSummaryFallback)(trimmed))
153
+ return false;
154
+ const hasFinalReportMarker = /(^|\n)\s*#{1,3}\s*(?:综合结论|Final Conclusion|关键证据链|Evidence|优化建议|Recommendations)(?:\s|[::]|$)/i.test(trimmed);
155
+ if (looksLikeProcessNarration(trimmed) && !hasFinalReportMarker)
156
+ return false;
157
+ return hasFinalReportMarker || !(0, claudeVerifier_1.isConclusionIncomplete)(trimmed);
158
+ }
143
159
  const traceCompletenessProber_1 = require("./traceCompletenessProber");
144
160
  const entityCapture_1 = require("../agent/core/entityCapture");
145
161
  const outputLanguage_1 = require("./outputLanguage");
@@ -1222,6 +1238,7 @@ class ClaudeRuntime extends events_1.EventEmitter {
1222
1238
  // Run unconditionally when enabled — plan adherence, hypothesis resolution,
1223
1239
  // and conclusion-length checks must fire even when zero findings are extracted.
1224
1240
  console.log(`[ClaudeRuntime] Pre-verification: conclusionText=${conclusionText.length} chars, sdkSessionId=${sdkSessionId ? 'set' : 'MISSING'}, enableVerification=${runtimeConfig.enableVerification}`);
1241
+ let verificationDegradedMessage;
1225
1242
  if (runtimeConfig.enableVerification) {
1226
1243
  const MAX_CORRECTION_ATTEMPTS = 2;
1227
1244
  let previousErrorSignatures = new Set();
@@ -1327,12 +1344,14 @@ class ClaudeRuntime extends events_1.EventEmitter {
1327
1344
  closeCorrection();
1328
1345
  }, correctionTimeoutMs);
1329
1346
  let correctedResult = '';
1347
+ const correctionAnswerBridge = (0, claudeSseBridge_1.createSseBridge)(() => undefined, this.config.outputLanguage);
1330
1348
  try {
1331
1349
  for await (const msg of correctionStream) {
1332
1350
  if (correctionTimedOut)
1333
1351
  break;
1352
+ correctionAnswerBridge.handleMessage(msg);
1334
1353
  if (msg.type === 'result' && msg.subtype === 'success') {
1335
- correctedResult = msg.result || '';
1354
+ correctedResult = msg.result || correctionAnswerBridge.getAccumulatedAnswer() || '';
1336
1355
  rounds += msg.num_turns || 0;
1337
1356
  }
1338
1357
  // Bridge tool call events (agent_task_dispatched, agent_response)
@@ -1353,8 +1372,18 @@ class ClaudeRuntime extends events_1.EventEmitter {
1353
1372
  // closed on every exit (success, break, throw). Idempotent.
1354
1373
  closeCorrection();
1355
1374
  }
1375
+ if (!correctionTimedOut) {
1376
+ correctionAnswerBridge.flushPendingAnswer();
1377
+ }
1378
+ if (!correctedResult && !correctionTimedOut) {
1379
+ correctedResult = correctionAnswerBridge.getAccumulatedAnswer();
1380
+ }
1356
1381
  if (correctionTimedOut) {
1357
1382
  console.warn(`[ClaudeRuntime] Correction attempt ${attempt + 1} timed out, using partial result (${correctedResult.length} chars)`);
1383
+ if (!correctionResultLooksUsable(correctedResult)) {
1384
+ correctedResult = '';
1385
+ verificationDegradedMessage = (0, outputLanguage_1.localize)(this.config.outputLanguage, 'Claude 修正重试超时,且没有产出可独立交付的修正报告;已保留原结论并标记为 partial。', 'Claude correction retry timed out without a deliverable corrected report; keeping the previous conclusion and marking the result partial.');
1386
+ }
1358
1387
  }
1359
1388
  // P2-G13: Compare correction quality by finding count and coverage, not text length.
1360
1389
  // A shorter corrected conclusion with more findings is better than a longer empty one.
@@ -1433,14 +1462,66 @@ class ClaudeRuntime extends events_1.EventEmitter {
1433
1462
  timestamp: Date.now(),
1434
1463
  });
1435
1464
  }
1465
+ let isRuntimePartialResult = isPartialResult;
1466
+ if (verificationDegradedMessage && !isRuntimePartialResult) {
1467
+ isRuntimePartialResult = true;
1468
+ terminationMessage = terminationMessage
1469
+ ? `${terminationMessage}\n\n${verificationDegradedMessage}`
1470
+ : verificationDegradedMessage;
1471
+ conclusionText = conclusionText.trim()
1472
+ ? (0, analysisTermination_1.prependPartialNotice)(conclusionText, verificationDegradedMessage, this.config.outputLanguage)
1473
+ : (0, analysisTermination_1.buildMaxTurnsFallbackConclusion)({
1474
+ mode: 'full',
1475
+ turns: rounds,
1476
+ maxTurns: this.config.maxTurns,
1477
+ outputLanguage: this.config.outputLanguage,
1478
+ });
1479
+ mergedFindings = (0, claudeFindingExtractor_1.mergeFindings)([(0, claudeFindingExtractor_1.extractFindingsFromText)(conclusionText)]);
1480
+ this.emitUpdate({
1481
+ type: 'degraded',
1482
+ content: {
1483
+ module: 'claudeRuntime',
1484
+ fallback: 'correction_timeout_without_deliverable_report',
1485
+ message: verificationDegradedMessage,
1486
+ partial: true,
1487
+ },
1488
+ timestamp: Date.now(),
1489
+ });
1490
+ }
1436
1491
  if (options.codeAwareMode && options.codeAwareMode !== 'off') {
1437
1492
  conclusionText = (0, codeAwareOutputRegistry_1.sanitizeCodeAwareText)(sessionId, conclusionText);
1438
1493
  mergedFindings = (0, claudeFindingExtractor_1.mergeFindings)([(0, claudeFindingExtractor_1.extractFindingsFromText)(conclusionText)]);
1439
1494
  }
1440
1495
  const baseConfidence = this.estimateConfidence(mergedFindings);
1441
- const turnConfidence = isPartialResult
1496
+ const turnConfidence = isRuntimePartialResult
1442
1497
  ? (0, analysisTermination_1.capPartialConfidence)(baseConfidence, mergedFindings.length > 0)
1443
1498
  : baseConfidence;
1499
+ const finalAnalysisResult = {
1500
+ sessionId,
1501
+ success: true,
1502
+ findings: mergedFindings,
1503
+ hypotheses: (this.sessionHypotheses.get(sessionId) || []).map(h => this.toProtocolHypothesis(h)),
1504
+ conclusion: conclusionText,
1505
+ confidence: turnConfidence,
1506
+ rounds,
1507
+ totalDurationMs: Date.now() - startTime,
1508
+ partial: isRuntimePartialResult || undefined,
1509
+ terminationReason,
1510
+ terminationMessage,
1511
+ };
1512
+ const gateIssue = (0, finalResultQualityGate_1.applyFinalResultQualityGate)({ result: finalAnalysisResult, query });
1513
+ if (gateIssue) {
1514
+ this.emitUpdate({
1515
+ type: 'degraded',
1516
+ content: {
1517
+ module: 'claudeRuntime',
1518
+ fallback: gateIssue.code,
1519
+ message: gateIssue.message,
1520
+ partial: true,
1521
+ },
1522
+ timestamp: Date.now(),
1523
+ });
1524
+ }
1444
1525
  ctx.sessionContext.addTurn(query, {
1445
1526
  primaryGoal: query,
1446
1527
  aspects: [],
@@ -1449,34 +1530,36 @@ class ClaudeRuntime extends events_1.EventEmitter {
1449
1530
  followUpType: ctx.previousTurns.length > 0 ? 'extend' : 'initial',
1450
1531
  }, {
1451
1532
  agentId: 'claude-agent',
1452
- success: true,
1453
- findings: mergedFindings,
1454
- confidence: turnConfidence,
1455
- message: conclusionText,
1456
- partial: isPartialResult || undefined,
1457
- terminationReason,
1458
- terminationMessage,
1459
- }, mergedFindings);
1460
- ctx.sessionContext.updateWorkingMemoryFromConclusion({
1461
- turnIndex: ctx.previousTurns.length,
1462
- query,
1463
- conclusion: conclusionText,
1464
- confidence: turnConfidence,
1465
- });
1533
+ success: finalAnalysisResult.success,
1534
+ findings: finalAnalysisResult.findings,
1535
+ confidence: finalAnalysisResult.confidence,
1536
+ message: finalAnalysisResult.conclusion,
1537
+ partial: finalAnalysisResult.partial,
1538
+ terminationReason: finalAnalysisResult.terminationReason,
1539
+ terminationMessage: finalAnalysisResult.terminationMessage,
1540
+ }, finalAnalysisResult.findings);
1541
+ if (finalAnalysisResult.partial !== true) {
1542
+ ctx.sessionContext.updateWorkingMemoryFromConclusion({
1543
+ turnIndex: ctx.previousTurns.length,
1544
+ query,
1545
+ conclusion: finalAnalysisResult.conclusion,
1546
+ confidence: finalAnalysisResult.confidence,
1547
+ });
1548
+ }
1466
1549
  // P2-2: Save analysis pattern to long-term memory (fire-and-forget)
1467
1550
  // Note: sceneType is from the outer analyze() scope (classified before context prep)
1468
1551
  const fullFeatures = (0, analysisPatternMemory_1.extractTraceFeatures)({
1469
1552
  architectureType: ctx.architecture?.type,
1470
1553
  sceneType,
1471
1554
  packageName: options.packageName,
1472
- findingTitles: mergedFindings.map(f => f.title),
1473
- findingCategories: mergedFindings.map(f => f.category).filter(Boolean),
1555
+ findingTitles: finalAnalysisResult.findings.map(f => f.title),
1556
+ findingCategories: finalAnalysisResult.findings.map(f => f.category).filter(Boolean),
1474
1557
  });
1475
1558
  // Per Self-Improving v3.3 §4.4: full-path patterns now save as
1476
1559
  // 'provisional' regardless of confidence. The state machine + 24h
1477
1560
  // auto-confirm decides whether they earn injection weight.
1478
- if (!isPartialResult && mergedFindings.length > 0) {
1479
- const insights = (0, analysisPatternMemory_1.extractKeyInsights)(mergedFindings, conclusionText);
1561
+ if (finalAnalysisResult.partial !== true && finalAnalysisResult.findings.length > 0) {
1562
+ const insights = (0, analysisPatternMemory_1.extractKeyInsights)(finalAnalysisResult.findings, finalAnalysisResult.conclusion);
1480
1563
  const patternExtras = {
1481
1564
  status: 'provisional',
1482
1565
  provenance: {
@@ -1485,7 +1568,7 @@ class ClaudeRuntime extends events_1.EventEmitter {
1485
1568
  },
1486
1569
  knowledgeScope: knowledgeScopeFromOptions(options),
1487
1570
  };
1488
- (0, analysisPatternMemory_1.saveAnalysisPattern)(fullFeatures, insights, sceneType, ctx.architecture?.type, turnConfidence, patternExtras)
1571
+ (0, analysisPatternMemory_1.saveAnalysisPattern)(fullFeatures, insights, sceneType, ctx.architecture?.type, finalAnalysisResult.confidence, patternExtras)
1489
1572
  .catch(err => console.warn('[ClaudeRuntime] Pattern save failed:', err.message));
1490
1573
  // Try to promote any matching quick-path pattern that has been waiting
1491
1574
  // for full-path verification. Best-effort — failure does not block.
@@ -1515,22 +1598,7 @@ class ClaudeRuntime extends events_1.EventEmitter {
1515
1598
  })
1516
1599
  .catch(err => console.warn('[ClaudeRuntime] Negative pattern save failed:', err.message));
1517
1600
  }
1518
- // P0-1: Export actual hypotheses from this turn (not hardcoded empty array)
1519
- // Convert agentv3 Hypothesis to agentProtocol Hypothesis format for AnalysisResult
1520
- const turnHypotheses = (this.sessionHypotheses.get(sessionId) || []).map(h => this.toProtocolHypothesis(h));
1521
- return {
1522
- sessionId,
1523
- success: true,
1524
- findings: mergedFindings,
1525
- hypotheses: turnHypotheses,
1526
- conclusion: conclusionText,
1527
- confidence: turnConfidence,
1528
- rounds,
1529
- totalDurationMs: Date.now() - startTime,
1530
- partial: isPartialResult || undefined,
1531
- terminationReason,
1532
- terminationMessage,
1533
- };
1601
+ return finalAnalysisResult;
1534
1602
  }
1535
1603
  catch (error) {
1536
1604
  const rawErrorMessage = error.message || 'Unknown error';
@@ -1835,8 +1903,34 @@ class ClaudeRuntime extends events_1.EventEmitter {
1835
1903
  const quickConfidence = isPartialResult
1836
1904
  ? (0, analysisTermination_1.capPartialConfidence)(quickConfidenceBase, mergedFindings.length > 0)
1837
1905
  : quickConfidenceBase;
1838
- if (conclusionText.length > 0 && conclusionText.length < 20) {
1839
- console.warn(`[ClaudeRuntime] Quick: suspiciously short answer (${conclusionText.length} chars)`);
1906
+ const quickResult = {
1907
+ sessionId,
1908
+ success: true,
1909
+ findings: mergedFindings,
1910
+ hypotheses: [],
1911
+ conclusion: conclusionText,
1912
+ confidence: quickConfidence,
1913
+ rounds: quickRounds,
1914
+ totalDurationMs: Date.now() - startTime,
1915
+ partial: isPartialResult || undefined,
1916
+ terminationReason,
1917
+ terminationMessage,
1918
+ };
1919
+ const quickGateIssue = (0, finalResultQualityGate_1.applyFinalResultQualityGate)({ result: quickResult, query });
1920
+ if (quickGateIssue) {
1921
+ this.emitUpdate({
1922
+ type: 'degraded',
1923
+ content: {
1924
+ module: 'claudeRuntime',
1925
+ fallback: quickGateIssue.code,
1926
+ message: quickGateIssue.message,
1927
+ partial: true,
1928
+ },
1929
+ timestamp: Date.now(),
1930
+ });
1931
+ }
1932
+ if (quickResult.conclusion.length > 0 && quickResult.conclusion.length < 20) {
1933
+ console.warn(`[ClaudeRuntime] Quick: suspiciously short answer (${quickResult.conclusion.length} chars)`);
1840
1934
  }
1841
1935
  // Record turn in session context
1842
1936
  sessionContext.addTurn(query, {
@@ -1847,27 +1941,27 @@ class ClaudeRuntime extends events_1.EventEmitter {
1847
1941
  followUpType: previousTurns.length > 0 ? 'extend' : 'initial',
1848
1942
  }, {
1849
1943
  agentId: 'claude-agent',
1850
- success: true,
1851
- findings: mergedFindings,
1852
- confidence: quickConfidence,
1853
- message: conclusionText,
1854
- partial: isPartialResult || undefined,
1855
- terminationReason,
1856
- terminationMessage,
1857
- }, mergedFindings);
1858
- console.log(`[ClaudeRuntime] Quick analysis completed: ${quickRounds} rounds, ${Date.now() - startTime}ms, ${conclusionText.length} chars`);
1944
+ success: quickResult.success,
1945
+ findings: quickResult.findings,
1946
+ confidence: quickResult.confidence,
1947
+ message: quickResult.conclusion,
1948
+ partial: quickResult.partial,
1949
+ terminationReason: quickResult.terminationReason,
1950
+ terminationMessage: quickResult.terminationMessage,
1951
+ }, quickResult.findings);
1952
+ console.log(`[ClaudeRuntime] Quick analysis completed: ${quickRounds} rounds, ${Date.now() - startTime}ms, ${quickResult.conclusion.length} chars`);
1859
1953
  // Quick path writes to a separate 7-day bucket — see Self-Improving v3.3 §6.
1860
1954
  // Insights are weaker (no verifier, 10-turn budget), so they only surface
1861
1955
  // as fallbacks at injection time. A future full-path run on similar
1862
1956
  // features may promote the bucket entry to long-term memory.
1863
- if (!isPartialResult && mergedFindings.length > 0) {
1864
- const insights = (0, analysisPatternMemory_1.extractKeyInsights)(mergedFindings, conclusionText);
1957
+ if (quickResult.partial !== true && quickResult.findings.length > 0) {
1958
+ const insights = (0, analysisPatternMemory_1.extractKeyInsights)(quickResult.findings, quickResult.conclusion);
1865
1959
  const quickFeatures = (0, analysisPatternMemory_1.extractTraceFeatures)({
1866
1960
  architectureType: cachedArch?.type,
1867
1961
  sceneType,
1868
1962
  packageName: effectivePackageName,
1869
- findingTitles: mergedFindings.map(f => f.title),
1870
- findingCategories: mergedFindings.map(f => f.category).filter(Boolean),
1963
+ findingTitles: quickResult.findings.map(f => f.title),
1964
+ findingCategories: quickResult.findings.map(f => f.category).filter(Boolean),
1871
1965
  });
1872
1966
  (0, analysisPatternMemory_1.saveQuickPathPattern)(quickFeatures, insights, sceneType, cachedArch?.type, {
1873
1967
  status: 'provisional',
@@ -1875,19 +1969,7 @@ class ClaudeRuntime extends events_1.EventEmitter {
1875
1969
  knowledgeScope: knowledgeScopeFromOptions(options),
1876
1970
  }).catch(err => console.warn('[ClaudeRuntime] Quick pattern save failed:', err.message));
1877
1971
  }
1878
- return {
1879
- sessionId,
1880
- success: true,
1881
- findings: mergedFindings,
1882
- hypotheses: [],
1883
- conclusion: conclusionText,
1884
- confidence: quickConfidence,
1885
- rounds: quickRounds,
1886
- totalDurationMs: Date.now() - startTime,
1887
- partial: isPartialResult || undefined,
1888
- terminationReason,
1889
- terminationMessage,
1890
- };
1972
+ return quickResult;
1891
1973
  }
1892
1974
  catch (error) {
1893
1975
  const rawErrorMessage = error.message || 'Unknown error';