@atrib/recall 0.7.0 → 0.9.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 +24 -2
- package/dist/aggregations.d.ts +8 -0
- package/dist/aggregations.js +11 -2
- package/dist/aggregations.js.map +1 -1
- package/dist/index.d.ts +36 -0
- package/dist/index.js +107 -15
- package/dist/index.js.map +1 -1
- package/dist/legibility.d.ts +74 -0
- package/dist/legibility.js +206 -0
- package/dist/legibility.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,7 +25,10 @@ mcp__atrib-recall__recall_my_attribution_history({
|
|
|
25
25
|
limit?: number, // Default 25, max 200.
|
|
26
26
|
offset?: number, // For pagination. Note pagination_caveat in the response.
|
|
27
27
|
compact?: boolean, // Default true - omits signature/content_id/chain_root/spec_version
|
|
28
|
-
// fields.
|
|
28
|
+
// fields. `record_hash` is always included (so callers can chain
|
|
29
|
+
// recall_walk / recall_annotations / recall_revisions / trace
|
|
30
|
+
// from any result). Set false for full record bytes
|
|
31
|
+
// (re-verification).
|
|
29
32
|
include_unverified?: boolean, // Default false - drops records whose signature didn't verify.
|
|
30
33
|
// Set true ONLY when consuming the verbose mode AND explicitly
|
|
31
34
|
// checking signature_verified per record.
|
|
@@ -57,7 +60,9 @@ mcp__atrib-recall__recall_my_attribution_history({
|
|
|
57
60
|
})
|
|
58
61
|
```
|
|
59
62
|
|
|
60
|
-
Returns `{ total, returned, filtered_out_by_verification, record_files, record_file, log_origin, pagination_caveat, records }`. Each record carries `annotations` (when annotation records point at it) and `superseded_by` (when revision records point at it).
|
|
63
|
+
Returns `{ total, returned, filtered_out_by_verification, record_files, record_file, log_origin, pagination_caveat, records }`. Each record carries `record_hash` (always, per [D084](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d084-read-primitive-instrumentation-for-empirical-loop-closure-measurement) — so the result is chainable into other primitives without a verbose-mode round-trip), `annotations` (when annotation records point at it), and `superseded_by` (when revision records point at it).
|
|
64
|
+
|
|
65
|
+
Every call to this tool (and every sibling tool below) writes a per-call jsonl entry to `~/.atrib/state/read-primitives/calls.jsonl` for the unified loop-closure analyzer per [D084](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d084-read-primitive-instrumentation-for-empirical-loop-closure-measurement). Silent-failure per [§5.8](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#58-degradation-contract); the tool response is unaffected by instrumentation failures. The `ATRIB_READ_PRIMITIVES_LOG` env var overrides the default path for tests.
|
|
61
66
|
|
|
62
67
|
### Sibling tools
|
|
63
68
|
|
|
@@ -79,9 +84,26 @@ The Park et al. ranking weights and recency time constant are environment-tunabl
|
|
|
79
84
|
| `ATRIB_RECALL_BETA` | 0.3 | Importance component weight |
|
|
80
85
|
| `ATRIB_RECALL_GAMMA` | 0.4 | Relevance (BM25) component weight |
|
|
81
86
|
| `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) |
|
|
82
88
|
|
|
83
89
|
The implementation does not enforce that alpha + beta + gamma sum to 1.0; the operator-facing defaults do.
|
|
84
90
|
|
|
91
|
+
### Legibility fields (added in 0.8.0)
|
|
92
|
+
|
|
93
|
+
Compact recall responses carry three derived fields per record so the agent can scan results without dereferencing opaque hashes:
|
|
94
|
+
|
|
95
|
+
| Field | Source |
|
|
96
|
+
|---|---|
|
|
97
|
+
| `display_summary` | Annotation summary if present, else per-event_type synthesis from record fields + `_local.content` (tool_call: `call <tool_name>(<args>)`; observation: first 80 chars of `what`; transaction: `<amount> to <merchant> via <protocol>`; annotation: `annotates <hash>: [<importance>] <summary>`; revision: `revises <hash>: <new_position>`; directory_anchor: `directory anchor <root>`; extension URI: tail). Capped at 120 chars. |
|
|
98
|
+
| `display_producer` | `_local.producer` sidecar label (e.g. `atrib-emit-cli`, `claude-hooks-builtin-2b`). Falls back to `key:<8hex>` of the creator key. Answers **which local code signed the record**, not which human or organization. The complementary `display_signer` field (AKD-backed identity claim) is planned as a separate field; repurposing `display_producer` for AKD lookups would conflate two distinct trust signals. |
|
|
99
|
+
| `age` | Relative time string (`just now`, `5m ago`, `3h ago`, `3d ago`, ISO date for older than 30 days). Returns `"unknown"` for non-finite timestamps. |
|
|
100
|
+
|
|
101
|
+
`recall_by_content` and `recall_walk` carry the same fields starting in the 0.8.0 audit-pass-1 follow-up.
|
|
102
|
+
|
|
103
|
+
### Anti-noise threshold for `rank_by=relevance`
|
|
104
|
+
|
|
105
|
+
When `rank_by=relevance` produces a top Park score below `ATRIB_RECALL_NOISE_FLOOR` (default 0.15), recall returns empty records plus a `quality: "below_threshold"` signal and the observed `top_score`. The default 0.15 is approximately `alpha * 0.5` with the default `alpha=0.3`: the score of a record with decent recency but no annotation, no topic match, no BM25 hit. Below that, results are effectively noise. Set the env var to 0 to disable. Threshold applies only to relevance ranking; timestamp + causal_distance modes are unaffected.
|
|
106
|
+
|
|
85
107
|
## Trust scope
|
|
86
108
|
|
|
87
109
|
Signature verification is local-only. A passing `signature_verified` proves the record was signed by the named `creator_key`; it does NOT prove the record was committed to log.atrib.dev. To confirm log inclusion, fetch the inclusion proof from the log API.
|
package/dist/aggregations.d.ts
CHANGED
|
@@ -18,6 +18,14 @@ export type LoadedRecord = {
|
|
|
18
18
|
record: AtribRecord;
|
|
19
19
|
record_hash: string;
|
|
20
20
|
content?: unknown;
|
|
21
|
+
/**
|
|
22
|
+
* D062 `_local.producer` from the sidecar when present (e.g.
|
|
23
|
+
* "atrib-emit-cli", "claude-hooks-builtin-2b", "claude-code"). Used by
|
|
24
|
+
* Layer 1 v2 legibility to render a friendly creator label instead of
|
|
25
|
+
* the raw creator_key. Undefined when the line is bare (no envelope)
|
|
26
|
+
* or the producer field was not stamped at sign time.
|
|
27
|
+
*/
|
|
28
|
+
producer?: string;
|
|
21
29
|
};
|
|
22
30
|
/**
|
|
23
31
|
* Compute the spec §2.3 record_hash for an AtribRecord: sha256 over the
|
package/dist/aggregations.js
CHANGED
|
@@ -63,8 +63,16 @@ function extractLoaded(parsed) {
|
|
|
63
63
|
const record = candidate;
|
|
64
64
|
if (envelopeRecord !== null) {
|
|
65
65
|
const local = obj._local ?? undefined;
|
|
66
|
-
if (local
|
|
67
|
-
|
|
66
|
+
if (local) {
|
|
67
|
+
const producer = typeof local.producer === 'string' ? local.producer : undefined;
|
|
68
|
+
const hasContent = 'content' in local;
|
|
69
|
+
if (hasContent || producer !== undefined) {
|
|
70
|
+
return {
|
|
71
|
+
record,
|
|
72
|
+
...(hasContent && { content: local.content }),
|
|
73
|
+
...(producer !== undefined && { producer }),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
78
|
return { record };
|
|
@@ -97,6 +105,7 @@ export function loadLoaded(path) {
|
|
|
97
105
|
record: extracted.record,
|
|
98
106
|
record_hash: computeRecordHash(extracted.record),
|
|
99
107
|
content: extracted.content,
|
|
108
|
+
producer: extracted.producer,
|
|
100
109
|
});
|
|
101
110
|
}
|
|
102
111
|
return out;
|
package/dist/aggregations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregations.js","sourceRoot":"","sources":["../src/aggregations.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,eAAe,EACf,MAAM,EACN,SAAS,EACT,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"aggregations.js","sourceRoot":"","sources":["../src/aggregations.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare const ATRIB_RECALL_ALPHA: number;
|
|
|
6
6
|
export declare const ATRIB_RECALL_BETA: number;
|
|
7
7
|
export declare const ATRIB_RECALL_GAMMA: number;
|
|
8
8
|
export declare const ATRIB_RECALL_TAU_DAYS: number;
|
|
9
|
+
export declare const ATRIB_RECALL_NOISE_FLOOR: number;
|
|
9
10
|
import type { AnnotationSummary as AggAnnotationSummary } from './aggregations.js';
|
|
10
11
|
export declare function loadRecords(path: string): AtribRecord[];
|
|
11
12
|
/**
|
|
@@ -171,6 +172,26 @@ type RecallRecordCompact = {
|
|
|
171
172
|
annotations?: AnnotationSummary;
|
|
172
173
|
/** New in 0.5.0: record hashes of D059 revisions superseding this record. */
|
|
173
174
|
superseded_by?: string[];
|
|
175
|
+
/**
|
|
176
|
+
* New in 0.8.0 (Layer 1 v2 legibility): one-line human-legible
|
|
177
|
+
* description. Annotation summary if present, else per-event_type
|
|
178
|
+
* synthesis from record fields + _local.content, else generic
|
|
179
|
+
* fallback. Derived via legibility.synthesizeDisplaySummary.
|
|
180
|
+
*/
|
|
181
|
+
display_summary?: string;
|
|
182
|
+
/**
|
|
183
|
+
* New in 0.8.0 (Layer 1 v2 legibility): friendly producer label from
|
|
184
|
+
* _local.producer (e.g. "atrib-emit-cli"), else "key:<8hex>" fallback
|
|
185
|
+
* signaling raw key. Derived via legibility.resolveDisplayProducer.
|
|
186
|
+
*/
|
|
187
|
+
display_producer?: string;
|
|
188
|
+
/**
|
|
189
|
+
* New in 0.8.0 (Layer 1 v2 legibility): relative time string
|
|
190
|
+
* ("just now", "5m ago", "3d ago", absolute date for older than 30d).
|
|
191
|
+
* Computed at response time from record.timestamp. Derived via
|
|
192
|
+
* legibility.formatAge.
|
|
193
|
+
*/
|
|
194
|
+
age?: string;
|
|
174
195
|
};
|
|
175
196
|
/**
|
|
176
197
|
* TOC entry: the smallest cheap-to-scan shape (~40-80 tokens). Used at
|
|
@@ -213,6 +234,21 @@ export interface RecallResult {
|
|
|
213
234
|
log_origin: string;
|
|
214
235
|
pagination_caveat: string;
|
|
215
236
|
records: RecallRecordFull[] | RecallRecordCompact[] | RecallRecordToc[];
|
|
237
|
+
/**
|
|
238
|
+
* New in 0.8.0 (Layer 1 v2 anti-noise): present when rank_by='relevance'
|
|
239
|
+
* returned empty results because the top Park score was below
|
|
240
|
+
* ATRIB_RECALL_NOISE_FLOOR. Lets the caller distinguish "no records
|
|
241
|
+
* matched the filters" (returned=0, no quality field) from "records
|
|
242
|
+
* matched but none scored high enough to be useful" (returned=0,
|
|
243
|
+
* quality='below_threshold'). Omitted when results were returned.
|
|
244
|
+
*/
|
|
245
|
+
quality?: 'below_threshold';
|
|
246
|
+
/**
|
|
247
|
+
* New in 0.8.0 (Layer 1 v2 anti-noise): the top Park score observed
|
|
248
|
+
* during this relevance ranking, present only when quality is set so
|
|
249
|
+
* the caller can see how close to the threshold the best result was.
|
|
250
|
+
*/
|
|
251
|
+
top_score?: number;
|
|
216
252
|
}
|
|
217
253
|
/**
|
|
218
254
|
* Discover and load records per the mirror-discovery contract:
|
package/dist/index.js
CHANGED
|
@@ -64,6 +64,21 @@ export const ATRIB_RECALL_GAMMA = parseFloat(process.env.ATRIB_RECALL_GAMMA ?? '
|
|
|
64
64
|
// component. 7-day default per design; longer windows favor older records,
|
|
65
65
|
// shorter windows favor very-recent records. Tunable per experiment.
|
|
66
66
|
export const ATRIB_RECALL_TAU_DAYS = parseFloat(process.env.ATRIB_RECALL_TAU_DAYS ?? '7');
|
|
67
|
+
// Layer 1 v2 anti-noise threshold for rank_by='relevance'. When the top
|
|
68
|
+
// Park score is below this floor, recall returns empty records + a
|
|
69
|
+
// "below_threshold" quality signal rather than a low-confidence top-K.
|
|
70
|
+
//
|
|
71
|
+
// Default 0.15 derivation: each Park component (recency, importance,
|
|
72
|
+
// relevance) is normalized to [0, 1]; ATRIB_RECALL_ALPHA defaults to
|
|
73
|
+
// 0.3. A record with "decent recency (~0.5), no annotation (importance
|
|
74
|
+
// 0), no topic match, no BM25 hit (relevance 0)" scores alpha * 0.5 =
|
|
75
|
+
// 0.15 — right at the floor. Anything BELOW that is effectively pure
|
|
76
|
+
// noise (stale records with no signal). The threshold trains the agent
|
|
77
|
+
// "recall returns when it has something; trust the absence."
|
|
78
|
+
//
|
|
79
|
+
// If ALPHA is changed, this default may need to be revisited. Set the
|
|
80
|
+
// env var to 0 to disable the threshold entirely.
|
|
81
|
+
export const ATRIB_RECALL_NOISE_FLOOR = parseFloat(process.env.ATRIB_RECALL_NOISE_FLOOR ?? '0.15');
|
|
67
82
|
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
|
|
68
83
|
import { homedir } from 'node:os';
|
|
69
84
|
import { join } from 'node:path';
|
|
@@ -71,6 +86,7 @@ import { z } from 'zod';
|
|
|
71
86
|
import { aggregateAnnotationsByRecord, aggregateRevisionsByRecord, discoverLoaded, } from './aggregations.js';
|
|
72
87
|
import { recencyScore, importanceScore, parkScore, buildBM25Index, bm25Score, tokenize, indexableTextFromAnnotation, } from './scoring.js';
|
|
73
88
|
import { buildLocalGraph, shortestDistances, walkFrom, } from './graph.js';
|
|
89
|
+
import { synthesizeDisplaySummary, resolveDisplayProducer, formatAge, } from './legibility.js';
|
|
74
90
|
const ATRIB_RECORD_FILE = process.env.ATRIB_RECORD_FILE;
|
|
75
91
|
const ATRIB_MIRROR_DIR = process.env.ATRIB_MIRROR_DIR ?? join(homedir(), '.atrib', 'records');
|
|
76
92
|
const ATRIB_LOG_ORIGIN = process.env.ATRIB_LOG_ORIGIN ?? 'log.atrib.dev';
|
|
@@ -202,13 +218,17 @@ function rankByRelevance(filtered, annotationsByRecord, rankAnchor) {
|
|
|
202
218
|
}));
|
|
203
219
|
const idx = buildBM25Index(corpus);
|
|
204
220
|
const scores = new Map();
|
|
221
|
+
let topScore = 0;
|
|
205
222
|
for (const lr of filtered) {
|
|
206
223
|
const r = recencyScore(lr.record.timestamp, now, ATRIB_RECALL_TAU_DAYS);
|
|
207
224
|
const i = importanceScore(annotationsByRecord.get(lr.record_hash));
|
|
208
225
|
const rel = queryTokens.length > 0
|
|
209
226
|
? bm25Score(idx, lr.record_hash, queryTokens)
|
|
210
227
|
: 0;
|
|
211
|
-
|
|
228
|
+
const s = parkScore(r, i, rel, ATRIB_RECALL_ALPHA, ATRIB_RECALL_BETA, ATRIB_RECALL_GAMMA);
|
|
229
|
+
scores.set(lr.record_hash, s);
|
|
230
|
+
if (s > topScore)
|
|
231
|
+
topScore = s;
|
|
212
232
|
}
|
|
213
233
|
filtered.sort((a, b) => {
|
|
214
234
|
const sa = scores.get(a.record_hash) ?? 0;
|
|
@@ -218,6 +238,12 @@ function rankByRelevance(filtered, annotationsByRecord, rankAnchor) {
|
|
|
218
238
|
// Stable tie-break on timestamp newest-first.
|
|
219
239
|
return b.record.timestamp - a.record.timestamp;
|
|
220
240
|
});
|
|
241
|
+
// Return the top score so the caller can apply the anti-noise threshold
|
|
242
|
+
// (Layer 1 v2: suppress low-confidence top-K rather than train the agent
|
|
243
|
+
// to ignore recall results). Each Park component is in [0, 1] and the
|
|
244
|
+
// weights are operator-configured to sum to 1.0 by default, so topScore
|
|
245
|
+
// also lives in [0, 1] under normal config.
|
|
246
|
+
return topScore;
|
|
221
247
|
}
|
|
222
248
|
/**
|
|
223
249
|
* Sort `filtered` in-place by BFS shortest-path distance from rank_anchor.
|
|
@@ -271,10 +297,14 @@ async function annotateVerification(loaded, annotationsByRecord, revisionsByReco
|
|
|
271
297
|
const supers = revisionsByRecord.get(lr.record_hash);
|
|
272
298
|
if (supers && supers.length > 0)
|
|
273
299
|
out.superseded_by = supers;
|
|
300
|
+
if (lr.content !== undefined)
|
|
301
|
+
out.content = lr.content;
|
|
302
|
+
if (lr.producer !== undefined)
|
|
303
|
+
out.producer = lr.producer;
|
|
274
304
|
return out;
|
|
275
305
|
}));
|
|
276
306
|
}
|
|
277
|
-
function compactify(bundles) {
|
|
307
|
+
function compactify(bundles, now = Date.now()) {
|
|
278
308
|
return bundles.map((b) => {
|
|
279
309
|
const r = b.record;
|
|
280
310
|
const out = {
|
|
@@ -295,6 +325,12 @@ function compactify(bundles) {
|
|
|
295
325
|
out.annotations = b.annotations;
|
|
296
326
|
if (b.superseded_by)
|
|
297
327
|
out.superseded_by = b.superseded_by;
|
|
328
|
+
// Layer 1 v2 legibility fields. Always populated (the helpers fall
|
|
329
|
+
// back to sentinels when source data is missing). Cheap to compute
|
|
330
|
+
// and the agent-side cost of opaque hashes is non-trivial.
|
|
331
|
+
out.display_summary = synthesizeDisplaySummary(r, b.content, b.annotations);
|
|
332
|
+
out.display_producer = resolveDisplayProducer(r, b.producer);
|
|
333
|
+
out.age = formatAge(r.timestamp, now);
|
|
298
334
|
return out;
|
|
299
335
|
});
|
|
300
336
|
}
|
|
@@ -393,8 +429,9 @@ export async function recall(args, recordFile) {
|
|
|
393
429
|
}
|
|
394
430
|
// Sort: timestamp (default, newest first), Park et al. relevance, or
|
|
395
431
|
// BFS shortest-path causal distance from rank_anchor.
|
|
432
|
+
let relevanceTopScore;
|
|
396
433
|
if (args.rank_by === 'relevance') {
|
|
397
|
-
rankByRelevance(filtered, annotationsByRecord, args.rank_anchor);
|
|
434
|
+
relevanceTopScore = rankByRelevance(filtered, annotationsByRecord, args.rank_anchor);
|
|
398
435
|
}
|
|
399
436
|
else if (args.rank_by === 'causal_distance') {
|
|
400
437
|
rankByCausalDistance(filtered, all, args.rank_anchor);
|
|
@@ -404,6 +441,31 @@ export async function recall(args, recordFile) {
|
|
|
404
441
|
// actions, not the genesis of the log.
|
|
405
442
|
filtered.sort((a, b) => b.record.timestamp - a.record.timestamp);
|
|
406
443
|
}
|
|
444
|
+
// Layer 1 v2 anti-noise threshold: when rank_by='relevance' and the
|
|
445
|
+
// top Park score falls below ATRIB_RECALL_NOISE_FLOOR (default 0.15),
|
|
446
|
+
// return empty records + a "below_threshold" quality signal instead of
|
|
447
|
+
// a low-confidence top-K. The 0.15 default is approximately the score
|
|
448
|
+
// of "no annotation, no topic match, no BM25 hit, just decent recency"
|
|
449
|
+
// (alpha * 0.5 with alpha=0.3). Below that, results are effectively
|
|
450
|
+
// noise and training the agent to scan + dismiss them costs more than
|
|
451
|
+
// returning nothing.
|
|
452
|
+
if (args.rank_by === 'relevance' &&
|
|
453
|
+
relevanceTopScore !== undefined &&
|
|
454
|
+
relevanceTopScore < ATRIB_RECALL_NOISE_FLOOR) {
|
|
455
|
+
return {
|
|
456
|
+
total: filtered.length,
|
|
457
|
+
returned: 0,
|
|
458
|
+
filtered_out_by_verification: 0,
|
|
459
|
+
record_files: files,
|
|
460
|
+
record_file: files[0] ?? '',
|
|
461
|
+
log_origin: ATRIB_LOG_ORIGIN,
|
|
462
|
+
pagination_caveat: 'offset is not stable when new records are appended. For consistent paging, capture the' +
|
|
463
|
+
' first-page timestamps and re-page using a context_id or event_type filter instead.',
|
|
464
|
+
records: [],
|
|
465
|
+
quality: 'below_threshold',
|
|
466
|
+
top_score: relevanceTopScore,
|
|
467
|
+
};
|
|
468
|
+
}
|
|
407
469
|
const offset = Math.max(0, args.offset ?? 0);
|
|
408
470
|
const limit = Math.max(1, Math.min(200, args.limit ?? 25));
|
|
409
471
|
const page = filtered.slice(offset, offset + limit);
|
|
@@ -650,6 +712,29 @@ server.registerTool('recall_walk', {
|
|
|
650
712
|
: undefined;
|
|
651
713
|
const depth = typeof args.depth === 'number' ? args.depth : 3;
|
|
652
714
|
const walk = walkFrom(graph, args.from_record_hash, edgeTypes, depth);
|
|
715
|
+
// Layer 1 v2 legibility: join walked hashes back to their loaded
|
|
716
|
+
// records so each step in the walk carries a readable label
|
|
717
|
+
// instead of just a hash + distance. Builds the index once for
|
|
718
|
+
// O(N) lookup across the walk; for typical walks (depth=3, k<50)
|
|
719
|
+
// this is fast.
|
|
720
|
+
const byHash = new Map(loaded.map((lr) => [lr.record_hash, lr]));
|
|
721
|
+
const annotationsByRecord = aggregateAnnotationsByRecord(loaded);
|
|
722
|
+
const now = Date.now();
|
|
723
|
+
const enriched = walk.map((step) => {
|
|
724
|
+
const lr = byHash.get(step.record_hash);
|
|
725
|
+
if (!lr)
|
|
726
|
+
return step;
|
|
727
|
+
const ann = annotationsByRecord.get(step.record_hash);
|
|
728
|
+
return {
|
|
729
|
+
record_hash: step.record_hash,
|
|
730
|
+
distance: step.distance,
|
|
731
|
+
event_type: lr.record.event_type,
|
|
732
|
+
timestamp: lr.record.timestamp,
|
|
733
|
+
display_summary: synthesizeDisplaySummary(lr.record, lr.content, ann),
|
|
734
|
+
display_producer: resolveDisplayProducer(lr.record, lr.producer),
|
|
735
|
+
age: formatAge(lr.record.timestamp, now),
|
|
736
|
+
};
|
|
737
|
+
});
|
|
653
738
|
return {
|
|
654
739
|
content: [
|
|
655
740
|
{
|
|
@@ -663,8 +748,8 @@ server.registerTool('recall_walk', {
|
|
|
663
748
|
'REVISES',
|
|
664
749
|
],
|
|
665
750
|
depth,
|
|
666
|
-
count:
|
|
667
|
-
walk,
|
|
751
|
+
count: enriched.length,
|
|
752
|
+
walk: enriched,
|
|
668
753
|
}, null, 2),
|
|
669
754
|
},
|
|
670
755
|
],
|
|
@@ -775,16 +860,23 @@ server.registerTool('recall_by_content', {
|
|
|
775
860
|
query: args.query,
|
|
776
861
|
k,
|
|
777
862
|
count: top.length,
|
|
778
|
-
results: top.map(({ lr, score, recency, importance, relevance }) =>
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
863
|
+
results: top.map(({ lr, score, recency, importance, relevance }) => {
|
|
864
|
+
const ann = annotationsByRecord.get(lr.record_hash);
|
|
865
|
+
return {
|
|
866
|
+
record_hash: lr.record_hash,
|
|
867
|
+
event_type: lr.record.event_type,
|
|
868
|
+
context_id: lr.record.context_id,
|
|
869
|
+
timestamp: lr.record.timestamp,
|
|
870
|
+
tool_name: lr.record.tool_name,
|
|
871
|
+
annotations: ann,
|
|
872
|
+
// Layer 1 v2 legibility fields (parity with compactify).
|
|
873
|
+
display_summary: synthesizeDisplaySummary(lr.record, lr.content, ann),
|
|
874
|
+
display_producer: resolveDisplayProducer(lr.record, lr.producer),
|
|
875
|
+
age: formatAge(lr.record.timestamp, now),
|
|
876
|
+
score,
|
|
877
|
+
components: { recency, importance, relevance },
|
|
878
|
+
};
|
|
879
|
+
}),
|
|
788
880
|
}, null, 2),
|
|
789
881
|
},
|
|
790
882
|
],
|
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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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 1 v2 legibility helpers for recall responses.
|
|
3
|
+
*
|
|
4
|
+
* Recall returns records with substrate signals attached (annotations,
|
|
5
|
+
* supersession, scoring). Pre-v2 the response left agents to dereference
|
|
6
|
+
* opaque hashes to figure out what each record was about. This module
|
|
7
|
+
* derives compact human-legible display fields from data already in the
|
|
8
|
+
* mirror so the agent can scan results at a glance.
|
|
9
|
+
*
|
|
10
|
+
* Three fields:
|
|
11
|
+
* - display_summary: one-line description, fallback chain per event_type
|
|
12
|
+
* - display_producer: friendly producer label from _local.producer
|
|
13
|
+
* sidecar, else short key prefix as "key:<8hex>"
|
|
14
|
+
* - age: relative time string ("just now", "5m ago", "3d ago",
|
|
15
|
+
* "2026-04-12" for older than 30 days)
|
|
16
|
+
*
|
|
17
|
+
* All derivations are pure functions of the record + sidecar data; no
|
|
18
|
+
* network calls, no LLM. Silent failure: any helper that can't produce
|
|
19
|
+
* a meaningful value returns a sentinel ("unknown", "no description")
|
|
20
|
+
* rather than throwing.
|
|
21
|
+
*/
|
|
22
|
+
import type { AtribRecord } from '@atrib/mcp';
|
|
23
|
+
import type { AnnotationSummary } from './aggregations.js';
|
|
24
|
+
/**
|
|
25
|
+
* One-line human-legible description of the record.
|
|
26
|
+
*
|
|
27
|
+
* Fallback chain:
|
|
28
|
+
* 1. annotation summary (always wins if any annotation pointing at this
|
|
29
|
+
* record carried a non-empty summary)
|
|
30
|
+
* 2. per-event_type synthesis from record fields + _local.content
|
|
31
|
+
* 3. generic fallback labeled by event_type tail
|
|
32
|
+
*
|
|
33
|
+
* Output is capped at SUMMARY_MAX_LEN; longer text is truncated with an
|
|
34
|
+
* ellipsis. The cap is empirically chosen to fit ~3 records per screen
|
|
35
|
+
* scan in typical terminal widths.
|
|
36
|
+
*/
|
|
37
|
+
export declare function synthesizeDisplaySummary(record: AtribRecord, content: unknown, annotations: AnnotationSummary | undefined): string;
|
|
38
|
+
/**
|
|
39
|
+
* Friendly label for the local producer that wrote this record.
|
|
40
|
+
*
|
|
41
|
+
* Order:
|
|
42
|
+
* 1. _local.producer from the D062 sidecar when present (e.g.
|
|
43
|
+
* "atrib-emit-cli", "claude-hooks-builtin-2b", "claude-code")
|
|
44
|
+
* 2. fallback "key:<8hex>" prefix of creator_key as a clear signal
|
|
45
|
+
* that no producer label was available
|
|
46
|
+
*
|
|
47
|
+
* Producer (this function) vs signer (the follow-up display_signer
|
|
48
|
+
* field) — DO NOT CONFLATE:
|
|
49
|
+
* - display_producer = sidecar-only label of which LOCAL CODE signed
|
|
50
|
+
* the record. Useful for debugging the local producer pipeline
|
|
51
|
+
* ("atrib-emit-cli wrote this, not claude-hooks-builtin-2b").
|
|
52
|
+
* Not verifiable. Not portable across operators.
|
|
53
|
+
* - display_signer (planned) = AKD-backed identity-claim lookup for
|
|
54
|
+
* which HUMAN OR ORGANIZATION holds the signing key. Verifiable.
|
|
55
|
+
* Portable across operators. Lives in @atrib/directory.
|
|
56
|
+
* Repurposing display_producer for AKD lookup would break back-compat
|
|
57
|
+
* AND quietly conflate two distinct trust signals; if AKD-backed
|
|
58
|
+
* identity needs to surface, add display_signer as a NEW field, do
|
|
59
|
+
* not change this function's semantics.
|
|
60
|
+
*/
|
|
61
|
+
export declare function resolveDisplayProducer(record: AtribRecord, producer: string | undefined): string;
|
|
62
|
+
/**
|
|
63
|
+
* Relative time string. Buckets chosen so agents can scan results
|
|
64
|
+
* "1m / 5h / 3d" without parsing absolute timestamps.
|
|
65
|
+
*
|
|
66
|
+
* Buckets:
|
|
67
|
+
* < 60s -> "just now"
|
|
68
|
+
* < 1h -> "Xm ago"
|
|
69
|
+
* < 24h -> "Xh ago"
|
|
70
|
+
* < 30d -> "Xd ago"
|
|
71
|
+
* older -> ISO date "YYYY-MM-DD"
|
|
72
|
+
* future (timestamp > now) -> "future" (sentinel; should not happen)
|
|
73
|
+
*/
|
|
74
|
+
export declare function formatAge(timestamp: number, now: number): string;
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
const ATRIB_EVENT_TYPE_PREFIX = 'https://atrib.dev/v1/types/';
|
|
3
|
+
const SUMMARY_MAX_LEN = 120;
|
|
4
|
+
const ARGS_EXCERPT_MAX_LEN = 60;
|
|
5
|
+
const HASH_PREFIX_LEN = 12;
|
|
6
|
+
/**
|
|
7
|
+
* One-line human-legible description of the record.
|
|
8
|
+
*
|
|
9
|
+
* Fallback chain:
|
|
10
|
+
* 1. annotation summary (always wins if any annotation pointing at this
|
|
11
|
+
* record carried a non-empty summary)
|
|
12
|
+
* 2. per-event_type synthesis from record fields + _local.content
|
|
13
|
+
* 3. generic fallback labeled by event_type tail
|
|
14
|
+
*
|
|
15
|
+
* Output is capped at SUMMARY_MAX_LEN; longer text is truncated with an
|
|
16
|
+
* ellipsis. The cap is empirically chosen to fit ~3 records per screen
|
|
17
|
+
* scan in typical terminal widths.
|
|
18
|
+
*/
|
|
19
|
+
export function synthesizeDisplaySummary(record, content, annotations) {
|
|
20
|
+
// 1. Annotation summary is the highest-quality signal when present.
|
|
21
|
+
if (annotations?.summary && annotations.summary.length > 0) {
|
|
22
|
+
return truncate(annotations.summary, SUMMARY_MAX_LEN);
|
|
23
|
+
}
|
|
24
|
+
// 2. Per-event_type synthesis.
|
|
25
|
+
const tool_name = record.tool_name;
|
|
26
|
+
const c = isObject(content) ? content : {};
|
|
27
|
+
switch (record.event_type) {
|
|
28
|
+
case `${ATRIB_EVENT_TYPE_PREFIX}tool_call`: {
|
|
29
|
+
const args = c.args ?? c.input ?? c.arguments;
|
|
30
|
+
if (tool_name) {
|
|
31
|
+
if (isObject(args)) {
|
|
32
|
+
const argsExcerpt = stringifyArgsBrief(args, ARGS_EXCERPT_MAX_LEN);
|
|
33
|
+
return truncate(`call ${tool_name}(${argsExcerpt})`, SUMMARY_MAX_LEN);
|
|
34
|
+
}
|
|
35
|
+
return `call ${tool_name}`;
|
|
36
|
+
}
|
|
37
|
+
return 'tool call';
|
|
38
|
+
}
|
|
39
|
+
case `${ATRIB_EVENT_TYPE_PREFIX}transaction`: {
|
|
40
|
+
const amount = c.amount ?? c.value;
|
|
41
|
+
const merchant = c.merchant ?? c.recipient ?? c.to;
|
|
42
|
+
const protocol = c.protocol ?? c.via;
|
|
43
|
+
if (amount && merchant) {
|
|
44
|
+
const proto = protocol ? ` via ${String(protocol)}` : '';
|
|
45
|
+
return truncate(`${String(amount)} to ${String(merchant)}${proto}`, SUMMARY_MAX_LEN);
|
|
46
|
+
}
|
|
47
|
+
return 'transaction';
|
|
48
|
+
}
|
|
49
|
+
case `${ATRIB_EVENT_TYPE_PREFIX}observation`: {
|
|
50
|
+
const what = c.what;
|
|
51
|
+
if (typeof what === 'string' && what.length > 0) {
|
|
52
|
+
return truncate(what, SUMMARY_MAX_LEN);
|
|
53
|
+
}
|
|
54
|
+
return 'observation';
|
|
55
|
+
}
|
|
56
|
+
case `${ATRIB_EVENT_TYPE_PREFIX}directory_anchor`: {
|
|
57
|
+
const root = c.tree_root ?? c.root;
|
|
58
|
+
if (typeof root === 'string') {
|
|
59
|
+
return `directory anchor ${truncate(root, 40)}`;
|
|
60
|
+
}
|
|
61
|
+
return 'directory anchor';
|
|
62
|
+
}
|
|
63
|
+
case `${ATRIB_EVENT_TYPE_PREFIX}annotation`: {
|
|
64
|
+
const annotates = c.annotates;
|
|
65
|
+
const importance = c.importance;
|
|
66
|
+
const summary = c.summary;
|
|
67
|
+
const annotatesShort = typeof annotates === 'string'
|
|
68
|
+
? shortHash(annotates)
|
|
69
|
+
: 'unknown';
|
|
70
|
+
if (typeof summary === 'string' && summary.length > 0) {
|
|
71
|
+
const impTag = importance ? `[${String(importance)}] ` : '';
|
|
72
|
+
return truncate(`annotates ${annotatesShort}: ${impTag}${summary}`, SUMMARY_MAX_LEN);
|
|
73
|
+
}
|
|
74
|
+
return `annotates ${annotatesShort}`;
|
|
75
|
+
}
|
|
76
|
+
case `${ATRIB_EVENT_TYPE_PREFIX}revision`: {
|
|
77
|
+
const revises = c.revises;
|
|
78
|
+
const newPos = c.new_position;
|
|
79
|
+
const revisesShort = typeof revises === 'string'
|
|
80
|
+
? shortHash(revises)
|
|
81
|
+
: 'unknown';
|
|
82
|
+
if (typeof newPos === 'string' && newPos.length > 0) {
|
|
83
|
+
return truncate(`revises ${revisesShort}: ${newPos}`, SUMMARY_MAX_LEN);
|
|
84
|
+
}
|
|
85
|
+
return `revises ${revisesShort}`;
|
|
86
|
+
}
|
|
87
|
+
default: {
|
|
88
|
+
// Extension URIs (0xFF) and unknown: surface the URI tail.
|
|
89
|
+
const tail = record.event_type.split('/').pop() ?? record.event_type;
|
|
90
|
+
return tail.length > 0 ? tail : 'unknown event';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Friendly label for the local producer that wrote this record.
|
|
96
|
+
*
|
|
97
|
+
* Order:
|
|
98
|
+
* 1. _local.producer from the D062 sidecar when present (e.g.
|
|
99
|
+
* "atrib-emit-cli", "claude-hooks-builtin-2b", "claude-code")
|
|
100
|
+
* 2. fallback "key:<8hex>" prefix of creator_key as a clear signal
|
|
101
|
+
* that no producer label was available
|
|
102
|
+
*
|
|
103
|
+
* Producer (this function) vs signer (the follow-up display_signer
|
|
104
|
+
* field) — DO NOT CONFLATE:
|
|
105
|
+
* - display_producer = sidecar-only label of which LOCAL CODE signed
|
|
106
|
+
* the record. Useful for debugging the local producer pipeline
|
|
107
|
+
* ("atrib-emit-cli wrote this, not claude-hooks-builtin-2b").
|
|
108
|
+
* Not verifiable. Not portable across operators.
|
|
109
|
+
* - display_signer (planned) = AKD-backed identity-claim lookup for
|
|
110
|
+
* which HUMAN OR ORGANIZATION holds the signing key. Verifiable.
|
|
111
|
+
* Portable across operators. Lives in @atrib/directory.
|
|
112
|
+
* Repurposing display_producer for AKD lookup would break back-compat
|
|
113
|
+
* AND quietly conflate two distinct trust signals; if AKD-backed
|
|
114
|
+
* identity needs to surface, add display_signer as a NEW field, do
|
|
115
|
+
* not change this function's semantics.
|
|
116
|
+
*/
|
|
117
|
+
export function resolveDisplayProducer(record, producer) {
|
|
118
|
+
if (producer && producer.length > 0) {
|
|
119
|
+
return producer;
|
|
120
|
+
}
|
|
121
|
+
const key = record.creator_key;
|
|
122
|
+
if (typeof key === 'string' && key.length >= 8) {
|
|
123
|
+
return `key:${key.slice(0, 8)}`;
|
|
124
|
+
}
|
|
125
|
+
return 'unknown';
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Relative time string. Buckets chosen so agents can scan results
|
|
129
|
+
* "1m / 5h / 3d" without parsing absolute timestamps.
|
|
130
|
+
*
|
|
131
|
+
* Buckets:
|
|
132
|
+
* < 60s -> "just now"
|
|
133
|
+
* < 1h -> "Xm ago"
|
|
134
|
+
* < 24h -> "Xh ago"
|
|
135
|
+
* < 30d -> "Xd ago"
|
|
136
|
+
* older -> ISO date "YYYY-MM-DD"
|
|
137
|
+
* future (timestamp > now) -> "future" (sentinel; should not happen)
|
|
138
|
+
*/
|
|
139
|
+
export function formatAge(timestamp, now) {
|
|
140
|
+
// Defensive: NaN / Infinity / non-finite inputs would later throw at
|
|
141
|
+
// new Date().toISOString() (RangeError "Invalid time value"). Return
|
|
142
|
+
// a sentinel instead so the recall response stays well-formed even if
|
|
143
|
+
// a malformed record makes it through the load path.
|
|
144
|
+
if (!Number.isFinite(timestamp) || !Number.isFinite(now))
|
|
145
|
+
return 'unknown';
|
|
146
|
+
const diff = now - timestamp;
|
|
147
|
+
if (diff < 0)
|
|
148
|
+
return 'future';
|
|
149
|
+
if (diff < 60_000)
|
|
150
|
+
return 'just now';
|
|
151
|
+
if (diff < 3_600_000)
|
|
152
|
+
return `${Math.floor(diff / 60_000)}m ago`;
|
|
153
|
+
if (diff < 86_400_000)
|
|
154
|
+
return `${Math.floor(diff / 3_600_000)}h ago`;
|
|
155
|
+
if (diff < 30 * 86_400_000)
|
|
156
|
+
return `${Math.floor(diff / 86_400_000)}d ago`;
|
|
157
|
+
return new Date(timestamp).toISOString().slice(0, 10);
|
|
158
|
+
}
|
|
159
|
+
// --- helpers ---
|
|
160
|
+
function isObject(v) {
|
|
161
|
+
return v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
162
|
+
}
|
|
163
|
+
function truncate(s, maxLen) {
|
|
164
|
+
if (s.length <= maxLen)
|
|
165
|
+
return s;
|
|
166
|
+
// Trim trailing whitespace before the ellipsis so we don't end on " …".
|
|
167
|
+
return s.slice(0, maxLen - 1).trimEnd() + '…';
|
|
168
|
+
}
|
|
169
|
+
function shortHash(hash) {
|
|
170
|
+
// "sha256:abc..." -> "sha256:abc..." truncated to a recognizable prefix
|
|
171
|
+
// for inline display ("sha256:cbcb2322309e…").
|
|
172
|
+
if (hash.startsWith('sha256:')) {
|
|
173
|
+
return `sha256:${hash.slice(7, 7 + HASH_PREFIX_LEN)}…`;
|
|
174
|
+
}
|
|
175
|
+
return hash.length > HASH_PREFIX_LEN ? `${hash.slice(0, HASH_PREFIX_LEN)}…` : hash;
|
|
176
|
+
}
|
|
177
|
+
function stringifyArgsBrief(args, maxLen) {
|
|
178
|
+
const parts = [];
|
|
179
|
+
for (const [k, v] of Object.entries(args)) {
|
|
180
|
+
let vStr;
|
|
181
|
+
if (typeof v === 'string') {
|
|
182
|
+
// Inline short strings; truncate long ones.
|
|
183
|
+
vStr = v.length > 20 ? `"${v.slice(0, 19)}…"` : `"${v}"`;
|
|
184
|
+
}
|
|
185
|
+
else if (typeof v === 'number' || typeof v === 'boolean') {
|
|
186
|
+
vStr = String(v);
|
|
187
|
+
}
|
|
188
|
+
else if (v === null) {
|
|
189
|
+
vStr = 'null';
|
|
190
|
+
}
|
|
191
|
+
else if (Array.isArray(v)) {
|
|
192
|
+
vStr = `[${v.length}]`;
|
|
193
|
+
}
|
|
194
|
+
else if (typeof v === 'object') {
|
|
195
|
+
vStr = '{…}';
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
vStr = String(v);
|
|
199
|
+
}
|
|
200
|
+
parts.push(`${k}=${vStr}`);
|
|
201
|
+
if (parts.join(', ').length >= maxLen)
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
return truncate(parts.join(', '), maxLen);
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=legibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legibility.js","sourceRoot":"","sources":["../src/legibility.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.
|
|
3
|
+
"version": "0.9.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",
|