agentfootprint 6.11.0 → 6.12.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 (67) hide show
  1. package/AGENTS.md +7 -5
  2. package/CLAUDE.md +8 -6
  3. package/README.md +1 -1
  4. package/ai-instructions/claude-code/SKILL.md +5 -5
  5. package/dist/core/Agent.js +14 -0
  6. package/dist/core/Agent.js.map +1 -1
  7. package/dist/core/agent/buildAgentChart.js +3 -0
  8. package/dist/core/agent/buildAgentChart.js.map +1 -1
  9. package/dist/core/agent/buildDynamicAgentChart.js +3 -0
  10. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  11. package/dist/esm/core/Agent.js +14 -0
  12. package/dist/esm/core/Agent.js.map +1 -1
  13. package/dist/esm/core/agent/buildAgentChart.js +3 -0
  14. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  15. package/dist/esm/core/agent/buildDynamicAgentChart.js +3 -0
  16. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  17. package/dist/esm/events/registry.js +4 -2
  18. package/dist/esm/events/registry.js.map +1 -1
  19. package/dist/esm/events/types.js +1 -1
  20. package/dist/esm/memory/causal/evidenceRecorder.js +213 -0
  21. package/dist/esm/memory/causal/evidenceRecorder.js.map +1 -0
  22. package/dist/esm/memory/causal/index.js +1 -0
  23. package/dist/esm/memory/causal/index.js.map +1 -1
  24. package/dist/esm/memory/causal/loadSnapshot.js +18 -4
  25. package/dist/esm/memory/causal/loadSnapshot.js.map +1 -1
  26. package/dist/esm/memory/causal/writeSnapshot.js +9 -5
  27. package/dist/esm/memory/causal/writeSnapshot.js.map +1 -1
  28. package/dist/esm/memory/define.types.js +2 -1
  29. package/dist/esm/memory/define.types.js.map +1 -1
  30. package/dist/esm/memory/wire/mountMemoryPipeline.js +10 -1
  31. package/dist/esm/memory/wire/mountMemoryPipeline.js.map +1 -1
  32. package/dist/events/registry.js +4 -2
  33. package/dist/events/registry.js.map +1 -1
  34. package/dist/events/types.js +1 -1
  35. package/dist/memory/causal/evidenceRecorder.js +217 -0
  36. package/dist/memory/causal/evidenceRecorder.js.map +1 -0
  37. package/dist/memory/causal/index.js +3 -1
  38. package/dist/memory/causal/index.js.map +1 -1
  39. package/dist/memory/causal/loadSnapshot.js +18 -4
  40. package/dist/memory/causal/loadSnapshot.js.map +1 -1
  41. package/dist/memory/causal/writeSnapshot.js +9 -5
  42. package/dist/memory/causal/writeSnapshot.js.map +1 -1
  43. package/dist/memory/define.types.js +2 -1
  44. package/dist/memory/define.types.js.map +1 -1
  45. package/dist/memory/wire/mountMemoryPipeline.js +10 -1
  46. package/dist/memory/wire/mountMemoryPipeline.js.map +1 -1
  47. package/dist/types/core/Agent.d.ts +2 -0
  48. package/dist/types/core/Agent.d.ts.map +1 -1
  49. package/dist/types/core/agent/buildAgentChart.d.ts +5 -0
  50. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  51. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  52. package/dist/types/events/registry.d.ts +3 -1
  53. package/dist/types/events/registry.d.ts.map +1 -1
  54. package/dist/types/events/types.d.ts +1 -1
  55. package/dist/types/memory/causal/evidenceRecorder.d.ts +67 -0
  56. package/dist/types/memory/causal/evidenceRecorder.d.ts.map +1 -0
  57. package/dist/types/memory/causal/index.d.ts +1 -0
  58. package/dist/types/memory/causal/index.d.ts.map +1 -1
  59. package/dist/types/memory/causal/types.d.ts +3 -3
  60. package/dist/types/memory/causal/writeSnapshot.d.ts.map +1 -1
  61. package/dist/types/memory/define.types.d.ts +2 -1
  62. package/dist/types/memory/define.types.d.ts.map +1 -1
  63. package/dist/types/memory/stages/types.d.ts +7 -0
  64. package/dist/types/memory/stages/types.d.ts.map +1 -1
  65. package/dist/types/memory/wire/mountMemoryPipeline.d.ts +9 -0
  66. package/dist/types/memory/wire/mountMemoryPipeline.d.ts.map +1 -1
  67. package/package.json +1 -1
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ /**
3
+ * causalEvidenceRecorder — the evidence bridge (backlog Phase-1 #5).
4
+ *
5
+ * Harvests, DURING the run, everything a causal snapshot needs beyond
6
+ * (query, finalContent) — from events the engine already fires:
7
+ *
8
+ * stream.tool_start/tool_end → ToolCallRecord (name, args, resultPreview, errored)
9
+ * stream.llm_end → tokenUsage accumulation + iteration high-water
10
+ * agent.turn_start/turn_end → durationMs (+ authoritative totals when seen)
11
+ * FlowRecorder.onDecision → DecisionRecord with footprintjs decide()/select()
12
+ * operator-level evidence (rule, conditions, chosen)
13
+ * context.evaluated routing → DecisionRecord per skill the graph routed to
14
+ *
15
+ * Pattern: CombinedRecorder (Convention 1 — single purpose: evidence
16
+ * accumulation); per-turn reset anchored on `agent.turn_start`
17
+ * (Convention 4 — executor `clear()` resets between runs; same-
18
+ * executor pause/resume PRESERVES pre-pause evidence by design).
19
+ * PII note: tool args/results and decide() evidence persist into snapshots.
20
+ * footprintjs `RedactionPolicy.emitPatterns` redacts the emit channel
21
+ * BEFORE this recorder IF the consumer configures one on the executor
22
+ * — the Agent does NOT configure one by default. Values are bounded
23
+ * (`maxPreviewChars` for results, `maxFieldChars` for args/evidence);
24
+ * treat the snapshot store as PII-bearing and protect it accordingly.
25
+ *
26
+ * The Agent attaches this automatically when a CAUSAL memory is mounted and
27
+ * threads `collect` into the memory write mount (`evidenceSource`) — so
28
+ * `writeSnapshot` persists real evidence instead of zeros.
29
+ */
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.causalEvidenceRecorder = void 0;
32
+ function preview(value, max) {
33
+ let s;
34
+ if (typeof value === 'string')
35
+ s = value;
36
+ else {
37
+ try {
38
+ s = JSON.stringify(value);
39
+ }
40
+ catch {
41
+ s = String(value);
42
+ }
43
+ }
44
+ return s.length > max ? `${s.slice(0, max)}…` : s;
45
+ }
46
+ /** Bound a record-ish value: oversized serializations become a truncated
47
+ * preview marker so snapshots can't grow unbounded (and PII exposure is
48
+ * capped). Small values pass through untouched. */
49
+ function bounded(value, max) {
50
+ if (value === undefined)
51
+ return undefined;
52
+ try {
53
+ const s = JSON.stringify(value);
54
+ if (s.length <= max)
55
+ return value;
56
+ return { __truncated: `${s.slice(0, max)}…` };
57
+ }
58
+ catch {
59
+ return { __truncated: String(value).slice(0, max) };
60
+ }
61
+ }
62
+ /** Build the evidence-harvesting recorder. Attach via `.recorder(rec)` (the
63
+ * Agent does this automatically for CAUSAL memories). */
64
+ function causalEvidenceRecorder(options = {}) {
65
+ const maxPreview = options.maxPreviewChars ?? 200;
66
+ const maxField = options.maxFieldChars ?? 2000;
67
+ // ── per-turn accumulators (reset on agent.turn_start; executor clear()
68
+ // resets between runs; pause/resume keeps pre-pause evidence) ──
69
+ let decisions = [];
70
+ let toolCalls = [];
71
+ let pendingTools = new Map();
72
+ let tokens = { input: 0, output: 0 };
73
+ let iterations = 0;
74
+ let turnStartMs;
75
+ let authoritative;
76
+ const reset = () => {
77
+ decisions = [];
78
+ toolCalls = [];
79
+ pendingTools = new Map();
80
+ tokens = { input: 0, output: 0 };
81
+ iterations = 0;
82
+ turnStartMs = undefined;
83
+ authoritative = undefined;
84
+ };
85
+ return {
86
+ id: options.id ?? 'causal-evidence',
87
+ onEmit(event) {
88
+ const { name, payload } = event;
89
+ switch (name) {
90
+ case 'agentfootprint.agent.turn_start':
91
+ // A new turn on the same executor — start fresh (one snapshot per turn).
92
+ reset();
93
+ turnStartMs = Date.now();
94
+ break;
95
+ case 'agentfootprint.stream.tool_start': {
96
+ const id = String(payload.toolCallId ?? '');
97
+ pendingTools.set(id, {
98
+ name: String(payload.toolName ?? 'unknown'),
99
+ args: bounded((payload.args ?? {}), maxField) ?? {},
100
+ });
101
+ break;
102
+ }
103
+ case 'agentfootprint.stream.tool_end': {
104
+ const id = String(payload.toolCallId ?? '');
105
+ const started = pendingTools.get(id);
106
+ pendingTools.delete(id);
107
+ toolCalls.push({
108
+ name: started?.name ?? 'unknown',
109
+ args: started?.args ?? {},
110
+ resultPreview: preview(payload.result, maxPreview),
111
+ errored: payload.error === true,
112
+ });
113
+ break;
114
+ }
115
+ case 'agentfootprint.stream.llm_end': {
116
+ const usage = payload.usage;
117
+ tokens = {
118
+ input: tokens.input + (usage?.input ?? 0),
119
+ output: tokens.output + (usage?.output ?? 0),
120
+ };
121
+ const iter = Number(payload.iteration ?? 0);
122
+ if (iter > iterations)
123
+ iterations = iter;
124
+ break;
125
+ }
126
+ case 'agentfootprint.context.evaluated': {
127
+ // Skill-graph routing provenance → one DecisionRecord per routed skill.
128
+ const routing = payload.routing;
129
+ if (Array.isArray(routing)) {
130
+ for (const r of routing) {
131
+ decisions.push({
132
+ stageId: 'skill-graph',
133
+ chosen: String(r.injectionId ?? r.id ?? 'unknown'),
134
+ ...(r.label !== undefined || r.via !== undefined
135
+ ? { rule: r.label ?? `via ${r.via}` }
136
+ : {}),
137
+ ...(r.path !== undefined && {
138
+ evidence: { path: r.path },
139
+ }),
140
+ });
141
+ }
142
+ }
143
+ break;
144
+ }
145
+ case 'agentfootprint.agent.turn_end': {
146
+ // Authoritative totals when the write runs after turn_end.
147
+ authoritative = {
148
+ iterations: Number(payload.iterationCount ?? iterations),
149
+ input: Number(payload.totalInputTokens ?? tokens.input),
150
+ output: Number(payload.totalOutputTokens ?? tokens.output),
151
+ durationMs: Number(payload.durationMs ?? 0),
152
+ };
153
+ break;
154
+ }
155
+ default:
156
+ break;
157
+ }
158
+ },
159
+ /** footprintjs FlowRecorder channel — decide() decision evidence.
160
+ * FlowDecisionEvent carries `decider` (display name), `chosen`, optional
161
+ * `evidence` from decide(), and `traversalContext.stageId` (the stable,
162
+ * subflow-prefixed stage id — preferred for DecisionRecord.stageId). */
163
+ onDecision(event) {
164
+ const stageId = event.traversalContext?.stageId ?? event.decider;
165
+ // Internal agent plumbing (the cache-gate decider) is not domain
166
+ // decision evidence. `includes` (not startsWith): in reactMode
167
+ // 'dynamic-grouped' the names are double-prefixed
168
+ // ('sf-llm-call/sf-cache/…').
169
+ if (String(event.chosen ?? '').includes('sf-cache/') || String(stageId).includes('sf-cache'))
170
+ return;
171
+ const evidence = event.evidence;
172
+ decisions.push({
173
+ stageId: String(stageId),
174
+ chosen: String(event.chosen ?? 'unknown'),
175
+ ...(evidence?.label !== undefined || evidence?.rule !== undefined
176
+ ? { rule: String(evidence.label ?? evidence.rule) }
177
+ : {}),
178
+ ...(evidence !== undefined && {
179
+ evidence: bounded(evidence, maxField),
180
+ }),
181
+ });
182
+ },
183
+ /** footprintjs FlowRecorder channel — select() selection evidence. */
184
+ onSelected(event) {
185
+ const stageId = event.traversalContext?.stageId ?? event.parent;
186
+ if (String(stageId).includes('sf-cache'))
187
+ return;
188
+ // The agent's own Context slot-fork is a selector — plumbing, not domain.
189
+ if (String(stageId).includes('context') && event.selected.every((s) => s.startsWith('sf-')))
190
+ return;
191
+ decisions.push({
192
+ stageId: String(stageId),
193
+ chosen: event.selected.join(', '),
194
+ ...(event.evidence !== undefined && {
195
+ evidence: bounded(event.evidence, maxField),
196
+ }),
197
+ });
198
+ },
199
+ collect() {
200
+ return {
201
+ iterations: authoritative?.iterations ?? iterations,
202
+ decisions: [...decisions],
203
+ toolCalls: [...toolCalls],
204
+ durationMs: authoritative?.durationMs ?? (turnStartMs !== undefined ? Date.now() - turnStartMs : 0),
205
+ tokenUsage: {
206
+ input: authoritative?.input ?? tokens.input,
207
+ output: authoritative?.output ?? tokens.output,
208
+ },
209
+ };
210
+ },
211
+ clear() {
212
+ reset();
213
+ },
214
+ };
215
+ }
216
+ exports.causalEvidenceRecorder = causalEvidenceRecorder;
217
+ //# sourceMappingURL=evidenceRecorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidenceRecorder.js","sourceRoot":"","sources":["../../../src/memory/causal/evidenceRecorder.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.snapshotPipeline = exports.loadSnapshot = exports.writeSnapshot = exports.DEFAULT_TOOL_RESULT_PREVIEW_LEN = void 0;
3
+ exports.snapshotPipeline = exports.loadSnapshot = exports.writeSnapshot = exports.causalEvidenceRecorder = exports.DEFAULT_TOOL_RESULT_PREVIEW_LEN = void 0;
4
4
  var types_js_1 = require("./types.js");
