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
@@ -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
@@ -14,7 +16,7 @@
14
16
  * major bump. See agentfootprint_v2_detailed_design.md for rules.
15
17
  */
16
18
  // ─── Event type constants ─────────────────────────────────────────────
17
- // Single source of truth for every event name. Low cardinality (~45),
19
+ // Single source of truth for every event name. Low cardinality,
18
20
  // all under the `agentfootprint.` namespace, three-segment dotted form.
19
21
  export const EVENT_NAMES = {
20
22
  composition: {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/events/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","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 {};
@@ -0,0 +1,213 @@
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
+ function preview(value, max) {
30
+ let s;
31
+ if (typeof value === 'string')
32
+ s = value;
33
+ else {
34
+ try {
35
+ s = JSON.stringify(value);
36
+ }
37
+ catch {
38
+ s = String(value);
39
+ }
40
+ }
41
+ return s.length > max ? `${s.slice(0, max)}…` : s;
42
+ }
43
+ /** Bound a record-ish value: oversized serializations become a truncated
44
+ * preview marker so snapshots can't grow unbounded (and PII exposure is
45
+ * capped). Small values pass through untouched. */
46
+ function bounded(value, max) {
47
+ if (value === undefined)
48
+ return undefined;
49
+ try {
50
+ const s = JSON.stringify(value);
51
+ if (s.length <= max)
52
+ return value;
53
+ return { __truncated: `${s.slice(0, max)}…` };
54
+ }
55
+ catch {
56
+ return { __truncated: String(value).slice(0, max) };
57
+ }
58
+ }
59
+ /** Build the evidence-harvesting recorder. Attach via `.recorder(rec)` (the
60
+ * Agent does this automatically for CAUSAL memories). */
61
+ export function causalEvidenceRecorder(options = {}) {
62
+ const maxPreview = options.maxPreviewChars ?? 200;
63
+ const maxField = options.maxFieldChars ?? 2000;
64
+ // ── per-turn accumulators (reset on agent.turn_start; executor clear()
65
+ // resets between runs; pause/resume keeps pre-pause evidence) ──
66
+ let decisions = [];
67
+ let toolCalls = [];
68
+ let pendingTools = new Map();
69
+ let tokens = { input: 0, output: 0 };
70
+ let iterations = 0;
71
+ let turnStartMs;
72
+ let authoritative;
73
+ const reset = () => {
74
+ decisions = [];
75
+ toolCalls = [];
76
+ pendingTools = new Map();
77
+ tokens = { input: 0, output: 0 };
78
+ iterations = 0;
79
+ turnStartMs = undefined;
80
+ authoritative = undefined;
81
+ };
82
+ return {
83
+ id: options.id ?? 'causal-evidence',
84
+ onEmit(event) {
85
+ const { name, payload } = event;
86
+ switch (name) {
87
+ case 'agentfootprint.agent.turn_start':
88
+ // A new turn on the same executor — start fresh (one snapshot per turn).
89
+ reset();
90
+ turnStartMs = Date.now();
91
+ break;
92
+ case 'agentfootprint.stream.tool_start': {
93
+ const id = String(payload.toolCallId ?? '');
94
+ pendingTools.set(id, {
95
+ name: String(payload.toolName ?? 'unknown'),
96
+ args: bounded((payload.args ?? {}), maxField) ?? {},
97
+ });
98
+ break;
99
+ }
100
+ case 'agentfootprint.stream.tool_end': {
101
+ const id = String(payload.toolCallId ?? '');
102
+ const started = pendingTools.get(id);
103
+ pendingTools.delete(id);
104
+ toolCalls.push({
105
+ name: started?.name ?? 'unknown',
106
+ args: started?.args ?? {},
107
+ resultPreview: preview(payload.result, maxPreview),
108
+ errored: payload.error === true,
109
+ });
110
+ break;
111
+ }
112
+ case 'agentfootprint.stream.llm_end': {
113
+ const usage = payload.usage;
114
+ tokens = {
115
+ input: tokens.input + (usage?.input ?? 0),
116
+ output: tokens.output + (usage?.output ?? 0),
117
+ };
118
+ const iter = Number(payload.iteration ?? 0);
119
+ if (iter > iterations)
120
+ iterations = iter;
121
+ break;
122
+ }
123
+ case 'agentfootprint.context.evaluated': {
124
+ // Skill-graph routing provenance → one DecisionRecord per routed skill.
125
+ const routing = payload.routing;
126
+ if (Array.isArray(routing)) {
127
+ for (const r of routing) {
128
+ decisions.push({
129
+ stageId: 'skill-graph',
130
+ chosen: String(r.injectionId ?? r.id ?? 'unknown'),
131
+ ...(r.label !== undefined || r.via !== undefined
132
+ ? { rule: r.label ?? `via ${r.via}` }
133
+ : {}),
134
+ ...(r.path !== undefined && {
135
+ evidence: { path: r.path },
136
+ }),
137
+ });
138
+ }
139
+ }
140
+ break;
141
+ }
142
+ case 'agentfootprint.agent.turn_end': {
143
+ // Authoritative totals when the write runs after turn_end.
144
+ authoritative = {
145
+ iterations: Number(payload.iterationCount ?? iterations),
146
+ input: Number(payload.totalInputTokens ?? tokens.input),
147
+ output: Number(payload.totalOutputTokens ?? tokens.output),
148
+ durationMs: Number(payload.durationMs ?? 0),
149
+ };
150
+ break;
151
+ }
152
+ default:
153
+ break;
154
+ }
155
+ },
156
+ /** footprintjs FlowRecorder channel — decide() decision evidence.
157
+ * FlowDecisionEvent carries `decider` (display name), `chosen`, optional
158
+ * `evidence` from decide(), and `traversalContext.stageId` (the stable,
159
+ * subflow-prefixed stage id — preferred for DecisionRecord.stageId). */
160
+ onDecision(event) {
161
+ const stageId = event.traversalContext?.stageId ?? event.decider;
162
+ // Internal agent plumbing (the cache-gate decider) is not domain
163
+ // decision evidence. `includes` (not startsWith): in reactMode
164
+ // 'dynamic-grouped' the names are double-prefixed
165
+ // ('sf-llm-call/sf-cache/…').
166
+ if (String(event.chosen ?? '').includes('sf-cache/') || String(stageId).includes('sf-cache'))
167
+ return;
168
+ const evidence = event.evidence;
169
+ decisions.push({
170
+ stageId: String(stageId),
171
+ chosen: String(event.chosen ?? 'unknown'),
172
+ ...(evidence?.label !== undefined || evidence?.rule !== undefined
173
+ ? { rule: String(evidence.label ?? evidence.rule) }
174
+ : {}),
175
+ ...(evidence !== undefined && {
176
+ evidence: bounded(evidence, maxField),
177
+ }),
178
+ });
179
+ },
180
+ /** footprintjs FlowRecorder channel — select() selection evidence. */
181
+ onSelected(event) {
182
+ const stageId = event.traversalContext?.stageId ?? event.parent;
183
+ if (String(stageId).includes('sf-cache'))
184
+ return;
185
+ // The agent's own Context slot-fork is a selector — plumbing, not domain.
186
+ if (String(stageId).includes('context') && event.selected.every((s) => s.startsWith('sf-')))
187
+ return;
188
+ decisions.push({
189
+ stageId: String(stageId),
190
+ chosen: event.selected.join(', '),
191
+ ...(event.evidence !== undefined && {
192
+ evidence: bounded(event.evidence, maxField),
193
+ }),
194
+ });
195
+ },
196
+ collect() {
197
+ return {
198
+ iterations: authoritative?.iterations ?? iterations,
199
+ decisions: [...decisions],
200
+ toolCalls: [...toolCalls],
201
+ durationMs: authoritative?.durationMs ?? (turnStartMs !== undefined ? Date.now() - turnStartMs : 0),
202
+ tokenUsage: {
203
+ input: authoritative?.input ?? tokens.input,
204
+ output: authoritative?.output ?? tokens.output,
205
+ },
206
+ };
207
+ },
208
+ clear() {
209
+ reset();
210
+ },
211
+ };
212
+ }
213
+ //# 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,4 +1,5 @@
1
1
  export { DEFAULT_TOOL_RESULT_PREVIEW_LEN } from './types.js';
2
+ export { causalEvidenceRecorder, } from './evidenceRecorder.js';
2
3
  export { writeSnapshot } from './writeSnapshot.js';
3
4
  export { loadSnapshot } from './loadSnapshot.js';
4
5
  export { snapshotPipeline } from './snapshotPipeline.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/memory/causal/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,aAAa,EAA4B,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAA+B,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/memory/causal/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EACL,sBAAsB,GAIvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAA4B,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAA+B,MAAM,uBAAuB,CAAC"}
@@ -78,15 +78,29 @@ function formatProjection(entry, projection, score) {
78
78
  const header = `[Past run · query: "${truncate(snap.query, 80)}" · score: ${score.toFixed(2)}]`;
79
79
  let body;
80
80
  switch (projection) {
81
- case SNAPSHOT_PROJECTIONS.DECISIONS:
81
+ case SNAPSHOT_PROJECTIONS.DECISIONS: {
82
+ // Tool evidence is part of the "why": in LLM-decided flows the
83
+ // operator-level facts (creditScore=580, dti=0.45) arrive as tool
84
+ // results, so the decisions projection includes them.
85
+ // SECURITY: this replays STORED TOOL OUTPUT into a future prompt — a
86
+ // persisted prompt-injection surface if tools ingest untrusted content.
87
+ // Treat snapshot stores as prompt-trusted; sanitize tool output at the
88
+ // tool boundary when it carries third-party text.
89
+ const toolLines = snap.toolCalls.length === 0
90
+ ? ''
91
+ : `\nTool evidence:\n${snap.toolCalls
92
+ .map((t) => `- ${t.name}(${JSON.stringify(t.args)}) → ${t.resultPreview}` +
93
+ (t.errored ? ' [ERROR]' : ''))
94
+ .join('\n')}`;
82
95
  body =
83
- snap.decisions.length === 0
96
+ snap.decisions.length === 0 && snap.toolCalls.length === 0
84
97
  ? `(no decision evidence captured)\nFinal answer: ${snap.finalContent}`
85
- : snap.decisions
98
+ : `${snap.decisions
86
99
  .map((d) => `- ${d.stageId} → "${d.chosen}"${d.rule ? ` (rule: ${d.rule})` : ''}` +
87
100
  (d.evidence ? `; evidence: ${JSON.stringify(d.evidence)}` : ''))
88
- .join('\n');
101
+ .join('\n')}${toolLines}\nFinal answer: ${snap.finalContent}`;
89
102
  break;
103
+ }
90
104
  case SNAPSHOT_PROJECTIONS.NARRATIVE:
91
105
  body = snap.narrative ?? `(no narrative captured)\nFinal answer: ${snap.finalContent}`;
92
106
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"loadSnapshot.js","sourceRoot":"","sources":["../../../../src/memory/causal/loadSnapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadSnapshot.js","sourceRoot":"","sources":["../../../../src/memory/causal/loadSnapshot.ts"],"names":[],"mappings":"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"}
@@ -46,14 +46,18 @@ export function writeSnapshot(config) {
46
46
  }));
47
47
  const now = Date.now();
48
48
  const ttl = config.ttlMs ? now + config.ttlMs : undefined;
49
+ // Evidence bridge (#5): the wire layer delivers run evidence harvested by
50
+ // `causalEvidenceRecorder` via the write mount's `evidenceSource`. Absent
51
+ // (non-agent hosts, no recorder attached) → zeros, as before.
52
+ const evidence = scope.runEvidence;
49
53
  const snapshot = {
50
54
  query,
51
55
  finalContent,
52
- iterations: 0, // TODO: capture from scope when wire helper exposes it
53
- decisions: [], // Populated by a follow-up FlowRecorder integration
54
- toolCalls: [], // Populated by a follow-up FlowRecorder integration
55
- durationMs: 0,
56
- tokenUsage: { input: 0, output: 0 },
56
+ iterations: evidence?.iterations ?? 0,
57
+ decisions: evidence?.decisions ?? [],
58
+ toolCalls: evidence?.toolCalls ?? [],
59
+ durationMs: evidence?.durationMs ?? 0,
60
+ tokenUsage: evidence?.tokenUsage ?? { input: 0, output: 0 },
57
61
  };
58
62
  const entry = {
59
63
  id: `snap-${turn}`,
@@ -1 +1 @@
1
- {"version":3,"file":"writeSnapshot.js","sourceRoot":"","sources":["../../../../src/memory/causal/writeSnapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA0CH,MAAM,UAAU,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"}
1
+ {"version":3,"file":"writeSnapshot.js","sourceRoot":"","sources":["../../../../src/memory/causal/writeSnapshot.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,8 @@
44
44
  * - `SEMANTIC` — extracted structured facts, deduped on key
45
45
  * - `NARRATIVE` — beats / summaries of prior runs (append-only)
46
46
  * - `CAUSAL` — footprintjs execution snapshots, the differentiator
47
- * (zero-hallucination follow-ups via decision-evidence replay)
47
+ * (replays stored decisions + tool evidence for "why?"
48
+ * follow-ups — harvested automatically per run)
48
49
  */
49
50
  export const MEMORY_TYPES = {
50
51
  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;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,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;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AA+MX,uEAAuE;AAEvE,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,aAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,2BAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../../src/memory/define.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH,uEAAuE;AAEvE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,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;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AA+MX,uEAAuE;AAEvE,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,aAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,2BAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;AACrD,CAAC"}
@@ -40,7 +40,11 @@ export function mountMemoryRead(builder, config) {
40
40
  // like `loadRelevant` derive the query from the last user
41
41
  // message here. The write-side `newMessages` field is empty
42
42
  // during read; these are two different concerns.
43
- messages: parentState.messages ?? [],
43
+ // Agents carry the conversation as `history`; bare hosts may use
44
+ // `messages`. Without this fallback, read stages that derive the query
45
+ // from the last user message (loadSnapshot/loadRelevant) saw [] inside
46
+ // an Agent and silently injected nothing — the causal READ never fired.
47
+ messages: parentState.messages ?? parentState.history ?? [],
44
48
  newMessages: [], // write side unused in read subflow
45
49
  }),
46
50
  outputMapper: (subflowState) => ({
@@ -66,6 +70,11 @@ export function mountMemoryWrite(builder, config) {
66
70
  turnNumber: parentState[turnNumberKey],
67
71
  contextTokensRemaining: parentState[contextTokensKey] ?? 0,
68
72
  newMessages: parentState[newMessagesKey] ?? [],
73
+ // Evidence bridge (#5): harvested run evidence for causal writeSnapshot.
74
+ // Closure-delivered (no PARENT-scope write) — note it DOES land in the
75
+ // write subflow's own tracked scope/commit log, like newMessages; the
76
+ // values are already observable as events, so no new exposure class.
77
+ ...(config.evidenceSource && { runEvidence: config.evidenceSource() }),
69
78
  }),
70
79
  // No outputMapper — write has no parent-visible output.
71
80
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mountMemoryPipeline.js","sourceRoot":"","sources":["../../../../src/memory/wire/mountMemoryPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mountMemoryPipeline.js","sourceRoot":"","sources":["../../../../src/memory/wire/mountMemoryPipeline.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * Event registry — 45 typed events across 13 domains.
3
+ * Event registry — every typed `agentfootprint.*` event (see ALL_EVENT_TYPES;
4
+ * the event/domain counts in the docs are asserted against this file by
5
+ * test/events/unit/registry.test.ts, so don't hardcode counts here).
4
6
  *
5
7
  * Pattern: Discriminated Union + Typed Factory (Gang of Four adapted for TS).
6
8
  * Role: The stable public event contract — the "ports" of the hexagonal
@@ -17,7 +19,7 @@
17
19
  Object.defineProperty(exports, "__esModule", { value: true });
18
20
  exports.ALL_EVENT_TYPES = exports.EVENT_NAMES = void 0;
19
21
  // ─── Event type constants ─────────────────────────────────────────────
20
- // Single source of truth for every event name. Low cardinality (~45),
22
+ // Single source of truth for every event name. Low cardinality,
21
23
  // all under the `agentfootprint.` namespace, three-segment dotted form.
22
24
  exports.EVENT_NAMES = {
23
25
  composition: {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/events/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/events/registry.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * EventMeta + shared event vocabulary.
4
4
  *
5
5
  * Pattern: Domain-Driven Design value objects (Evans, 2003).
6
- * Role: Shared vocabulary for all 45 typed events in registry.ts.
6
+ * Role: Shared vocabulary for the typed events in registry.ts.
7
7
  * Emits: (types only — no runtime behavior here).
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });