agentfootprint 6.31.0 → 6.32.0

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 (53) hide show
  1. package/dist/esm/lib/context-bisect/ablation.js +40 -2
  2. package/dist/esm/lib/context-bisect/ablation.js.map +1 -1
  3. package/dist/esm/lib/context-bisect/cost.js +61 -0
  4. package/dist/esm/lib/context-bisect/cost.js.map +1 -0
  5. package/dist/esm/lib/context-bisect/index.js +10 -1
  6. package/dist/esm/lib/context-bisect/index.js.map +1 -1
  7. package/dist/esm/lib/context-bisect/localize.js +43 -4
  8. package/dist/esm/lib/context-bisect/localize.js.map +1 -1
  9. package/dist/esm/lib/context-bisect/loop-recall.js +108 -0
  10. package/dist/esm/lib/context-bisect/loop-recall.js.map +1 -0
  11. package/dist/esm/lib/context-bisect/trajectory.js +221 -0
  12. package/dist/esm/lib/context-bisect/trajectory.js.map +1 -0
  13. package/dist/esm/lib/context-bisect/types.js.map +1 -1
  14. package/dist/esm/lib/context-bisect/walk-to-root.js +170 -0
  15. package/dist/esm/lib/context-bisect/walk-to-root.js.map +1 -0
  16. package/dist/esm/observe.js +1 -1
  17. package/dist/esm/observe.js.map +1 -1
  18. package/dist/lib/context-bisect/ablation.js +43 -3
  19. package/dist/lib/context-bisect/ablation.js.map +1 -1
  20. package/dist/lib/context-bisect/cost.js +66 -0
  21. package/dist/lib/context-bisect/cost.js.map +1 -0
  22. package/dist/lib/context-bisect/index.js +23 -1
  23. package/dist/lib/context-bisect/index.js.map +1 -1
  24. package/dist/lib/context-bisect/localize.js +43 -4
  25. package/dist/lib/context-bisect/localize.js.map +1 -1
  26. package/dist/lib/context-bisect/loop-recall.js +112 -0
  27. package/dist/lib/context-bisect/loop-recall.js.map +1 -0
  28. package/dist/lib/context-bisect/trajectory.js +227 -0
  29. package/dist/lib/context-bisect/trajectory.js.map +1 -0
  30. package/dist/lib/context-bisect/types.js.map +1 -1
  31. package/dist/lib/context-bisect/walk-to-root.js +176 -0
  32. package/dist/lib/context-bisect/walk-to-root.js.map +1 -0
  33. package/dist/observe.js +12 -1
  34. package/dist/observe.js.map +1 -1
  35. package/dist/types/lib/context-bisect/ablation.d.ts +6 -1
  36. package/dist/types/lib/context-bisect/ablation.d.ts.map +1 -1
  37. package/dist/types/lib/context-bisect/cost.d.ts +38 -0
  38. package/dist/types/lib/context-bisect/cost.d.ts.map +1 -0
  39. package/dist/types/lib/context-bisect/index.d.ts +6 -2
  40. package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
  41. package/dist/types/lib/context-bisect/localize.d.ts +8 -0
  42. package/dist/types/lib/context-bisect/localize.d.ts.map +1 -1
  43. package/dist/types/lib/context-bisect/loop-recall.d.ts +98 -0
  44. package/dist/types/lib/context-bisect/loop-recall.d.ts.map +1 -0
  45. package/dist/types/lib/context-bisect/trajectory.d.ts +153 -0
  46. package/dist/types/lib/context-bisect/trajectory.d.ts.map +1 -0
  47. package/dist/types/lib/context-bisect/types.d.ts +68 -1
  48. package/dist/types/lib/context-bisect/types.d.ts.map +1 -1
  49. package/dist/types/lib/context-bisect/walk-to-root.d.ts +103 -0
  50. package/dist/types/lib/context-bisect/walk-to-root.d.ts.map +1 -0
  51. package/dist/types/observe.d.ts +1 -1
  52. package/dist/types/observe.d.ts.map +1 -1
  53. package/package.json +3 -3
@@ -16,7 +16,7 @@
16
16
  * claims; slice completeness is bounded by tracking — and says so.
17
17
  */
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.CONTEXT_BISECT_DEFAULTS = exports.bisectCulprits = exports.verdictFor = exports.runAblationProbe = exports.probeFlipped = exports.defaultOutcomeComparator = exports.applyAblations = exports.ablationForSuspect = exports.toBacktrackTrace = exports.suspectLabel = exports.localizeContextBug = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.defaultSuspectClassifier = exports.runRestorationProbe = exports.findDroppedContext = exports.stepOutputText = exports.llmEdgeWeigher = void 0;
19
+ exports.CONTEXT_BISECT_DEFAULTS = exports.bisectCulprits = exports.findLoopHeads = exports.bucketByAnchors = exports.assembleTrajectory = exports.buildWriterFrameIndex = exports.walkTrajectory = exports.walkToRoot = exports.DEFAULT_RECENCY_DECAY = exports.shortlistEarlyCulprits = exports.MIN_LOOPS_SAVED = exports.classifySuspect = exports.assignCostVerdicts = exports.verdictFor = exports.runAblationProbe = exports.probeFlipped = exports.median = exports.defaultOutcomeComparator = exports.costStatsFrom = exports.applyAblations = exports.ablationForSuspect = exports.toBacktrackTrace = exports.suspectLabel = exports.localizeContextBug = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.defaultSuspectClassifier = exports.runRestorationProbe = exports.findDroppedContext = exports.stepOutputText = exports.llmEdgeWeigher = void 0;
20
20
  var llmEdgeWeigher_js_1 = require("./llmEdgeWeigher.js");