5
5
  Object.defineProperty(exports, "DEFAULT_TOOL_RESULT_PREVIEW_LEN", { enumerable: true, get: function () { return types_js_1.DEFAULT_TOOL_RESULT_PREVIEW_LEN; } });
6
+ var evidenceRecorder_js_1 = require("./evidenceRecorder.js");
7
+ Object.defineProperty(exports, "causalEvidenceRecorder", { enumerable: true, get: function () { return evidenceRecorder_js_1.causalEvidenceRecorder; } });
6
8
  var writeSnapshot_js_1 = require("./writeSnapshot.js");
7
9
  Object.defineProperty(exports, "writeSnapshot", { enumerable: true, get: function () { return writeSnapshot_js_1.writeSnapshot; } });
8
10
  var loadSnapshot_js_1 = require("./loadSnapshot.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/causal/index.ts"],"names":[],"mappings":";;;AAOA,uCAA6D;AAApD,2HAAA,+BAA+B,OAAA;AAExC,uDAA6E;AAApE,iHAAA,aAAa,OAAA;AACtB,qDAA0E;AAAjE,+GAAA,YAAY,OAAA;AACrB,6DAAsF;AAA7E,uHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/causal/index.ts"],"names":[],"mappings":";;;AAOA,uCAA6D;AAApD,2HAAA,+BAA+B,OAAA;AAExC,6DAK+B;AAJ7B,6HAAA,sBAAsB,OAAA;AAKxB,uDAA6E;AAApE,iHAAA,aAAa,OAAA;AACtB,qDAA0E;AAAjE,+GAAA,YAAY,OAAA;AACrB,6DAAsF;AAA7E,uHAAA,gBAAgB,OAAA"}
