@atrib/recall 0.10.0 → 0.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.
package/README.md CHANGED
@@ -16,6 +16,11 @@ The base filter-rank-page tool over the local mirror.
16
16
  mcp__atrib-recall__recall_my_attribution_history({
17
17
  // All optional
18
18
  context_id?: string, // 32-hex. Filter to records signed under this trace.
19
+ creator_key?: string, // Ed25519 public key, base64url. Filter to records signed by this
20
+ // specific creator. The tool's name says "my history" but the local
21
+ // mirror may hold records from other signers (multi-agent flows,
22
+ // transactions with counterparty signatures, etc.); use this filter
23
+ // to scope strictly to your own past.
19
24
  event_type?: 'tool_call' | 'transaction' | 'annotation' | 'revision',
20
25
  // Filter to a single event kind. Short-form names are normalized
21
26
  // to the URI form.
@@ -70,9 +75,15 @@ Every call to this tool (and every sibling tool below) writes a per-call jsonl e
70
75
 
71
76
  - `mcp__atrib-recall__recall_annotations({ record_hash })` - returns the aggregated annotation summary (max_importance, union of topics, latest summary) for the target record. Returns `annotations: null` when no annotation points at the record.
72
77
 
73
- - `mcp__atrib-recall__recall_revisions({ record_hash })` - returns the forward revision chain for the target record. Each entry's revises field points at the prior entry; the chain follows the first-by-timestamp revision at each step. Sibling fan-out (parallel revisions of the same target) requires calling `recall_my_attribution_history` with event_type=revision and inspecting `content.revises` manually.
78
+ - `mcp__atrib-recall__recall_revisions({ record_hash })` - returns the forward revision chain for the target record. Each chain entry carries `record_hash`, `timestamp`, and the [D086](../../DECISIONS.md#d086-bm25-corpus-extended-from-annotations-to-per-event_type-record-content)-normative content fields (`new_position`, `reason`, `importance`) when present, so the agent can read the chain inline without follow-up `recall` calls per revision. The chain follows the first-by-timestamp revision at each step; when more than one revision targets the same record (sibling fan-out, common in multi-agent flows), the other branch heads are listed on that step's entry as `sibling_hashes`, so the agent can recursively call `recall_revisions` on a sibling to traverse a parallel branch instead of having to manually enumerate revisions via `recall_my_attribution_history`.
74
79
 
75
- - `mcp__atrib-recall__recall_by_content({ query, k? })` - BM25 free-form retrieval over each record's annotation summary + topic_tags, then reranked by Park et al. weighted-sum scoring (recency + importance + relevance). Default k=10, max 50. Records with no annotation contribute no relevance signal (will only surface via the recency + importance fallback). Layer 2 (sqlite-vec sidecar, separate ship) extends with embedding similarity over the same indexed text.
80
+ - `mcp__atrib-recall__recall_by_content({ query, k? })` - BM25 free-form retrieval over each record's indexable text + the annotation summary + topic_tags (when present), then reranked by Park et al. weighted-sum scoring (recency + importance + relevance). Default k=10, max 50. Per [D086](../../DECISIONS.md#d086-bm25-corpus-extended-from-annotations-to-per-event_type-record-content), "indexable text" is per-event_type record content from the [D062](../../DECISIONS.md#d062-local-mirror-sidecar-two-tier-private-local--public-canonical-persistence) sidecar (observation: `what + why_noted + topics`; tool_call: `tool_name + args excerpt + result excerpt`; annotation: `summary + topics`; revision: `prior_position + new_position + reason + topics`; transaction: counterparty + memo + protocol fields; directory_anchor: `tree_root + epoch_id`). Extension URIs fall back to a generic recursive string-walk (depth ≤ 4, field cap 2KB). BM25 contribution is clamped to [0, 1] in the parkScore site so the documented Park-component bound is honored. Layer 2 (sqlite-vec sidecar, separate ship) extends with embedding similarity over the same indexed text.
81
+
82
+ - `mcp__atrib-recall__recall_session_chain({ context_id?, limit? })` - returns all records in a context_id, ordered chronologically (oldest-first). The natural traversal of the CHAIN_PRECEDES topology for a single session/trace. Each entry carries `record_hash`, `event_type`, `timestamp`, `display_summary`, `display_producer`, and `age`. When `context_id` is omitted, falls back to `resolveEnvContextId` (the same precedence as the other tools: `ATRIB_CONTEXT_ID` env, then a [D083](../../DECISIONS.md#d083-harness-session-id-discovery-extends-d078-for-cognitive-primitive-mcp-servers)-registered harness env like `CLAUDE_CODE_SESSION_ID`).
83
+
84
+ - `mcp__atrib-recall__recall_orphans({ context_id?, event_type?, creator_key?, limit? })` - returns records that are NOT cited by any other record via `informed_by` (loose ends — decisions or observations the agent made but never followed up on). Optionally scoped to one context_id, one event_type, or one creator_key. Newest-first ordering. Useful for the agent to discover dropped balls (e.g. "I noted X but never built on it").
85
+
86
+ - `mcp__atrib-recall__recall_by_signer({ min_records? })` - aggregates the local mirror by `creator_key`. Returns distinct creators present + per-creator record count + earliest/latest timestamp. Pure aggregation; no records returned directly — use `recall_my_attribution_history` with the `creator_key` filter to drill into one creator's records. Useful when the mirror is multi-signer.
76
87
 
77
88
  ### Tunable weights
78
89
 
@@ -84,7 +95,7 @@ The Park et al. ranking weights and recency time constant are environment-tunabl
84
95
  | `ATRIB_RECALL_BETA` | 0.3 | Importance component weight |
85
96
  | `ATRIB_RECALL_GAMMA` | 0.4 | Relevance (BM25) component weight |
86
97
  | `ATRIB_RECALL_TAU_DAYS` | 7 | Exponential-decay time constant for recency |
87
- | `ATRIB_RECALL_NOISE_FLOOR` | 0.15 | Anti-noise threshold for `rank_by=relevance` (see below) |
98
+ | `ATRIB_RECALL_NOISE_FLOOR` | 0.6 | Anti-noise threshold for `rank_by=relevance` (see below) |
88
99
 
89
100
  The implementation does not enforce that alpha + beta + gamma sum to 1.0; the operator-facing defaults do. See [D085](../../DECISIONS.md#d085-recall-calibration-defaults-survey-grounded-rationale) for the survey-grounded rationale: `ALPHA=0.3` matches CrewAI's `recency_weight=0.3` (the only normalized-weights peer in a 2026-05-23 OSS survey); `TAU_DAYS=7` produces a ~4.85-day half-life inside the field range and close to Park et al.'s ~5.75-day empirical anchor.
90
101
 
package/dist/index.d.ts CHANGED
@@ -27,6 +27,15 @@ export declare function loadRecordsFromDir(dir: string): {
27
27
  };
28
28
  interface RecallArgs {
29
29
  context_id?: string;
30
+ /**
31
+ * Optional exact match on `record.creator_key` (Ed25519 public key,
32
+ * base64url-encoded). Filters the local mirror to records signed by
33
+ * one specific creator. The tool's name says "my attribution history"
34
+ * but the local mirror may hold records from other signers (multi-
35
+ * agent flows, transactions with counterparty signatures, etc.). Use
36
+ * this filter to scope strictly to your own past.
37
+ */
38
+ creator_key?: string;
30
39
  event_type?: 'tool_call' | 'transaction' | 'annotation' | 'revision';
31
40
  /**
32
41
  * Optional exact match on `record.content_id` (`sha256:<64-hex>`). Per spec
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@
33
33
  */
34
34
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
35
35
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
36
- import { verifyRecord, EVENT_TYPE_TOOL_CALL_URI, EVENT_TYPE_TRANSACTION_URI, EVENT_TYPE_ANNOTATION_URI, EVENT_TYPE_REVISION_URI, resolveEnvContextId, logReadPrimitiveCall, extractRecordHashesFromMcpResult, } from '@atrib/mcp';
36
+ import { verifyRecord, EVENT_TYPE_TOOL_CALL_URI, EVENT_TYPE_TRANSACTION_URI, EVENT_TYPE_ANNOTATION_URI, EVENT_TYPE_REVISION_URI, EVENT_TYPE_OBSERVATION_URI, EVENT_TYPE_DIRECTORY_ANCHOR_URI, resolveEnvContextId, logReadPrimitiveCall, extractRecordHashesFromMcpResult, } from '@atrib/mcp';
37
37
  // Short-form event_type names accepted by the recall MCP schema map onto
38
38
  // their atrib-normative URI form (spec §1.2.4). Records sign the URI form
39
39
  // per §1.4.5 + isValidEventTypeUri; without this mapping, a recall caller
@@ -44,6 +44,8 @@ const EVENT_TYPE_SHORT_TO_URI = {
44
44
  transaction: EVENT_TYPE_TRANSACTION_URI,
45
45
  annotation: EVENT_TYPE_ANNOTATION_URI,
46
46
  revision: EVENT_TYPE_REVISION_URI,
47
+ observation: EVENT_TYPE_OBSERVATION_URI,
48
+ directory_anchor: EVENT_TYPE_DIRECTORY_ANCHOR_URI,
47
49
  };
48
50
  export const IMPORTANCE_NUMERIC = {
49
51
  critical: 5,
@@ -82,13 +84,31 @@ export const ATRIB_RECALL_TAU_DAYS = parseFloat(process.env.ATRIB_RECALL_TAU_DAY
82
84
  // Park score is below this floor, recall returns empty records + a
83
85
  // "below_threshold" quality signal rather than a low-confidence top-K.
84
86
  //
85
- // Default 0.15 derivation: each Park component (recency, importance,
86
- // relevance) is normalized to [0, 1]; ATRIB_RECALL_ALPHA defaults to
87
- // 0.3. A record with "decent recency (~0.5), no annotation (importance
88
- // 0), no topic match, no BM25 hit (relevance 0)" scores alpha * 0.5 =
89
- // 0.15 — right at the floor. Anything BELOW that is effectively pure
90
- // noise (stale records with no signal). The threshold trains the agent
91
- // "recall returns when it has something; trust the absence."
87
+ // Default 0.6 derivation (D086 recalibration):
88
+ // - Pre-D086 the BM25 corpus was annotation-summary-only, leaving 99%+
89
+ // of records un-indexable for content queries. The previous floor of
90
+ // 0.15 was derived as "alpha * 0.5 = recency-only median-aged
91
+ // record" under the assumption Park components stay in [0, 1].
92
+ // - D086 extends the BM25 corpus to per-event_type record content via
93
+ // `extractIndexableText` from @atrib/mcp. Empirically against the
94
+ // 2026-05-24 operator mirror (14,363 records), 84.6% of records now
95
+ // produce non-zero indexable tokens (avg 75.6 tokens/doc), and the
96
+ // parkScore site clamps raw BM25 to [0, 1] so the documented Park-
97
+ // component bound is honored.
98
+ // - Calibration sweep (scripts/calibration-sweep-d086.mjs) measured:
99
+ // real-query top_park min=0.6985 max=0.9549 avg=0.7971
100
+ // nonsense-query top_park min=0.5572 max=0.6895 avg=0.5704
101
+ // Recent + annotated records baseline at ~0.55 from alpha*1.0 +
102
+ // beta*importance alone (no BM25 needed). Pre-D086 floor of 0.15 is
103
+ // a no-op against the new corpus — every record passes.
104
+ // - 0.6 sits between the recent+annotated-only baseline (~0.55) and the
105
+ // real-query minimum (0.6985). It filters the "active mirror, no
106
+ // meaningful relevance" case while preserving real recall results.
107
+ // Some nonsense queries with incidental BM25 hits (up to 0.6895) will
108
+ // still pass; the tight ~0.01 empirical gap between real-min and
109
+ // nonsense-max means a higher floor would also kill the lowest-
110
+ // scoring real query. Final calibration deferred to the gold-standard
111
+ // sweep (queued post-D085).
92
112
  //
93
113
  // NOVEL IN FIELD: the 2026-05-23 survey of comparable systems (Park et
94
114
  // al., MemGPT/Letta, A-MEM, MemoryBank, Mem0, LangChain, LlamaIndex,
@@ -97,24 +117,15 @@ export const ATRIB_RECALL_TAU_DAYS = parseFloat(process.env.ATRIB_RECALL_TAU_DAY
97
117
  // field convention is "always return something, let the agent decide
98
118
  // it's noise." atrib's inversion is a deliberate protocol choice (lower
99
119
  // hallucination risk from low-confidence context); it should be
100
- // defended as innovation, not assumed convention. See ADR D085. The
101
- // derivation is internally consistent but empirically un-validated;
102
- // a gold-standard eval sweep is queued to either reaffirm or
103
- // recommend revising this floor.
104
- //
105
- // CAVEAT: on active mirrors with constant fresh tool-call activity, the
106
- // best record's recency component is ~1.0, so alpha * 1.0 = 0.3 > 0.15
107
- // and the floor never trips. The threshold catches the "stale mirror,
108
- // nothing relevant" case correctly per design, but not the "active
109
- // mirror, nonsense query" case. If ALPHA is changed, this default may
110
- // need to be revisited. Set the env var to 0 to disable entirely.
111
- export const ATRIB_RECALL_NOISE_FLOOR = parseFloat(process.env.ATRIB_RECALL_NOISE_FLOOR ?? '0.15');
120
+ // defended as innovation, not assumed convention. See ADR D085 + D086.
121
+ // Set the env var to 0 to disable entirely.
122
+ export const ATRIB_RECALL_NOISE_FLOOR = parseFloat(process.env.ATRIB_RECALL_NOISE_FLOOR ?? '0.6');
112
123
  import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
113
124
  import { homedir } from 'node:os';
114
125
  import { join } from 'node:path';
115
126
  import { z } from 'zod';
116
127
  import { aggregateAnnotationsByRecord, aggregateRevisionsByRecord, discoverLoaded, } from './aggregations.js';
117
- import { recencyScore, importanceScore, parkScore, buildBM25Index, bm25Score, tokenize, indexableTextFromAnnotation, } from './scoring.js';
128
+ import { recencyScore, importanceScore, parkScore, buildBM25Index, bm25Score, tokenize, indexableTokensForRecord, } from './scoring.js';
118
129
  import { buildLocalGraph, shortestDistances, walkFrom, } from './graph.js';
119
130
  import { synthesizeDisplaySummary, resolveDisplayProducer, formatAge, } from './legibility.js';
120
131
  const ATRIB_RECORD_FILE = process.env.ATRIB_RECORD_FILE;
@@ -239,12 +250,14 @@ function rankByRelevance(filtered, annotationsByRecord, rankAnchor) {
239
250
  // contribute 0 relevance (recency + importance only).
240
251
  const looksLikeRecordHash = typeof rankAnchor === 'string' && /^sha256:[0-9a-f]{64}$/.test(rankAnchor);
241
252
  const queryTokens = rankAnchor && !looksLikeRecordHash ? tokenize(rankAnchor) : [];
242
- // Build the BM25 index over the filtered set's indexable text. Index
243
- // construction is O(total token count); for Layer 1 corpus sizes this
244
- // is negligible (a few hundred records × tens of tokens each).
253
+ // Build the BM25 index over the filtered set's indexable text. Per
254
+ // D086, indexable text is per-event_type record content (from the D062
255
+ // sidecar) augmented by any annotation summary + topics when present.
256
+ // Index construction is O(total token count); for Layer 1 corpus sizes
257
+ // (a few hundred records × tens of tokens each) this is negligible.
245
258
  const corpus = filtered.map((lr) => ({
246
259
  id: lr.record_hash,
247
- tokens: indexableTextFromAnnotation(annotationsByRecord.get(lr.record_hash)),
260
+ tokens: indexableTokensForRecord(lr, annotationsByRecord.get(lr.record_hash)),
248
261
  }));
249
262
  const idx = buildBM25Index(corpus);
250
263
  const scores = new Map();
@@ -252,9 +265,18 @@ function rankByRelevance(filtered, annotationsByRecord, rankAnchor) {
252
265
  for (const lr of filtered) {
253
266
  const r = recencyScore(lr.record.timestamp, now, ATRIB_RECALL_TAU_DAYS);
254
267
  const i = importanceScore(annotationsByRecord.get(lr.record_hash));
255
- const rel = queryTokens.length > 0
268
+ // Raw bm25Score is unbounded (idf * tf-saturation per query term;
269
+ // can exceed 1.0 for queries with many matching terms against short
270
+ // docs). Clamp to [0, 1] so the Park-component bound documented in
271
+ // the scoring module is actually honored. Pre-D086 the annotation-
272
+ // only corpus made this clamp moot (most records produced 0); D086
273
+ // extends BM25 over record content so high-relevance hits routinely
274
+ // exceed 1.0 and would otherwise dominate parkScore and invalidate
275
+ // the noise-floor calibration.
276
+ const rawRel = queryTokens.length > 0
256
277
  ? bm25Score(idx, lr.record_hash, queryTokens)
257
278
  : 0;
279
+ const rel = Math.min(rawRel, 1);
258
280
  const s = parkScore(r, i, rel, ATRIB_RECALL_ALPHA, ATRIB_RECALL_BETA, ATRIB_RECALL_GAMMA);
259
281
  scores.set(lr.record_hash, s);
260
282
  if (s > topScore)
@@ -410,6 +432,9 @@ export async function recall(args, recordFile) {
410
432
  let filtered = all;
411
433
  if (effectiveContextId)
412
434
  filtered = filtered.filter((lr) => lr.record.context_id === effectiveContextId);
435
+ if (args.creator_key) {
436
+ filtered = filtered.filter((lr) => lr.record.creator_key === args.creator_key);
437
+ }
413
438
  if (args.event_type) {
414
439
  // Schema accepts short form ('tool_call'|'transaction'); records carry
415
440
  // the URI form. Normalize before comparison; pass URIs through as-is so
@@ -472,13 +497,15 @@ export async function recall(args, recordFile) {
472
497
  filtered.sort((a, b) => b.record.timestamp - a.record.timestamp);
473
498
  }
474
499
  // Layer 1 v2 anti-noise threshold: when rank_by='relevance' and the
475
- // top Park score falls below ATRIB_RECALL_NOISE_FLOOR (default 0.15),
476
- // return empty records + a "below_threshold" quality signal instead of
477
- // a low-confidence top-K. The 0.15 default is approximately the score
478
- // of "no annotation, no topic match, no BM25 hit, just decent recency"
479
- // (alpha * 0.5 with alpha=0.3). Below that, results are effectively
480
- // noise and training the agent to scan + dismiss them costs more than
481
- // returning nothing.
500
+ // top Park score falls below ATRIB_RECALL_NOISE_FLOOR (default 0.6 per
501
+ // D086), return empty records + a "below_threshold" quality signal
502
+ // instead of a low-confidence top-K. The 0.6 default sits between the
503
+ // recent+annotated-only baseline (~0.55) and the real-query minimum
504
+ // (~0.70) observed empirically against the 2026-05-24 operator mirror.
505
+ // Below that, results are effectively noise and training the agent to
506
+ // scan + dismiss them costs more than returning nothing. See ADR D086
507
+ // for the full derivation + the constant declaration above for the
508
+ // calibration sweep details.
482
509
  if (args.rank_by === 'relevance' &&
483
510
  relevanceTopScore !== undefined &&
484
511
  relevanceTopScore < ATRIB_RECALL_NOISE_FLOOR) {
@@ -590,6 +617,15 @@ server.registerTool('recall_my_attribution_history', {
590
617
  .optional()
591
618
  .describe('Optional trace identifier (32 hex chars). Limits results to records signed within this trace. ' +
592
619
  'Omit for cross-trace recall.'),
620
+ creator_key: z
621
+ .string()
622
+ .optional()
623
+ .describe("Optional exact match on record.creator_key (base64url-encoded Ed25519 public key, 43 chars). " +
624
+ "Filters the local mirror to records signed by this specific creator. Omit to see all signers " +
625
+ "present in the mirror; the tool name says 'my attribution history' but the mirror may contain " +
626
+ "records from other creators when multi-agent flows ship records into a shared mirror. Use " +
627
+ "your own creator_key (resolvable from the @atrib/cli key-show output, or `getPublicKey()` " +
628
+ "called on your seed) when you want to scope strictly to your own past."),
593
629
  event_type: z
594
630
  .enum(['tool_call', 'transaction'])
595
631
  .optional()
@@ -808,7 +844,7 @@ server.registerTool('recall_annotations', {
808
844
  };
809
845
  }, extractRecordHashesFromMcpResult));
810
846
  server.registerTool('recall_revisions', {
811
- description: "Return the D059 revision chain for a record. Walks revises edges forward from the given record_hash, surfacing each revision in turn. The chain is the linked list of revisions where each revision's revises field points at the prior entry. Useful for checking whether a position the agent previously held has been revised before acting on it. Returns an empty chain when no revision points at the record.",
847
+ description: "Return the D059 revision chain for a record, with per-entry content + sibling-fan-out awareness. Walks revises edges forward from the given record_hash, surfacing each revision in turn. Each entry carries the revision's record_hash, timestamp, and content (`new_position`, `reason`, `importance`) so the agent can read the chain inline without follow-up recall calls per entry. When more than one revision targets the same record, the chain follows the first-by-timestamp branch and lists the other branch heads as `sibling_hashes` on that entry so the agent learns about parallel revision branches (common in multi-agent flows). Useful for checking whether a position the agent previously held has been revised before acting on it. Returns an empty chain when no revision points at the record.",
812
848
  inputSchema: {
813
849
  record_hash: z
814
850
  .string()
@@ -816,11 +852,10 @@ server.registerTool('recall_revisions', {
816
852
  },
817
853
  }, async (args) => logReadPrimitiveCall('recall_revisions', args, async () => {
818
854
  const { loaded } = discoverLoaded();
855
+ const byHash = new Map();
856
+ for (const lr of loaded)
857
+ byHash.set(lr.record_hash, lr);
819
858
  const revisionsByRecord = aggregateRevisionsByRecord(loaded);
820
- // Walk the chain forward: the input record may be revised by R1;
821
- // R1 may be revised by R2; collect them in order. Bounded by the
822
- // mirror size (no cycles since timestamps are monotonic per
823
- // signer; defensive seen-set anyway).
824
859
  const chain = [];
825
860
  const seen = new Set();
826
861
  let current = args.record_hash;
@@ -830,12 +865,31 @@ server.registerTool('recall_revisions', {
830
865
  if (!next || next.length === 0)
831
866
  break;
832
867
  // Each entry in the map's value array is a revision pointing at
833
- // `current`. Convention: the chain follows the first-by-timestamp
834
- // revision; agents wanting the full sibling fan-out (parallel
835
- // revisions at the same target) should call recall_my_attribution_history
836
- // with event_type=revision and inspect their revises field manually.
868
+ // `current`. The chain follows the first-by-timestamp revision;
869
+ // the remaining entries are surfaced as `sibling_hashes` so the
870
+ // agent learns that branches exist without the chain shape
871
+ // having to explode into a tree.
837
872
  const revHash = next[0];
838
- chain.push(revHash);
873
+ const siblings = next.slice(1);
874
+ const revLr = byHash.get(revHash);
875
+ const entry = { record_hash: revHash };
876
+ if (revLr) {
877
+ entry.timestamp = revLr.record.timestamp;
878
+ const c = revLr.content;
879
+ if (c && typeof c === 'object' && !Array.isArray(c)) {
880
+ const cObj = c;
881
+ if (typeof cObj.new_position === 'string')
882
+ entry.new_position = cObj.new_position;
883
+ if (typeof cObj.reason === 'string')
884
+ entry.reason = cObj.reason;
885
+ if (typeof cObj.importance === 'string')
886
+ entry.importance = cObj.importance;
887
+ }
888
+ }
889
+ if (siblings.length > 0) {
890
+ entry.sibling_hashes = siblings;
891
+ }
892
+ chain.push(entry);
839
893
  current = revHash;
840
894
  }
841
895
  return {
@@ -848,7 +902,7 @@ server.registerTool('recall_revisions', {
848
902
  };
849
903
  }, extractRecordHashesFromMcpResult));
850
904
  server.registerTool('recall_by_content', {
851
- description: "Free-form text search over the agent's signed past. Returns top-k records by hybrid retrieval: BM25 over each record's annotation summary + topics, then reranked by Park et al. weighted-sum scoring with annotation-derived importance and recency signals. Layer 2 (sqlite-vec sidecar, separate ship) extends with embedding similarity. Useful when the agent has no specific filter and needs to ask 'what do I know about X?'.",
905
+ description: "Free-form text search over the agent's signed past. Returns top-k records by hybrid retrieval: BM25 over each record's per-event_type indexable text (observation `what + why_noted + topics`; tool_call `tool_name + args + result`; annotation `summary + topics`; revision `prior_position + new_position + reason + topics`; transaction counterparty + memo; directory_anchor tree_root; extension URIs via generic recursive string-walk per D086) plus the annotation summary + topics when present as a curator-quality lift. Reranked by Park et al. weighted-sum scoring with annotation-derived importance and recency signals; BM25 contribution clamped to [0, 1] so the documented Park-component bound is honored. Layer 2 (sqlite-vec sidecar, separate ship) extends with embedding similarity. Useful when the agent has no specific filter and needs to ask 'what do I know about X?'.",
852
906
  inputSchema: {
853
907
  query: z
854
908
  .string()
@@ -864,7 +918,7 @@ server.registerTool('recall_by_content', {
864
918
  const queryTokens = tokenize(args.query);
865
919
  const corpus = loaded.map((lr) => ({
866
920
  id: lr.record_hash,
867
- tokens: indexableTextFromAnnotation(annotationsByRecord.get(lr.record_hash)),
921
+ tokens: indexableTokensForRecord(lr, annotationsByRecord.get(lr.record_hash)),
868
922
  }));
869
923
  const idx = buildBM25Index(corpus);
870
924
  const now = Date.now();
@@ -914,6 +968,197 @@ server.registerTool('recall_by_content', {
914
968
  ],
915
969
  };
916
970
  }, extractRecordHashesFromMcpResult));
971
+ // recall_session_chain: records in a context_id, ordered chronologically
972
+ // (the natural traversal of the CHAIN_PRECEDES topology). Doable via
973
+ // recall_my_attribution_history({context_id}) + a manual timestamp sort,
974
+ // but agents naturally think "what happened in this session?" and this
975
+ // gives them one call.
976
+ server.registerTool('recall_session_chain', {
977
+ description: "Return all records in a context_id, ordered chronologically (oldest-first). The natural traversal of the CHAIN_PRECEDES topology for a single session/trace. Each entry carries record_hash, event_type, timestamp, display_summary (per-event_type human-readable text from D086), and producer label. Useful for 'what happened in this session?' without manually sorting filter results. Sibling tool to recall_my_attribution_history with built-in context_id scoping + chain-ascending order.",
978
+ inputSchema: {
979
+ context_id: z
980
+ .string()
981
+ .optional()
982
+ .describe("32-hex context_id. When omitted, falls back to @atrib/mcp's resolveEnvContextId (ATRIB_CONTEXT_ID env or D083-registered harness env like CLAUDE_CODE_SESSION_ID)."),
983
+ limit: z
984
+ .number()
985
+ .optional()
986
+ .describe("Maximum records to return (default 50, max 500). Truncated from the END of the chain (oldest-first ordering preserves the chain's start)."),
987
+ },
988
+ }, async (args) => logReadPrimitiveCall('recall_session_chain', args, async () => {
989
+ const ctx = args.context_id ?? resolveEnvContextId();
990
+ if (!ctx) {
991
+ return {
992
+ content: [
993
+ {
994
+ type: 'text',
995
+ text: JSON.stringify({ context_id: null, count: 0, records: [], warning: 'no context_id supplied or resolvable via env' }, null, 2),
996
+ },
997
+ ],
998
+ };
999
+ }
1000
+ const { loaded } = discoverLoaded();
1001
+ const annotationsByRecord = aggregateAnnotationsByRecord(loaded);
1002
+ const filtered = loaded
1003
+ .filter((lr) => lr.record.context_id === ctx)
1004
+ .sort((a, b) => a.record.timestamp - b.record.timestamp);
1005
+ const limit = Math.max(1, Math.min(500, args.limit ?? 50));
1006
+ const sliced = filtered.slice(0, limit);
1007
+ const now = Date.now();
1008
+ return {
1009
+ content: [
1010
+ {
1011
+ type: 'text',
1012
+ text: JSON.stringify({
1013
+ context_id: ctx,
1014
+ total: filtered.length,
1015
+ returned: sliced.length,
1016
+ truncated: filtered.length > sliced.length,
1017
+ records: sliced.map((lr) => {
1018
+ const ann = annotationsByRecord.get(lr.record_hash);
1019
+ return {
1020
+ record_hash: lr.record_hash,
1021
+ event_type: lr.record.event_type,
1022
+ timestamp: lr.record.timestamp,
1023
+ display_summary: synthesizeDisplaySummary(lr.record, lr.content, ann),
1024
+ display_producer: resolveDisplayProducer(lr.record, lr.producer),
1025
+ age: formatAge(lr.record.timestamp, now),
1026
+ };
1027
+ }),
1028
+ }, null, 2),
1029
+ },
1030
+ ],
1031
+ };
1032
+ }, extractRecordHashesFromMcpResult));
1033
+ // recall_orphans: records nothing else cites via informed_by. Useful for
1034
+ // "what decisions did I make and never act on?" — loose-end discovery.
1035
+ server.registerTool('recall_orphans', {
1036
+ description: "Return records that are NOT cited by any other record via informed_by (loose ends — decisions or observations the agent made but never followed up on). Surfaces records whose record_hash does NOT appear in any other record's informed_by[] array within the local mirror. Optionally scoped to one context_id, one event_type, or one creator_key. Useful for the agent to discover dropped balls (e.g. 'I noted X but never built on it').",
1037
+ inputSchema: {
1038
+ context_id: z
1039
+ .string()
1040
+ .optional()
1041
+ .describe("Optional 32-hex context_id to scope orphan-discovery to one session/trace."),
1042
+ event_type: z
1043
+ .enum(['tool_call', 'transaction', 'annotation', 'revision', 'observation', 'directory_anchor'])
1044
+ .optional()
1045
+ .describe("Optional filter to one event_type. Most useful with 'observation' to find unfollowed noting/discovery events."),
1046
+ creator_key: z
1047
+ .string()
1048
+ .optional()
1049
+ .describe("Optional exact match on record.creator_key (base64url). Filters orphan-discovery to records signed by one creator."),
1050
+ limit: z
1051
+ .number()
1052
+ .optional()
1053
+ .describe("Maximum records to return (default 50, max 500), newest-first."),
1054
+ },
1055
+ }, async (args) => logReadPrimitiveCall('recall_orphans', args, async () => {
1056
+ const { loaded } = discoverLoaded();
1057
+ // Build the set of all record_hashes that appear in any record's
1058
+ // informed_by field. Anything in `loaded` whose record_hash is
1059
+ // NOT in this set is an orphan.
1060
+ const cited = new Set();
1061
+ for (const lr of loaded) {
1062
+ const ib = lr.record.informed_by;
1063
+ if (Array.isArray(ib)) {
1064
+ for (const h of ib)
1065
+ if (typeof h === 'string')
1066
+ cited.add(h);
1067
+ }
1068
+ }
1069
+ let orphans = loaded.filter((lr) => !cited.has(lr.record_hash));
1070
+ if (args.context_id) {
1071
+ orphans = orphans.filter((lr) => lr.record.context_id === args.context_id);
1072
+ }
1073
+ if (args.creator_key) {
1074
+ orphans = orphans.filter((lr) => lr.record.creator_key === args.creator_key);
1075
+ }
1076
+ if (args.event_type) {
1077
+ const targetUri = EVENT_TYPE_SHORT_TO_URI[args.event_type] ?? args.event_type;
1078
+ orphans = orphans.filter((lr) => lr.record.event_type === targetUri);
1079
+ }
1080
+ orphans.sort((a, b) => b.record.timestamp - a.record.timestamp);
1081
+ const limit = Math.max(1, Math.min(500, args.limit ?? 50));
1082
+ const sliced = orphans.slice(0, limit);
1083
+ const annotationsByRecord = aggregateAnnotationsByRecord(loaded);
1084
+ const now = Date.now();
1085
+ return {
1086
+ content: [
1087
+ {
1088
+ type: 'text',
1089
+ text: JSON.stringify({
1090
+ total: orphans.length,
1091
+ returned: sliced.length,
1092
+ truncated: orphans.length > sliced.length,
1093
+ records: sliced.map((lr) => {
1094
+ const ann = annotationsByRecord.get(lr.record_hash);
1095
+ return {
1096
+ record_hash: lr.record_hash,
1097
+ event_type: lr.record.event_type,
1098
+ context_id: lr.record.context_id,
1099
+ timestamp: lr.record.timestamp,
1100
+ display_summary: synthesizeDisplaySummary(lr.record, lr.content, ann),
1101
+ display_producer: resolveDisplayProducer(lr.record, lr.producer),
1102
+ age: formatAge(lr.record.timestamp, now),
1103
+ };
1104
+ }),
1105
+ }, null, 2),
1106
+ },
1107
+ ],
1108
+ };
1109
+ }, extractRecordHashesFromMcpResult));
1110
+ // recall_by_signer: aggregate the mirror by creator_key. Lets the agent
1111
+ // ask "who else is in this mirror?" before deciding whether to scope
1112
+ // queries with creator_key filters. Useful when the mirror is shared
1113
+ // across multi-agent flows (transactions with counterparty signers,
1114
+ // peer-shared records, etc.).
1115
+ server.registerTool('recall_by_signer', {
1116
+ description: "Aggregate the local mirror by creator_key. Returns the distinct creators present + per-creator record count + latest record timestamp. Useful when the mirror is multi-signer (multi-agent flows, transactions with counterparty signers) and the agent wants to discover who else's records are in scope before deciding whether to filter with creator_key. Pure aggregation; no records returned directly — use recall_my_attribution_history with the creator_key filter to drill into one creator's records.",
1117
+ inputSchema: {
1118
+ min_records: z
1119
+ .number()
1120
+ .optional()
1121
+ .describe("Optional minimum record count to include a creator in the result. Default 1 (include all)."),
1122
+ },
1123
+ }, async (args) => logReadPrimitiveCall('recall_by_signer', args, async () => {
1124
+ const { loaded } = discoverLoaded();
1125
+ const byKey = new Map();
1126
+ for (const lr of loaded) {
1127
+ const key = lr.record.creator_key;
1128
+ const existing = byKey.get(key);
1129
+ if (existing) {
1130
+ existing.count++;
1131
+ if (lr.record.timestamp > existing.latest_timestamp)
1132
+ existing.latest_timestamp = lr.record.timestamp;
1133
+ if (lr.record.timestamp < existing.earliest_timestamp)
1134
+ existing.earliest_timestamp = lr.record.timestamp;
1135
+ }
1136
+ else {
1137
+ byKey.set(key, {
1138
+ creator_key: key,
1139
+ count: 1,
1140
+ latest_timestamp: lr.record.timestamp,
1141
+ earliest_timestamp: lr.record.timestamp,
1142
+ });
1143
+ }
1144
+ }
1145
+ const minRecords = Math.max(1, args.min_records ?? 1);
1146
+ const stats = [...byKey.values()]
1147
+ .filter((s) => s.count >= minRecords)
1148
+ .sort((a, b) => b.count - a.count);
1149
+ return {
1150
+ content: [
1151
+ {
1152
+ type: 'text',
1153
+ text: JSON.stringify({
1154
+ total_signers: stats.length,
1155
+ total_records: loaded.length,
1156
+ signers: stats,
1157
+ }, null, 2),
1158
+ },
1159
+ ],
1160
+ };
1161
+ }, extractRecordHashesFromMcpResult));
917
1162
  const transport = new StdioServerTransport();
918
1163
  await server.connect(transport);
919
1164
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/scoring.d.ts CHANGED
@@ -25,7 +25,7 @@
25
25
  * Behavior", original recency × importance × relevance retrieval design
26
26
  */
27
27
  import type { ImportanceLabel } from './index.js';
28
- import type { AnnotationSummary } from './aggregations.js';
28
+ import type { AnnotationSummary, LoadedRecord } from './aggregations.js';
29
29
  /**
30
30
  * Exponential-decay recency score. timestamp is milliseconds; tau is in
31
31
  * days. Returns a value in (0, 1]; 1 when ts == now, decays toward 0 as
@@ -95,13 +95,40 @@ export declare function bm25Score(index: BM25Index, docId: string, queryTokens:
95
95
  */
96
96
  export declare function parkScore(recency: number, importance: number, relevance: number, alpha: number, beta: number, gamma: number): number;
97
97
  /**
98
- * Build the indexed-text view of a record for BM25: concatenation of the
99
- * record's annotation summary (when present) and topic_tags (when
100
- * present). Records with no annotation produce an empty token list. The
101
- * indexed text is deliberately short, Layer 1 BM25 is meant as a
102
- * lightweight fallback, not a full-text-search engine.
98
+ * Build BM25 tokens from an aggregated annotation (summary + topics).
99
+ * Kept for callers that only have annotation data and need the legacy
100
+ * shape. The current BM25 build path (`indexableTokensForRecord`) calls
101
+ * this internally as the annotation-augment step on top of the per-event_
102
+ * type record content extracted via `@atrib/mcp` `extractIndexableText`.
103
+ *
104
+ * Records with no annotation produce an empty token list. This helper
105
+ * deliberately does NOT touch record content; for the full corpus shape
106
+ * use `indexableTokensForRecord`.
103
107
  */
104
108
  export declare function indexableTextFromAnnotation(summary: AnnotationSummary | undefined): string[];
109
+ /**
110
+ * Build BM25 tokens for one loaded record. Per D086, the indexable
111
+ * corpus combines two sources:
112
+ *
113
+ * 1. Per-event_type record content from the D062 sidecar, extracted
114
+ * via @atrib/mcp `extractIndexableText` against the record's
115
+ * `event_type` URI. For observation: what + why_noted + topics.
116
+ * For tool_call: tool_name + args excerpt + result excerpt. For
117
+ * annotation: summary + topics. Etc. See @atrib/mcp/content-shapes
118
+ * for the per-shape contract.
119
+ *
120
+ * 2. Any annotation summary + topics pointing at this record, when
121
+ * present. Annotations act as a curation lift on top of raw
122
+ * content; the same record indexed twice doesn't matter for BM25
123
+ * term-frequency saturation (k1 controls the lift). Records with
124
+ * no annotation still produce non-empty tokens from source (1) — the
125
+ * pre-D086 floor was zero, which left most emits un-searchable.
126
+ *
127
+ * Source (1) tokens are deduplicated against source (2) at the token
128
+ * level by simple union: BM25's tf saturation makes a few extra
129
+ * duplicates harmless.
130
+ */
131
+ export declare function indexableTokensForRecord(loaded: LoadedRecord, annotation: AnnotationSummary | undefined): string[];
105
132
  /**
106
133
  * Convenience type re-export so callers can import the canonical
107
134
  * ImportanceLabel shape without reaching into index.ts directly.
package/dist/scoring.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  import { IMPORTANCE_NUMERIC } from './index.js';
3
+ import { extractIndexableText } from '@atrib/mcp';
3
4
  /**
4
5
  * Exponential-decay recency score. timestamp is milliseconds; tau is in
5
6
  * days. Returns a value in (0, 1]; 1 when ts == now, decays toward 0 as
@@ -107,11 +108,15 @@ export function parkScore(recency, importance, relevance, alpha, beta, gamma) {
107
108
  return alpha * recency + beta * importance + gamma * relevance;
108
109
  }
109
110
  /**
110
- * Build the indexed-text view of a record for BM25: concatenation of the
111
- * record's annotation summary (when present) and topic_tags (when
112
- * present). Records with no annotation produce an empty token list. The
113
- * indexed text is deliberately short, Layer 1 BM25 is meant as a
114
- * lightweight fallback, not a full-text-search engine.
111
+ * Build BM25 tokens from an aggregated annotation (summary + topics).
112
+ * Kept for callers that only have annotation data and need the legacy
113
+ * shape. The current BM25 build path (`indexableTokensForRecord`) calls
114
+ * this internally as the annotation-augment step on top of the per-event_
115
+ * type record content extracted via `@atrib/mcp` `extractIndexableText`.
116
+ *
117
+ * Records with no annotation produce an empty token list. This helper
118
+ * deliberately does NOT touch record content; for the full corpus shape
119
+ * use `indexableTokensForRecord`.
115
120
  */
116
121
  export function indexableTextFromAnnotation(summary) {
117
122
  if (!summary)
@@ -123,4 +128,36 @@ export function indexableTextFromAnnotation(summary) {
123
128
  parts.push(...summary.topics);
124
129
  return tokenize(parts.join(' '));
125
130
  }
131
+ /**
132
+ * Build BM25 tokens for one loaded record. Per D086, the indexable
133
+ * corpus combines two sources:
134
+ *
135
+ * 1. Per-event_type record content from the D062 sidecar, extracted
136
+ * via @atrib/mcp `extractIndexableText` against the record's
137
+ * `event_type` URI. For observation: what + why_noted + topics.
138
+ * For tool_call: tool_name + args excerpt + result excerpt. For
139
+ * annotation: summary + topics. Etc. See @atrib/mcp/content-shapes
140
+ * for the per-shape contract.
141
+ *
142
+ * 2. Any annotation summary + topics pointing at this record, when
143
+ * present. Annotations act as a curation lift on top of raw
144
+ * content; the same record indexed twice doesn't matter for BM25
145
+ * term-frequency saturation (k1 controls the lift). Records with
146
+ * no annotation still produce non-empty tokens from source (1) — the
147
+ * pre-D086 floor was zero, which left most emits un-searchable.
148
+ *
149
+ * Source (1) tokens are deduplicated against source (2) at the token
150
+ * level by simple union: BM25's tf saturation makes a few extra
151
+ * duplicates harmless.
152
+ */
153
+ export function indexableTokensForRecord(loaded, annotation) {
154
+ const contentText = extractIndexableText(loaded.record.event_type, loaded.content);
155
+ const annotationTokens = indexableTextFromAnnotation(annotation);
156
+ if (!contentText)
157
+ return annotationTokens;
158
+ const contentTokens = tokenize(contentText);
159
+ return annotationTokens.length === 0
160
+ ? contentTokens
161
+ : contentTokens.concat(annotationTokens);
162
+ }
126
163
  //# sourceMappingURL=scoring.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scoring.js","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"AAAA,sCAAsC;AA8BtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAG/C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,iBAAyB,EACzB,KAAa,EACb,OAAe;IAEf,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAA;IACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAA;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAsC;IACpE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc;QAAE,OAAO,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC1D,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAChC,CAAC;AAwBD;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAiB,EACjB,EAAE,GAAG,GAAG,EACR,CAAC,GAAG,IAAI;IAER,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuD,CAAA;IAC3E,MAAM,EAAE,GAAG,IAAI,GAAG,EAAkB,CAAA;IACpC,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,GAAG,EAAkB,CAAA;QACpC,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3B,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QAC/C,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;QAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;IACvB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,iEAAiE;QACjE,kEAAkE;QAClE,uDAAuD;QACvD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAA;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,KAAgB,EAChB,KAAa,EACb,WAAqB;IAErB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAA;IAClB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACtC,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzB,IAAI,CAAC,EAAE;YAAE,SAAQ;QACjB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACrC,MAAM,WAAW,GACf,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACtE,KAAK,IAAI,GAAG,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,OAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,KAAa,EACb,IAAY,EACZ,KAAa;IAEb,OAAO,KAAK,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAA;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAsC;IAEtC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACjD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"scoring.js","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atrib/recall",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "description": "MCP server for atrib. Lets agents query their own provable past from the local signed-record mirror with per-record signature verification.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -10,7 +10,7 @@
10
10
  "dependencies": {
11
11
  "@modelcontextprotocol/sdk": "^1.12.1",
12
12
  "zod": "^4.3.6",
13
- "@atrib/mcp": "0.10.0"
13
+ "@atrib/mcp": "0.11.1"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@types/node": "^25.8.0",