21
21
  Object.defineProperty(exports, "llmEdgeWeigher", { enumerable: true, get: function () { return llmEdgeWeigher_js_1.llmEdgeWeigher; } });
22
22
  Object.defineProperty(exports, "stepOutputText", { enumerable: true, get: function () { return llmEdgeWeigher_js_1.stepOutputText; } });
@@ -36,10 +36,32 @@ Object.defineProperty(exports, "toBacktrackTrace", { enumerable: true, get: func
36
36
  var ablation_js_1 = require("./ablation.js");
37
37
  Object.defineProperty(exports, "ablationForSuspect", { enumerable: true, get: function () { return ablation_js_1.ablationForSuspect; } });
38
38
  Object.defineProperty(exports, "applyAblations", { enumerable: true, get: function () { return ablation_js_1.applyAblations; } });
39
+ Object.defineProperty(exports, "costStatsFrom", { enumerable: true, get: function () { return ablation_js_1.costStatsFrom; } });
39
40
  Object.defineProperty(exports, "defaultOutcomeComparator", { enumerable: true, get: function () { return ablation_js_1.defaultOutcomeComparator; } });
41
+ Object.defineProperty(exports, "median", { enumerable: true, get: function () { return ablation_js_1.median; } });
40
42
  Object.defineProperty(exports, "probeFlipped", { enumerable: true, get: function () { return ablation_js_1.probeFlipped; } });
41
43
  Object.defineProperty(exports, "runAblationProbe", { enumerable: true, get: function () { return ablation_js_1.runAblationProbe; } });
42
44
  Object.defineProperty(exports, "verdictFor", { enumerable: true, get: function () { return ablation_js_1.verdictFor; } });
45
+ // Two-score localization (proposal 004): the COST score + the 2×2 classifier.
46
+ var cost_js_1 = require("./cost.js");
47
+ Object.defineProperty(exports, "assignCostVerdicts", { enumerable: true, get: function () { return cost_js_1.assignCostVerdicts; } });
48
+ Object.defineProperty(exports, "classifySuspect", { enumerable: true, get: function () { return cost_js_1.classifySuspect; } });
49
+ Object.defineProperty(exports, "MIN_LOOPS_SAVED", { enumerable: true, get: function () { return cost_js_1.MIN_LOOPS_SAVED; } });
50
+ // Per-loop recall shortlist (proposal 006, L3): rescue early culprits → narrow before ablation.
51
+ var loop_recall_js_1 = require("./loop-recall.js");
52
+ Object.defineProperty(exports, "shortlistEarlyCulprits", { enumerable: true, get: function () { return loop_recall_js_1.shortlistEarlyCulprits; } });
53
+ Object.defineProperty(exports, "DEFAULT_RECENCY_DECAY", { enumerable: true, get: function () { return loop_recall_js_1.DEFAULT_RECENCY_DECAY; } });
54
+ // Root-cause backtracking debugger (proposal 007, L4): walk symptom → root (narrow → hop → convict).
55
+ var walk_to_root_js_1 = require("./walk-to-root.js");
56
+ Object.defineProperty(exports, "walkToRoot", { enumerable: true, get: function () { return walk_to_root_js_1.walkToRoot; } });
57
+ Object.defineProperty(exports, "walkTrajectory", { enumerable: true, get: function () { return walk_to_root_js_1.walkTrajectory; } });
58
+ Object.defineProperty(exports, "buildWriterFrameIndex", { enumerable: true, get: function () { return walk_to_root_js_1.buildWriterFrameIndex; } });
59
+ // Per-loop trajectory assembler (proposal 005): segmentation core (phase 1)
60
+ // + the agent-flavored projection (phase 2).
61
+ var trajectory_js_1 = require("./trajectory.js");
62
+ Object.defineProperty(exports, "assembleTrajectory", { enumerable: true, get: function () { return trajectory_js_1.assembleTrajectory; } });
63
+ Object.defineProperty(exports, "bucketByAnchors", { enumerable: true, get: function () { return trajectory_js_1.bucketByAnchors; } });
64
+ Object.defineProperty(exports, "findLoopHeads", { enumerable: true, get: function () { return trajectory_js_1.findLoopHeads; } });
43
65
  var bisect_js_1 = require("./bisect.js");
44
66
  Object.defineProperty(exports, "bisectCulprits", { enumerable: true, get: function () { return bisect_js_1.bisectCulprits; } });
45
67
  var types_js_1 = require("./types.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,yDAM6B;AAL3B,mHAAA,cAAc,OAAA;AACd,mHAAA,cAAc,OAAA;AAMhB,oFAAoF;AACpF,yDAK6B;AAJ3B,uHAAA,kBAAkB,OAAA;AAKpB,mDAK0B;AAJxB,qHAAA,mBAAmB,OAAA;AAMrB,6CAUuB;AATrB,uHAAA,wBAAwB,OAAA;AACxB,qHAAA,sBAAsB,OAAA;AACtB,mHAAA,oBAAoB,OAAA;AACpB,iHAAA,kBAAkB,OAAA;AAClB,2GAAA,YAAY,OAAA;AAOd,6DAQ+B;AAP7B,uHAAA,gBAAgB,OAAA;AASlB,6CASuB;AARrB,iHAAA,kBAAkB,OAAA;AAClB,6GAAA,cAAc,OAAA;AACd,uHAAA,wBAAwB,OAAA;AACxB,2GAAA,YAAY,OAAA;AACZ,+GAAA,gBAAgB,OAAA;AAChB,yGAAA,UAAU,OAAA;AAKZ,yCAKqB;AAJnB,2GAAA,cAAc,OAAA;AAMhB,uCAsBoB;AArBlB,mHAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,yDAM6B;AAL3B,mHAAA,cAAc,OAAA;AACd,mHAAA,cAAc,OAAA;AAMhB,oFAAoF;AACpF,yDAK6B;AAJ3B,uHAAA,kBAAkB,OAAA;AAKpB,mDAK0B;AAJxB,qHAAA,mBAAmB,OAAA;AAMrB,6CAUuB;AATrB,uHAAA,wBAAwB,OAAA;AACxB,qHAAA,sBAAsB,OAAA;AACtB,mHAAA,oBAAoB,OAAA;AACpB,iHAAA,kBAAkB,OAAA;AAClB,2GAAA,YAAY,OAAA;AAOd,6DAQ+B;AAP7B,uHAAA,gBAAgB,OAAA;AASlB,6CAWuB;AAVrB,iHAAA,kBAAkB,OAAA;AAClB,6GAAA,cAAc,OAAA;AACd,4GAAA,aAAa,OAAA;AACb,uHAAA,wBAAwB,OAAA;AACxB,qGAAA,MAAM,OAAA;AACN,2GAAA,YAAY,OAAA;AACZ,+GAAA,gBAAgB,OAAA;AAChB,yGAAA,UAAU,OAAA;AAKZ,8EAA8E;AAC9E,qCAAiF;AAAxE,6GAAA,kBAAkB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,0GAAA,eAAe,OAAA;AAE7D,gGAAgG;AAChG,mDAM0B;AALxB,wHAAA,sBAAsB,OAAA;AACtB,uHAAA,qBAAqB,OAAA;AAMvB,qGAAqG;AACrG,qDAQ2B;AAPzB,6GAAA,UAAU,OAAA;AACV,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AAOvB,4EAA4E;AAC5E,6CAA6C;AAC7C,iDAUyB;AATvB,mHAAA,kBAAkB,OAAA;AAClB,gHAAA,eAAe,OAAA;AACf,8GAAA,aAAa,OAAA;AASf,yCAKqB;AAJnB,2GAAA,cAAc,OAAA;AAMhB,uCA2BoB;AA1BlB,mHAAA,uBAAuB,OAAA"}
@@ -34,6 +34,7 @@ exports.formatContextBugReport = exports.suspectLabel = exports.localizeContextB
34
34
  const trace_1 = require("footprintjs/trace");
35
35
  const index_js_1 = require("../influence-core/index.js");
36
36
  const ablation_js_1 = require("./ablation.js");
37
+ const cost_js_1 = require("./cost.js");
37
38
  const llmEdgeWeigher_js_1 = require("./llmEdgeWeigher.js");
38
39
  const missingContext_js_1 = require("./missingContext.js");
39
40
  const restoration_js_1 = require("./restoration.js");
@@ -208,6 +209,27 @@ function buildEdgePath(node, info) {
208
209
  }
209
210
  return steps.reverse(); // trigger → … → suspect
210
211
  }
212
+ /** REORDER-only narrowing: shortlisted suspects first (by recallScore desc), the rest unchanged. */
213
+ function reorderByShortlist(suspects, shortlist) {
214
+ if (shortlist === undefined || shortlist.candidates.length === 0)
215
+ return [...suspects];
216
+ const recallOf = new Map(shortlist.candidates.map((c) => [c.suspectId, c.recallScore]));
217
+ const idOf = (s) => s.detail?.injectionId ?? s.detail?.toolName;
218
+ // Stable: Array.prototype.sort is stable, so non-shortlisted pairs keep their incoming order.
219
+ return [...suspects].sort((a, b) => {
220
+ const ra = recallOf.get(idOf(a) ?? '');
221
+ const rb = recallOf.get(idOf(b) ?? '');
222
+ const aIn = ra !== undefined;
223
+ const bIn = rb !== undefined;
224
+ if (aIn && bIn)
225
+ return rb - ra; // both shortlisted → by recall
226
+ if (aIn)
227
+ return -1; // shortlisted before non-shortlisted
228
+ if (bIn)
229
+ return 1;
230
+ return 0; // neither shortlisted → keep proxy-score order (stable)
231
+ });
232
+ }
211
233
  // ─── The localizer ───────────────────────────────────────────────────
212
234
  /**
213
235
  * Localize a contextual bug: trigger → causal slice → influence-weighted
@@ -330,7 +352,7 @@ async function localizeContextBug(options) {
330
352
  });
331
353
  }
332
354
  }
333
- const ranked = drafts
355
+ const scored = drafts
334
356
  .map((draft) => {
335
357
  const score = draft.semanticScore !== undefined
336
358
  ? draft.structuralScore * draft.semanticScore
@@ -349,8 +371,14 @@ async function localizeContextBug(options) {
349
371
  const ablation = (0, ablation_js_1.ablationForSuspect)(suspect);
350
372
  return ablation !== undefined ? { ...suspect, ablation } : suspect;
351
373
  })
352
- .sort((a, b) => b.score - a.score) // stable: ties keep slice order
353
- .slice(0, maxSuspects);
374
+ .sort((a, b) => b.score - a.score); // stable: ties keep slice order
375
+ // L3 narrowing (proposal 006): REORDER-ONLY by the per-loop recall shortlist (joined on the
376
+ // suspect identity injectionId/toolName) so high-recall candidates float to the top and survive
377
+ // the maxSuspects slice → ablation targets them first. NEVER intersect/drop (that risks losing a
378
+ // true suspect L3 missed — the absence/crowding blind spot). Non-shortlisted suspects keep their
379
+ // proxy-score order (stable). narrow (recall), then convict (causal).
380
+ const reordered = reorderByShortlist(scored, options.shortlist);
381
+ const ranked = reordered.slice(0, maxSuspects);
354
382
  // ── Slice stats + honesty flags ─────────────────────────────────────
355
383
  const sliceStats = buildSliceStats(root, nodes, maxDepth, maxNodes);
356
384
  const honestyFlags = buildHonestyFlags(artifacts, index, sliceStats, llmCallIds.length);
@@ -419,13 +447,17 @@ async function localizeContextBug(options) {
419
447
  const verdict = (0, ablation_js_1.verdictFor)(suspectLabel(suspect), stats, baselineStable);
420
448
  withVerdicts.push({ ...suspect, runs: stats, verdict });
421
449
  }
450
+ // Two-score localization (proposal 004): when the runner reported cost, read
451
+ // the SECOND score (loops/tokens saved on removal) from the same reruns, with
452
+ // a leave-one-out placebo control. No-op when no cost was reported.
453
+ const withCost = (0, cost_js_1.assignCostVerdicts)(withVerdicts, baseline);
422
454
  return {
423
455
  step,
424
456
  stepName: root.stageName,
425
457
  triggerSource,
426
458
  ...(triggerScore !== undefined ? { triggerScore } : {}),
427
459
  mode: 'causal',
428
- suspects: withVerdicts,
460
+ suspects: withCost,
429
461
  ...(dropped ? { dropped } : {}),
430
462
  sliceStats,
431
463
  honestyFlags: [...flags, ...restorationFlags],
@@ -603,6 +635,13 @@ function formatContextBugReport(report) {
603
635
  lines.push(` runs: ${suspect.runs.flips}/${suspect.runs.samples} flipped · similarity to original ` +
604
636
  `${suspect.runs.similarity.mean.toFixed(3)} ± ${suspect.runs.similarity.stdev.toFixed(3)} ` +
605
637
  `[${suspect.runs.similarity.min.toFixed(3)}, ${suspect.runs.similarity.max.toFixed(3)}]`);
638
+ if (suspect.cost !== undefined) {
639
+ const c = suspect.cost;
640
+ const detail = c.reducedCostOnRemoval
641
+ ? `REDUCED on removal — −${c.loopsSaved} loop(s), −${c.tokensSaved} tok (beats placebo, stable)`
642
+ : `no cost effect (loops ${c.loopsSaved >= 0 ? '−' : '+'}${Math.abs(c.loopsSaved)}${c.stable ? '' : '; no placebo band / unstable'})`;
643
+ lines.push(` cost: ${detail} → class: ${(0, cost_js_1.classifySuspect)(suspect)}`);
644
+ }
606
645
  }
607
646
  else if (report.mode === 'correlational') {
608
647
  lines.push(' verdict: (none — correlational ranking only; supply an AblationRunner to test causally)');
@@ -1 +1 @@
1
- {"version":3,"file":"localize.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/localize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localize.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/localize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shortlistEarlyCulprits = exports.DEFAULT_RECENCY_DECAY = void 0;
4
+ const index_js_1 = require("../influence-core/index.js");
5
+ const localize_js_1 = require("./localize.js");
6
+ /**
7
+ * Default recency decay for the per-loop aggregation. A loop N's per-suspect score is weighted by
8
+ * `recencyDecay^(lastLoop − N)` — recent loops weigh more. H2 swept `{0.5, 0.7, 0.9, 1.0}`; the
9
+ * recall@k gate (running THIS shipped scorer) confirmed `0.5` and `0.7` reproduce top-3 10/10 vs
10
+ * plain 9/10, while `≥0.9` does not — so the validated band is `[0.5, 0.7]` and the default is the
11
+ * lowest measured winner, `0.5`. (We do NOT ship an unmeasured value.) `1` = uniform; `0` = last-loop-only.
12
+ */
13
+ exports.DEFAULT_RECENCY_DECAY = 0.5;
14
+ /** Build a ClassifyContext from a loop frame's contextSources (the localizer's view, per loop). */
15
+ function classifyContextFor(frame) {
16
+ const byKey = new Map(frame.contextSources.map((s) => [s.key, s.value]));
17
+ return {
18
+ node: { incompleteSources: frame.incompleteSources },
19
+ keysWritten: frame.contextSources.map((s) => s.key),
20
+ valueOf: (key) => byKey.get(key),
21
+ };
22
+ }
23
+ /** Resolve a frame to its content-bearing suspects (injection / memory / tool), dedup'd by suspectId. */
24
+ function suspectsOf(frame, classify) {
25
+ const seeds = classify(classifyContextFor(frame)) ?? [];
26
+ const out = [];
27
+ const seen = new Set();
28
+ for (const seed of seeds) {
29
+ const suspectId = seed.detail?.injectionId ?? seed.detail?.toolName;
30
+ if (suspectId === undefined)
31
+ continue; // skip 'stage' / 'arg' fallbacks — no content identity
32
+ if (seen.has(suspectId))
33
+ continue;
34
+ seen.add(suspectId);
35
+ out.push({ suspectId, kind: seed.kind, text: seed.detail?.text ?? '' });
36
+ }
37
+ return out;
38
+ }
39
+ /**
40
+ * Score a recorded agent run into a per-loop RECALL shortlist (L3). Works on BOTH flat and grouped
41
+ * trajectories (it reads each frame's contextSources + intermediateText regardless of shape).
42
+ *
43
+ * Returns the top-`k` candidates ranked recall-first, each joinable 1:1 with a localizer `Suspect`
44
+ * via `suspectId`. Feed it to `localizeContextBug({ shortlist })` to REORDER suspects before the
45
+ * ablation budget is spent — narrow (recall), then convict (causal).
46
+ */
47
+ async function shortlistEarlyCulprits(trajectory, opts) {
48
+ const recencyDecay = opts.recencyDecay ?? exports.DEFAULT_RECENCY_DECAY;
49
+ const k = opts.k ?? 5;
50
+ const classify = opts.classifier ?? localize_js_1.defaultSuspectClassifier;
51
+ const truncated = trajectory.truncated?.byFrames === true;
52
+ // The last loop index — recency is measured back from here (weight = recencyDecay^(lastLoop − N)).
53
+ const lastLoop = trajectory.frames.reduce((m, f) => Math.max(m, f.loopIndex), 0);
54
+ // Per-suspect accumulators (keyed on suspectId — the no-double-count identity).
55
+ const score = new Map();
56
+ const kindOf = new Map();
57
+ const enteredLoop = new Map();
58
+ const perLoop = new Map();
59
+ const incomplete = new Map();
60
+ for (const frame of trajectory.frames) {
61
+ const suspects = suspectsOf(frame, classify);
62
+ // Per-loop relevance: each suspect's content vs THIS loop's output (one batched call).
63
+ let scoreById = new Map();
64
+ if (suspects.length > 0) {
65
+ const evidence = suspects.map((s) => ({ id: s.suspectId, text: s.text, ancestorTexts: [] }));
66
+ const scored = await (0, index_js_1.scoreInfluence)({
67
+ evidence,
68
+ finalAnswerText: frame.intermediateText ?? '',
69
+ embedder: opts.embedder,
70
+ ...(opts.weights ? { weights: opts.weights } : {}),
71
+ ...(opts.signal ? { signal: opts.signal } : {}),
72
+ });
73
+ // Clamp to ≥0: a source dissimilar to the loop output contributes nothing, never subtracts.
74
+ scoreById = new Map(scored.map((r) => [r.id, Math.max(0, r.score)]));
75
+ }
76
+ // Recency-weighted aggregation (the H2-VALIDATED mechanism — gate-confirmed over a forward sum):
77
+ // weight a loop's per-suspect score by recencyDecay^(lastLoop − N), then SUM across loops. The
78
+ // win over plain is the PER-LOOP signal (each source vs the loop it fed, not the final answer);
79
+ // recencyDecay tunes how fast older loops fade (1 = uniform, 0 = last-loop-only).
80
+ const weight = Math.pow(recencyDecay, lastLoop - frame.loopIndex);
81
+ for (const s of suspects) {
82
+ const sc = scoreById.get(s.suspectId) ?? 0;
83
+ score.set(s.suspectId, (score.get(s.suspectId) ?? 0) + weight * sc);
84
+ if (!kindOf.has(s.suspectId))
85
+ kindOf.set(s.suspectId, s.kind);
86
+ if (!enteredLoop.has(s.suspectId))
87
+ enteredLoop.set(s.suspectId, frame.loopIndex);
88
+ const track = perLoop.get(s.suspectId) ?? [];
89
+ track.push({ loopIndex: frame.loopIndex, recallScore: sc });
90
+ perLoop.set(s.suspectId, track);
91
+ if (frame.untrackedReadsPresent || truncated)
92
+ incomplete.set(s.suspectId, true);
93
+ }
94
+ }
95
+ const max = Math.max(0, ...score.values());
96
+ const candidates = [...score.entries()]
97
+ .map(([suspectId, sum]) => ({
98
+ suspectId,
99
+ kind: kindOf.get(suspectId) ?? 'stage',
100
+ recallScore: max > 0 ? sum / max : 0,
101
+ eligibility: sum,
102
+ enteredLoop: enteredLoop.get(suspectId) ?? 0,
103
+ perLoop: perLoop.get(suspectId) ?? [],
104
+ incomplete: incomplete.get(suspectId) ?? false,
105
+ }))
106
+ // recall-first; ties keep earlier-entered first, then suspectId for stable determinism.
107
+ .sort((a, b) => b.recallScore - a.recallScore || a.enteredLoop - b.enteredLoop || a.suspectId.localeCompare(b.suspectId))
108
+ .slice(0, k);
109
+ return { candidates, k, recencyDecay, honestyFlags: trajectory.honestyFlags };
110
+ }
111
+ exports.shortlistEarlyCulprits = shortlistEarlyCulprits;
112
+ //# sourceMappingURL=loop-recall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-recall.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/loop-recall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assembleTrajectory = exports.findLoopHeads = exports.bucketByAnchors = void 0;
4
+ const trace_1 = require("footprintjs/trace");
5
+ const conventions_js_1 = require("../../conventions.js");
6
+ const llmEdgeWeigher_js_1 = require("./llmEdgeWeigher.js");
7
+ const types_js_1 = require("./types.js");
8
+ /**
9
+ * Partition a commit log by a list of HEAD runtimeStageIds (taken as data — no agent
10
+ * knowledge). Each frame is the half-open range `[head[k], head[k+1])`; commits before
11
+ * the first head are the `prelude`. TOTAL: every commit lands in exactly one frame OR
12
+ * the prelude. Heads not found in the log are ignored; ordering follows the log, not the
13
+ * input list (an out-of-order or duplicate head list cannot reorder/duplicate commits).
14
+ *
15
+ * A head is anchored at the FIRST commit bearing its runtimeStageId — a single stage
16
+ * execution can flush MORE THAN ONE commit bundle under one runtimeStageId (parallel
17
+ * fork merges, multi-flush stages), and those repeats stay INSIDE the frame they open
18
+ * rather than each spawning a spurious one-commit frame.
19
+ */
20
+ function bucketByAnchors(commitLog, headRuntimeStageIds) {
21
+ const headSet = new Set(headRuntimeStageIds);
22
+ const headIdx = [];
23
+ const anchored = new Set();
24
+ for (let i = 0; i < commitLog.length; i++) {
25
+ const id = commitLog[i].runtimeStageId;
26
+ if (headSet.has(id) && !anchored.has(id)) {
27
+ headIdx.push(i);
28
+ anchored.add(id); // later commits sharing this id belong to the frame it opened
29
+ }
30
+ }
31
+ if (headIdx.length === 0) {
32
+ return { frames: [], prelude: commitLog.map((b) => b.runtimeStageId) };
33
+ }
34
+ const prelude = commitLog.slice(0, headIdx[0]).map((b) => b.runtimeStageId);
35
+ const frames = headIdx.map((head, k) => {
36
+ const end = k + 1 < headIdx.length ? headIdx[k + 1] : commitLog.length;
37
+ return { headArrayIdx: head, bodyIds: commitLog.slice(head, end).map((b) => b.runtimeStageId) };
38
+ });
39
+ return { frames, prelude };
40
+ }
41
+ exports.bucketByAnchors = bucketByAnchors;
42
+ // ─── findLoopHeads — flat-chart loop-head detection ──────────────────
43
+ /** True when a commit lives inside the injection-engine subflow (the loop head region). */
44
+ function inInjectionEngine(bundle) {
45
+ const { localStageId, subflowPath } = (0, trace_1.splitStageId)(bundle.stageId);
46
+ if (localStageId === conventions_js_1.SUBFLOW_IDS.INJECTION_ENGINE)
47
+ return true; // the mount commit, if any
48
+ if (subflowPath === undefined)
49
+ return false;
50
+ // a commit nested anywhere under sf-injection-engine (handles nested subflow prefixes)
51
+ return subflowPath === conventions_js_1.SUBFLOW_IDS.INJECTION_ENGINE || subflowPath.startsWith(conventions_js_1.SUBFLOW_IDS.INJECTION_ENGINE + '/');
52
+ }
53
+ /**
54
+ * The flat-chart loop heads: the FIRST commit of each injection-engine ENTRY (one per
55
+ * ReAct iteration, since the loop is branch-sourced back to the injection engine). A head
56
+ * is a commit that is in the injection engine while the previous commit was not — so a
57
+ * multi-commit injection-engine body yields exactly one head per loop.
58
+ *
59
+ * Returns the runtimeStageIds to feed `bucketByAnchors`. Empty when the run never enters
60
+ * the injection engine (e.g. the grouped chart, where the loop lives in sf-llm-call —
61
+ * the caller degrades with an honesty flag).
62
+ */
63
+ function findLoopHeads(commitLog) {
64
+ const heads = [];
65
+ let wasIn = false;
66
+ for (const bundle of commitLog) {
67
+ const isIn = inInjectionEngine(bundle);
68
+ if (isIn && !wasIn)
69
+ heads.push(bundle.runtimeStageId);
70
+ wasIn = isIn;
71
+ }
72
+ return heads;
73
+ }
74
+ exports.findLoopHeads = findLoopHeads;
75
+ /** Build the per-runtimeStageId read-key map from the snapshot execution tree
76
+ * (same walk as the localizer's `buildArtifactIndex`). */
77
+ function buildReadsOf(executionTree) {
78
+ const readsOf = new Map();
79
+ const visit = (node) => {
80
+ if (!node)
81
+ return;
82
+ const id = node.runtimeStageId;
83
+ if (id && !readsOf.has(id))
84
+ readsOf.set(id, node.stageReads ? Object.keys(node.stageReads) : []);
85
+ for (const child of node.children ?? [])
86
+ visit(child);
87
+ visit(node.next);
88
+ };
89
+ visit(executionTree);
90
+ return readsOf;
91
+ }
92
+ function safeStringify(value) {
93
+ if (typeof value === 'string')
94
+ return value;
95
+ try {
96
+ return JSON.stringify(value) ?? String(value);
97
+ }
98
+ catch {
99
+ return String(value);
100
+ }
101
+ }
102
+ /**
103
+ * Project ONE loop frame from a given commit log + readsOf — the shared core used by BOTH
104
+ * the flat path (over the run commit log) and the grouped path (over a subflow's OWN inner
105
+ * commit log). `headArrayIdx`/`bodyIds` bound the frame WITHIN `log`; `subflowScope`, when
106
+ * set, records that all indices are relative to that subflow's inner log.
107
+ */
108
+ function projectFrame(loopIndex, log, lastIdxOf, readsOf, headArrayIdx, bodyIds, maxTextChars, subflowScope) {
109
+ // Locate the call-llm commit WITHIN this frame's body (the LLM-step pointer).
110
+ let llmCallId;
111
+ let llmCallArrayIdx;
112
+ let llmBundle;
113
+ for (let i = headArrayIdx; i < headArrayIdx + bodyIds.length; i++) {
114
+ if ((0, trace_1.splitStageId)(log[i].stageId).localStageId === conventions_js_1.STAGE_IDS.CALL_LLM) {
115
+ llmCallId = log[i].runtimeStageId;
116
+ llmCallArrayIdx = i;
117
+ llmBundle = log[i];
118
+ break;
119
+ }
120
+ }
121
+ const intermediateText = llmCallId !== undefined ? (0, llmEdgeWeigher_js_1.stepOutputText)(log, lastIdxOf, llmCallId, maxTextChars) : undefined;
122
+ const keys = llmCallId !== undefined ? (readsOf.get(llmCallId) ?? []) : [];
123
+ const contextSources = keys.map((key) => {
124
+ // EXCLUSIVE beforeIdx — finds the PRIOR writer, never call-llm's own write-back.
125
+ const writer = llmCallArrayIdx !== undefined ? (0, trace_1.findLastWriter)(log, key, llmCallArrayIdx) : undefined;
126
+ const writerId = writer?.runtimeStageId;
127
+ const writerArrayIdx = writerId !== undefined ? lastIdxOf.get(writerId) : undefined;
128
+ const value = writerArrayIdx !== undefined ? (0, trace_1.commitValueAt)(log, writerArrayIdx, key) : undefined;
129
+ const text = value === undefined ? '' : safeStringify(value).slice(0, maxTextChars);
130
+ return {
131
+ key,
132
+ writerId,
133
+ writerArrayIdx,
134
+ value,
135
+ evidence: { id: `${llmCallId}::${key}`, text, ancestorTexts: [] },
136
+ };
137
+ });
138
+ const incompleteSources = llmBundle?.untrackedSources;
139
+ const untrackedReadsPresent = incompleteSources !== undefined && incompleteSources.length > 0;
140
+ return {
141
+ loopIndex,
142
+ llmCallId,
143
+ llmCallArrayIdx,
144
+ headArrayIdx,
145
+ bodyIds,
146
+ intermediateText,
147
+ contextSources,
148
+ ...(subflowScope !== undefined ? { subflowScope } : {}),
149
+ ...(untrackedReadsPresent ? { incompleteSources } : {}),
150
+ untrackedReadsPresent,
151
+ };
152
+ }
153
+ /** The sf-llm-call mount keys in `subflowResults`, in loop order (by execution index). */
154
+ function llmCallMountKeys(subflowResults) {
155
+ return Object.keys(subflowResults)
156
+ .filter((k) => k.includes('#') && (0, trace_1.splitStageId)(k.split('#')[0]).localStageId === conventions_js_1.SUBFLOW_IDS.LLM_CALL)
157
+ .sort((a, b) => (0, trace_1.parseRuntimeStageId)(a).executionIndex - (0, trace_1.parseRuntimeStageId)(b).executionIndex);
158
+ }
159
+ /**
160
+ * GROUPED chart projection (`reactMode: 'dynamic-grouped'`). The LLM turn runs inside an
161
+ * `sf-llm-call` subflow, so its `call-llm` + slot writes live in the subflow's OWN commit log
162
+ * — retained per-iteration under `subflowResults['sf-llm-call#k']` (footprintjs
163
+ * subflow-commit-visibility). Each loop is a frame projected PER-SCOPE over its inner log; no
164
+ * cross-scope merge, so `findLastWriter`/`commitValueAt` run correctly over the isolated log.
165
+ */
166
+ function assembleGroupedTrajectory(artifacts, mountKeys, maxTextChars, maxFrames) {
167
+ const sr = (artifacts.snapshot.subflowResults ?? {});
168
+ const runLog = (artifacts.snapshot.commitLog ?? []);
169
+ // Run-level prelude: commits before the first sf-llm-call mount (seed / memory-read setup).
170
+ const firstMountRunIdx = runLog.findIndex((b) => b.runtimeStageId === mountKeys[0]);
171
+ const prelude = firstMountRunIdx > 0 ? runLog.slice(0, firstMountRunIdx).map((b) => b.runtimeStageId) : [];
172
+ const kept = maxFrames !== undefined ? mountKeys.slice(0, maxFrames) : mountKeys;
173
+ const truncated = maxFrames !== undefined && mountKeys.length > maxFrames;
174
+ const frames = kept.map((key, loopIndex) => {
175
+ const innerLog = (sr[key]?.treeContext?.history ?? []);
176
+ const innerReadsOf = buildReadsOf(sr[key]?.treeContext?.stageContexts);
177
+ const innerLastIdxOf = new Map();
178
+ for (let i = 0; i < innerLog.length; i++)
179
+ innerLastIdxOf.set(innerLog[i].runtimeStageId, i);
180
+ const bodyIds = innerLog.map((b) => b.runtimeStageId);
181
+ return projectFrame(loopIndex, innerLog, innerLastIdxOf, innerReadsOf, 0, bodyIds, maxTextChars, key);
182
+ });
183
+ return { frames, prelude, honestyFlags: [], ...(truncated ? { truncated: { byFrames: true } } : {}) };
184
+ }
185
+ /**
186
+ * Slice a recorded agent run into a {@link Trajectory} — one {@link LoopFrame} per ReAct
187
+ * iteration, each carrying its `call-llm` pointer, the call's output text, and the live
188
+ * {@link ContextSource}s that fed it (traced via `findLastWriter` + `commitValueAt` from the
189
+ * SAME commit log — zero new capture).
190
+ *
191
+ * Takes the SAME `ContextBugArtifacts` bag the localizer takes — adopter call is just
192
+ * `assembleTrajectory(artifacts)`.
193
+ *
194
+ * Handles BOTH chart shapes:
195
+ * - FLAT (`reactMode: 'dynamic'`, default): `call-llm` is a parent-level stage; frames are
196
+ * bucketed over the run commit log by the `sf-injection-engine` loop heads.
197
+ * - GROUPED (`reactMode: 'dynamic-grouped'`): the LLM turn runs in an `sf-llm-call` subflow;
198
+ * each loop is projected PER-SCOPE over its own inner commit log (retained per-iteration by
199
+ * footprintjs subflow-commit-visibility). Such frames carry `subflowScope` and their array
200
+ * indices are inner-log-relative.
201
+ *
202
+ * Standing caveat on every result: contextSources show only sources re-committed to tracked
203
+ * state; context the model retained internally (carried in its own reasoning, never
204
+ * re-committed) leaves no read→write edge and is NOT represented.
205
+ */
206
+ function assembleTrajectory(artifacts, opts = {}) {
207
+ const maxTextChars = opts.maxTextChars ?? types_js_1.CONTEXT_BISECT_DEFAULTS.maxTextChars;
208
+ // Grouped agent ⟺ the LLM turn is wrapped in sf-llm-call (its mounts appear in subflowResults).
209
+ const mountKeys = llmCallMountKeys((artifacts.snapshot.subflowResults ?? {}));
210
+ if (mountKeys.length > 0) {
211
+ return assembleGroupedTrajectory(artifacts, mountKeys, maxTextChars, opts.maxFrames);
212
+ }
213
+ // FLAT path: project over the run commit log, bucketed by injection-engine loop heads.
214
+ const commitLog = (artifacts.snapshot.commitLog ?? []);
215
+ const lastIdxOf = new Map();
216
+ for (let i = 0; i < commitLog.length; i++)
217
+ lastIdxOf.set(commitLog[i].runtimeStageId, i);
218
+ const readsOf = buildReadsOf(artifacts.snapshot.executionTree);
219
+ const heads = findLoopHeads(commitLog);
220
+ const { frames: buckets, prelude } = bucketByAnchors(commitLog, heads);
221
+ const kept = opts.maxFrames !== undefined ? buckets.slice(0, opts.maxFrames) : buckets;
222
+ const truncated = opts.maxFrames !== undefined && buckets.length > opts.maxFrames;
223
+ const frames = kept.map((bucket, loopIndex) => projectFrame(loopIndex, commitLog, lastIdxOf, readsOf, bucket.headArrayIdx, bucket.bodyIds, maxTextChars));
224
+ return { frames, prelude, honestyFlags: [], ...(truncated ? { truncated: { byFrames: true } } : {}) };
225
+ }
226
+ exports.assembleTrajectory = assembleTrajectory;
227
+ //# sourceMappingURL=trajectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trajectory.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/trajectory.ts"],"names":[],"mappings":"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"}