@@ -82,15 +82,29 @@ function formatProjection(entry, projection, score) {
82
82
  const header = `[Past run · query: "${truncate(snap.query, 80)}" · score: ${score.toFixed(2)}]`;
83
83
  let body;
84
84
  switch (projection) {
85
- case define_types_js_1.SNAPSHOT_PROJECTIONS.DECISIONS:
85
+ case define_types_js_1.SNAPSHOT_PROJECTIONS.DECISIONS: {
86
+ // Tool evidence is part of the "why": in LLM-decided flows the
87
+ // operator-level facts (creditScore=580, dti=0.45) arrive as tool
88
+ // results, so the decisions projection includes them.
89
+ // SECURITY: this replays STORED TOOL OUTPUT into a future prompt — a
90
+ // persisted prompt-injection surface if tools ingest untrusted content.
91
+ // Treat snapshot stores as prompt-trusted; sanitize tool output at the
92
+ // tool boundary when it carries third-party text.
93
+ const toolLines = snap.toolCalls.length === 0
94
+ ? ''
95
+ : `\nTool evidence:\n${snap.toolCalls
96
+ .map((t) => `- ${t.name}(${JSON.stringify(t.args)}) → ${t.resultPreview}` +
97
+ (t.errored ? ' [ERROR]' : ''))
98
+ .join('\n')}`;
86
99
  body =
87
- snap.decisions.length === 0
100
+ snap.decisions.length === 0 && snap.toolCalls.length === 0
88
101
  ? `(no decision evidence captured)\nFinal answer: ${snap.finalContent}`
89
- : snap.decisions
102
+ : `${snap.decisions
90
103
  .map((d) => `- ${d.stageId} → "${d.chosen}"${d.rule ? ` (rule: ${d.rule})` : ''}` +
91
104
  (d.evidence ? `; evidence: ${JSON.stringify(d.evidence)}` : ''))
92
- .join('\n');
105
+ .join('\n')}${toolLines}\nFinal answer: ${snap.finalContent}`;
93
106
  break;
107
+ }
94
108
  case define_types_js_1.SNAPSHOT_PROJECTIONS.NARRATIVE:
95
109
  body = snap.narrative ?? `(no narrative captured)\nFinal answer: ${snap.finalContent}`;
96
110
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"loadSnapshot.js","sourceRoot":"","sources":["../../../src/memory/causal/loadSnapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AASH,wDAAmF;AAmCnF,SAAS,gBAAgB,CAAC,KAA8B;IACtD,MAAM,QAAQ,GAAG,KAAwD,CAAC;IAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IACxE,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,kEAAkE;YAChE,iFAAiF,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,sCAAoB,CAAC,SAAS,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IAExC,OAAO,KAAK,EAAE,KAA8B,EAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC;QACzC,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC;YACrC,IAAI;YACJ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAa,CAAC;QAEhB,qEAAqE;QACrE,sDAAsD;QACtD,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACtD,CAAC,EAAE,IAAI;YACP,QAAQ;YACR,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;SAC1E,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,sEAAsE;YACtE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAiB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,gBAAgB,CAAC,CAAC,CAAC,KAAmC,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAC7E,CAAC;QACF,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AA/CD,oCA+CC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,KAAiC,EACjC,UAA8B,EAC9B,KAAa;IAEb,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;IACzB,MAAM,MAAM,GAAG,uBAAuB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAEhG,IAAI,IAAY,CAAC;IACjB,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,sCAAoB,CAAC,SAAS;YACjC,IAAI;gBACF,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;oBACzB,CAAC,CAAC,kDAAkD,IAAI,CAAC,YAAY,EAAE;oBACvE,CAAC,CAAC,IAAI,CAAC,SAAS;yBACX,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACrE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE;yBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM;QAER,KAAK,sCAAoB,CAAC,SAAS;YACjC,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,0CAA0C,IAAI,CAAC,YAAY,EAAE,CAAC;YACvF,MAAM;QAER,KAAK,sCAAoB,CAAC,OAAO;YAC/B,6DAA6D;YAC7D,wCAAwC;YACxC,IAAI;gBACF,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;oBACzB,CAAC,CAAC,2CAA2C,IAAI,CAAC,YAAY,EAAE;oBAChE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM;QAER,KAAK,sCAAoB,CAAC,IAAI;YAC5B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM;QAER;YACE,IAAI,GAAG,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG,MAAM,KAAK,IAAI,EAAE;KAChB,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"loadSnapshot.js","sourceRoot":"","sources":["../../../src/memory/causal/loadSnapshot.ts"],"names":[],"mappings":"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"}
@@ -49,14 +49,18 @@ function writeSnapshot(config) {
49
49
  }));
50
50
  const now = Date.now();
51
51
  const ttl = config.ttlMs ? now + config.ttlMs : undefined;
52
+ // Evidence bridge (#5): the wire layer delivers run evidence harvested by
53
+ // `causalEvidenceRecorder` via the write mount's `evidenceSource`. Absent
54
+ // (non-agent hosts, no recorder attached) → zeros, as before.
55
+ const evidence = scope.runEvidence;
52
56
  const snapshot = {
53
57
  query,
54
58
  finalContent,
55
- iterations: 0, // TODO: capture from scope when wire helper exposes it
56
- decisions: [], // Populated by a follow-up FlowRecorder integration
57
- toolCalls: [], // Populated by a follow-up FlowRecorder integration
58
- durationMs: 0,
59
- tokenUsage: { input: 0, output: 0 },
59
+ iterations: evidence?.iterations ?? 0,
60
+ decisions: evidence?.decisions ?? [],
61
+ toolCalls: evidence?.toolCalls ?? [],
62
+ durationMs: evidence?.durationMs ?? 0,
63
+ tokenUsage: evidence?.tokenUsage ?? { input: 0, output: 0 },
60
64
  };
61
65
  const entry = {
62
66
  id: `snap-${turn}`,
@@ -1 +1 @@
1
- {"version":3,"file":"writeSnapshot.js","sourceRoot":"","sources":["../../../src/memory/causal/writeSnapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AA0CH,SAAgB,aAAa,CAAC,MAA2B;IACvD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,kBAAkB,CAAC;IAE3D,OAAO,KAAK,EAAE,KAA8B,EAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;QAC9B,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAA0B,CAAC;QACvE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,4DAA4D;QAC5D,gEAAgE;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrE,MAAM,KAAK,GAAI,OAAO,EAAE,OAA8B,IAAI,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAI,YAAY,EAAE,OAA8B,IAAI,EAAE,CAAC;QAEzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,iCAAiC;QAEjE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC;QACzC,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,KAAK;YACX,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAa,CAAC;QAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,MAAM,QAAQ,GAAkB;YAC9B,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,CAAC,EAAE,uDAAuD;YACtE,SAAS,EAAE,EAAE,EAAE,oDAAoD;YACnE,SAAS,EAAE,EAAE,EAAE,oDAAoD;YACnE,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,MAAM,KAAK,GAA+B;YACxC,EAAE,EAAE,QAAQ,IAAI,EAAE;YAClB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,GAAG;YACnB,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC;YACxB,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B,CAAC;QAEF,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAvDD,sCAuDC"}
1
+ {"version":3,"file":"writeSnapshot.js","sourceRoot":"","sources":["../../../src/memory/causal/writeSnapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AA0CH,SAAgB,aAAa,CAAC,MAA2B;IACvD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,kBAAkB,CAAC;IAE3D,OAAO,KAAK,EAAE,KAA8B,EAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;QAC9B,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAA0B,CAAC;QACvE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,4DAA4D;QAC5D,gEAAgE;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrE,MAAM,KAAK,GAAI,OAAO,EAAE,OAA8B,IAAI,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAI,YAAY,EAAE,OAA8B,IAAI,EAAE,CAAC;QAEzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,iCAAiC;QAEjE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC;QACzC,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,KAAK;YACX,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAa,CAAC;QAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,0EAA0E;QAC1E,0EAA0E;QAC1E,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC;QACnC,MAAM,QAAQ,GAAkB;YAC9B,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,CAAC;YACrC,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,EAAE;YACpC,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,EAAE;YACpC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,CAAC;YACrC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;SAC5D,CAAC;QAEF,MAAM,KAAK,GAA+B;YACxC,EAAE,EAAE,QAAQ,IAAI,EAAE;YAClB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,GAAG;YACnB,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC;YACxB,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B,CAAC;QAEF,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AA3DD,sCA2DC"}
@@ -47,7 +47,8 @@ exports.isMemoryInjectionKey = exports.memoryInjectionKey = exports.MEMORY_INJEC
47
47
  * - `SEMANTIC` — extracted structured facts, deduped on key
48
48
  * - `NARRATIVE` — beats / summaries of prior runs (append-only)
49
49
  * - `CAUSAL` — footprintjs execution snapshots, the differentiator
50
- * (zero-hallucination follow-ups via decision-evidence replay)
50
+ * (replays stored decisions + tool evidence for "why?"
51
+ * follow-ups — harvested automatically per run)
51
52
  */
52
53
  exports.MEMORY_TYPES = {
53
54
  EPISODIC: 'episodic',
@@ -1 +1 @@
1
- {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../src/memory/define.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;;;AAOH,uEAAuE;AAEvE;;;;;;;;GAQG;AACU,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACU,QAAA,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AA+MX,uEAAuE;AAEvE,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,wCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,4BAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAFD,oDAEC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACU,QAAA,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,mCAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,mCAA2B,CAAC,CAAC;AACrD,CAAC;AAFD,oDAEC"}
1
+ {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../src/memory/define.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;;;AAOH,uEAAuE;AAEvE;;;;;;;;;GASG;AACU,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACU,QAAA,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AA+MX,uEAAuE;AAEvE,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,wCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,4BAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAFD,oDAEC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACU,QAAA,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,mCAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,mCAA2B,CAAC,CAAC;AACrD,CAAC;AAFD,oDAEC"}
@@ -43,7 +43,11 @@ function mountMemoryRead(builder, config) {
43
43
  // like `loadRelevant` derive the query from the last user
44
44
  // message here. The write-side `newMessages` field is empty
45
45
  // during read; these are two different concerns.
46
- messages: parentState.messages ?? [],
46
+ // Agents carry the conversation as `history`; bare hosts may use
47
+ // `messages`. Without this fallback, read stages that derive the query
48
+ // from the last user message (loadSnapshot/loadRelevant) saw [] inside
49
+ // an Agent and silently injected nothing — the causal READ never fired.
50
+ messages: parentState.messages ?? parentState.history ?? [],
47
51
  newMessages: [], // write side unused in read subflow
48
52
  }),
49
53
  outputMapper: (subflowState) => ({
@@ -70,6 +74,11 @@ function mountMemoryWrite(builder, config) {
70
74
  turnNumber: parentState[turnNumberKey],
71
75
  contextTokensRemaining: parentState[contextTokensKey] ?? 0,
72
76
  newMessages: parentState[newMessagesKey] ?? [],
77
+ // Evidence bridge (#5): harvested run evidence for causal writeSnapshot.
78
+ // Closure-delivered (no PARENT-scope write) — note it DOES land in the
79
+ // write subflow's own tracked scope/commit log, like newMessages; the
80
+ // values are already observable as events, so no new exposure class.
81
+ ...(config.evidenceSource && { runEvidence: config.evidenceSource() }),
73
82
  }),
74
83
  // No outputMapper — write has no parent-visible output.
75
84
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mountMemoryPipeline.js","sourceRoot":"","sources":["../../../src/memory/wire/mountMemoryPipeline.ts"],"names":[],"mappings":";;;AAoFA,0BAA0B;AAC1B,yEAAyE;AACzE,yEAAyE;AACzE,gEAAgE;AAChE,oFAAoF;AACpF,wEAAwE;AACxE,gDAAgD;AAEhD,MAAM,QAAQ,GAAG;IACf,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,YAAY;IAC3B,gBAAgB,EAAE,wBAAwB;IAC1C,YAAY,EAAE,iBAAiB;IAC/B,cAAc,EAAE,aAAa;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,iBAAiB;CACzB,CAAC;AAEX;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAC7B,OAAsC,EACtC,MAA8C;IAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;IAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC;IACrE,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;IAClE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC;IAErE,OAAO,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE;QACrF,WAAW,EAAE,CAAC,WAAoC,EAAE,EAAE,CAAC,CAAC;YACtD,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC;YAClC,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC;YACtC,sBAAsB,EAAE,WAAW,CAAC,gBAAgB,CAAC;YACrD,kEAAkE;YAClE,0DAA0D;YAC1D,4DAA4D;YAC5D,iDAAiD;YACjD,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,EAAE;YACpC,WAAW,EAAE,EAAE,EAAE,oCAAoC;SACtD,CAAC;QACF,YAAY,EAAE,CAAC,YAAqC,EAAE,EAAE,CAAC,CAAC;YACxD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,SAAS;SACvC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AA1BD,0CA0BC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,OAAsC,EACtC,MAA8C;IAE9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAE3C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;IAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC;IACrE,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC;IAExE,OAAO,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE;QACvF,WAAW,EAAE,CAAC,WAAoC,EAAE,EAAE,CAAC,CAAC;YACtD,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC;YAClC,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC;YACtC,sBAAsB,EAAE,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC1D,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE;SAC/C,CAAC;QACF,wDAAwD;KACzD,CAAC,CAAC;AACL,CAAC;AArBD,4CAqBC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,OAAsC,EACtC,MAA8C;IAE9C,OAAO,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACpE,CAAC;AALD,kDAKC"}
1
+ {"version":3,"file":"mountMemoryPipeline.js","sourceRoot":"","sources":["../../../src/memory/wire/mountMemoryPipeline.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,8 @@ export declare class Agent extends RunnerBase<AgentInput, AgentOutput> {
71
71
  private readonly costBudget?;
72
72
  private readonly permissionChecker?;
73
73
  private readonly credentialProvider?;
74
+ /** Evidence bridge (#5) — present iff a CAUSAL memory is mounted. */
75
+ private readonly causalEvidence?;
74
76
  /**
75
77
  * Voice config — shared by viewers (Lens, ChatThinkKit, CLI tail).
76
78
  * `appName` is the active actor in narration ("Chatbot called…").
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,11 @@ import type { MemoryDefinition } from '../../memory/define.types.js';
48
48
  export interface AgentChartDeps {
49
49
  /** Memory READ/WRITE pipeline definitions (one per `.memory()`). */
50
50
  readonly memories: readonly MemoryDefinition[];
51
+ /** Evidence bridge (#5): `causalEvidenceRecorder().collect`, threaded into
52
+ * CAUSAL memories' write mounts so snapshots persist real evidence
53
+ * (decisions/toolCalls/iterations/duration/tokens) instead of zeros.
54
+ * Set by the Agent when any mounted memory is CAUSAL. */
55
+ readonly causalEvidenceSource?: () => import('../../memory/causal/evidenceRecorder.js').RunEvidence;
51
56
  /** Cache policy for the system-prompt slot, threaded into
52
57
  * CacheDecision's inputMapper so its decision rules can match. */
53
58
  readonly systemPromptCachePolicy: CachePolicy;
@@ -1 +1 @@
1
- {"version":3,"file":"buildAgentChart.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/buildAgentChart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAE5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AASrE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAE/C;uEACmE;IACnE,QAAQ,CAAC,uBAAuB,EAAE,WAAW,CAAC;IAE9C;kDAC8C;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAG/B,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,GAAG,OAAO,CAAC;IAChE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAGxE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC;IAMrC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEzD;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAG3C;;;;0CAIsC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CA+T/D"}
1
+ {"version":3,"file":"buildAgentChart.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/buildAgentChart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAE5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AASrE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAE/C;;;8DAG0D;IAC1D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,OAAO,yCAAyC,EAAE,WAAW,CAAC;IAEpG;uEACmE;IACnE,QAAQ,CAAC,uBAAuB,EAAE,WAAW,CAAC;IAE9C;kDAC8C;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAG/B,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,GAAG,OAAO,CAAC;IAChE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAGxE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC;IAMrC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEzD;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAG3C;;;;0CAIsC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAkU/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildDynamicAgentChart.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAczD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAgD3D;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CA2TtE"}
1
+ {"version":3,"file":"buildDynamicAgentChart.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAczD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAgD3D;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CA8TtE"}
@@ -1,5 +1,7 @@
1
1
  /**
2
- * Event registry — 45 typed events across 13 domains.
2
+ * Event registry — every typed `agentfootprint.*` event (see ALL_EVENT_TYPES;
3
+ * the event/domain counts in the docs are asserted against this file by
4
+ * test/events/unit/registry.test.ts, so don't hardcode counts here).
3
5
  *
4
6
  * Pattern: Discriminated Union + Typed Factory (Gang of Four adapted for TS).
5
7
  * Role: The stable public event contract — the "ports" of the hexagonal
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/events/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/events/registry.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * EventMeta + shared event vocabulary.
3
3
  *
4
4
  * Pattern: Domain-Driven Design value objects (Evans, 2003).
5
- * Role: Shared vocabulary for all 45 typed events in registry.ts.
5
+ * Role: Shared vocabulary for the typed events in registry.ts.
6
6
  * Emits: (types only — no runtime behavior here).
7
7
  */
8
8
  export type ContextSlot = 'system-prompt' | 'messages' | 'tools';
@@ -0,0 +1,67 @@
1
+ /**
2
+ * causalEvidenceRecorder — the evidence bridge (backlog Phase-1 #5).
3
+ *
4
+ * Harvests, DURING the run, everything a causal snapshot needs beyond
5
+ * (query, finalContent) — from events the engine already fires:
6
+ *
7
+ * stream.tool_start/tool_end → ToolCallRecord (name, args, resultPreview, errored)
8
+ * stream.llm_end → tokenUsage accumulation + iteration high-water
9
+ * agent.turn_start/turn_end → durationMs (+ authoritative totals when seen)
10
+ * FlowRecorder.onDecision → DecisionRecord with footprintjs decide()/select()
11
+ * operator-level evidence (rule, conditions, chosen)
12
+ * context.evaluated routing → DecisionRecord per skill the graph routed to
13
+ *
14
+ * Pattern: CombinedRecorder (Convention 1 — single purpose: evidence
15
+ * accumulation); per-turn reset anchored on `agent.turn_start`
16
+ * (Convention 4 — executor `clear()` resets between runs; same-
17
+ * executor pause/resume PRESERVES pre-pause evidence by design).
18
+ * PII note: tool args/results and decide() evidence persist into snapshots.
19
+ * footprintjs `RedactionPolicy.emitPatterns` redacts the emit channel
20
+ * BEFORE this recorder IF the consumer configures one on the executor
21
+ * — the Agent does NOT configure one by default. Values are bounded
22
+ * (`maxPreviewChars` for results, `maxFieldChars` for args/evidence);
23
+ * treat the snapshot store as PII-bearing and protect it accordingly.
24
+ *
25
+ * The Agent attaches this automatically when a CAUSAL memory is mounted and
26
+ * threads `collect` into the memory write mount (`evidenceSource`) — so
27
+ * `writeSnapshot` persists real evidence instead of zeros.
28
+ */
29
+ import type { FlowDecisionEvent, FlowSelectedEvent } from 'footprintjs';
30
+ import type { DecisionRecord, ToolCallRecord } from './types.js';
31
+ /** What the bridge delivers to `writeSnapshot` for one run. */
32
+ export interface RunEvidence {
33
+ readonly iterations: number;
34
+ readonly decisions: ReadonlyArray<DecisionRecord>;
35
+ readonly toolCalls: ReadonlyArray<ToolCallRecord>;
36
+ readonly durationMs: number;
37
+ readonly tokenUsage: {
38
+ readonly input: number;
39
+ readonly output: number;
40
+ };
41
+ }
42
+ export interface CausalEvidenceRecorderOptions {
43
+ /** Recorder id (default 'causal-evidence'). */
44
+ readonly id?: string;
45
+ /** Max chars kept of each tool result preview. Default 200. */
46
+ readonly maxPreviewChars?: number;
47
+ /** Max serialized chars kept of tool ARGS and decision EVIDENCE (the
48
+ * PII-dense fields). Oversized values are replaced by a truncated
49
+ * preview marker. Default 2000. */
50
+ readonly maxFieldChars?: number;
51
+ }
52
+ export interface CausalEvidenceRecorderHandle {
53
+ readonly id: string;
54
+ /** Snapshot the evidence accumulated for the CURRENT run. */
55
+ collect(): RunEvidence;
56
+ clear(): void;
57
+ onEmit(event: {
58
+ name: string;
59
+ payload: unknown;
60
+ }): void;
61
+ onDecision(event: FlowDecisionEvent): void;
62
+ onSelected(event: FlowSelectedEvent): void;
63
+ }
64
+ /** Build the evidence-harvesting recorder. Attach via `.recorder(rec)` (the
65
+ * Agent does this automatically for CAUSAL memories). */
66
+ export declare function causalEvidenceRecorder(options?: CausalEvidenceRecorderOptions): CausalEvidenceRecorderHandle;
67
+ //# sourceMappingURL=evidenceRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidenceRecorder.d.ts","sourceRoot":"","sources":["../../../../src/memory/causal/evidenceRecorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1E;AAED,MAAM,WAAW,6BAA6B;IAC5C,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;wCAEoC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,OAAO,IAAI,WAAW,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;IAEd,MAAM,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAgCD;0DAC0D;AAC1D,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,4BAA4B,CA8K9B"}
@@ -1,5 +1,6 @@
1
1
  export type { SnapshotEntry, DecisionRecord, ToolCallRecord, ProjectedSnapshot, SnapshotMessage, } from './types.js';
2
2
  export { DEFAULT_TOOL_RESULT_PREVIEW_LEN } from './types.js';
3
+ export { causalEvidenceRecorder, type CausalEvidenceRecorderHandle, type CausalEvidenceRecorderOptions, type RunEvidence, } from './evidenceRecorder.js';
3
4
  export { writeSnapshot, type WriteSnapshotConfig } from './writeSnapshot.js';
4
5
  export { loadSnapshot, type LoadSnapshotConfig } from './loadSnapshot.js';
5
6
  export { snapshotPipeline, type SnapshotPipelineConfig } from './snapshotPipeline.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/memory/causal/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/memory/causal/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,WAAW,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -46,9 +46,9 @@ export interface SnapshotEntry {
46
46
  /**
47
47
  * Decision records collected via `decide()`/`select()` during the
48
48
  * run. Empty when the agent's flowchart didn't use any decision
49
- * primitives. THE killer field: each entry carries the rule that
50
- * matched + the evidence values that satisfied it, enabling
51
- * zero-hallucination "why" follow-ups.
49
+ * primitives. THE killer field (by design): each entry carries the rule
50
+ * that matched + the evidence values that satisfied it. STATUS: persisted
51
+ * EMPTY today — the evidence bridge (backlog #5) wires it.
52
52
  */
53
53
  readonly decisions: ReadonlyArray<DecisionRecord>;
54
54
  /**