@cello-protocol/daemon 0.0.134 → 0.0.136

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 (44) hide show
  1. package/dist/close-session-handler.d.ts.map +1 -1
  2. package/dist/close-session-handler.js +18 -2
  3. package/dist/close-session-handler.js.map +1 -1
  4. package/dist/daemon.js +15 -0
  5. package/dist/daemon.js.map +1 -1
  6. package/dist/document-gate.d.ts +10 -0
  7. package/dist/document-gate.d.ts.map +1 -1
  8. package/dist/document-gate.js.map +1 -1
  9. package/dist/document-handlers.d.ts.map +1 -1
  10. package/dist/document-handlers.js +69 -0
  11. package/dist/document-handlers.js.map +1 -1
  12. package/dist/document-inbound.d.ts.map +1 -1
  13. package/dist/document-inbound.js +16 -0
  14. package/dist/document-inbound.js.map +1 -1
  15. package/dist/document-layer.d.ts.map +1 -1
  16. package/dist/document-layer.js +12 -0
  17. package/dist/document-layer.js.map +1 -1
  18. package/dist/document-profile.d.ts +61 -0
  19. package/dist/document-profile.d.ts.map +1 -0
  20. package/dist/document-profile.js +112 -0
  21. package/dist/document-profile.js.map +1 -0
  22. package/dist/document-screen.d.ts +59 -0
  23. package/dist/document-screen.d.ts.map +1 -0
  24. package/dist/document-screen.js +148 -0
  25. package/dist/document-screen.js.map +1 -0
  26. package/dist/document-store.d.ts +21 -0
  27. package/dist/document-store.d.ts.map +1 -1
  28. package/dist/document-store.js +35 -3
  29. package/dist/document-store.js.map +1 -1
  30. package/dist/retry-queue.d.ts +27 -0
  31. package/dist/retry-queue.d.ts.map +1 -1
  32. package/dist/retry-queue.js +134 -0
  33. package/dist/retry-queue.js.map +1 -1
  34. package/dist/seal-flows.d.ts.map +1 -1
  35. package/dist/seal-flows.js +5 -2
  36. package/dist/seal-flows.js.map +1 -1
  37. package/dist/session-node-manager.d.ts +12 -0
  38. package/dist/session-node-manager.d.ts.map +1 -1
  39. package/dist/session-node-manager.js +76 -3
  40. package/dist/session-node-manager.js.map +1 -1
  41. package/dist/session-read-handlers.d.ts.map +1 -1
  42. package/dist/session-read-handlers.js +3 -1
  43. package/dist/session-read-handlers.js.map +1 -1
  44. package/package.json +5 -5
@@ -0,0 +1,112 @@
1
+ /**
2
+ * DOD-DOC-PROFILE-1 — the content profile: an ALLOWLIST, agreed at the handshake.
3
+ *
4
+ * ── WHY AN ALLOWLIST WHEN A DENYLIST ALREADY EXISTS ───────────────────────────────────────────
5
+ *
6
+ * `document-screen.ts` is the denylist: it argues about characters, one at a time, in an open-ended
7
+ * space, and every argument happens mid-document with whoever is working ambushed by it. A profile
8
+ * inverts that. Only this character space is permitted, so violations are unambiguous — and the
9
+ * decision moves to CONSENT, which is the real win. "Do I want a Devanagari document with this
10
+ * person" is a question an operator can answer once, with a human already engaged, about the whole
11
+ * document. "What is U+200D doing at offset 412" is not a question anyone can answer.
12
+ *
13
+ * ── THE THREE CONSTRAINTS ─────────────────────────────────────────────────────────────────────
14
+ *
15
+ * NAMED AND CLOSED. A free-form profile is a negotiation again, and named profiles are what let
16
+ * an operator hold a standing policy — "never auto-accept `unicode-text` from an unendorsed
17
+ * contact". A sixth name is a protocol decision, not a caller's choice.
18
+ *
19
+ * CODEPOINT SETS, NOT ADJECTIVES. A profile enforced by a heuristic is a promise we do not keep,
20
+ * and "looks like markdown" is a heuristic. Every profile below is a predicate over code points.
21
+ *
22
+ * ENFORCED IN BOTH PLACES, for different reasons (§16.7-14). At authoring, so a stray character
23
+ * is caught where it was written and never becomes a rejection round — that is ERGONOMICS. At
24
+ * receipt, because the sender's enforcement is unverifiable — that is SECURITY. The second is not
25
+ * redundant with the first: a sender's client can be patched, or simply compromised while the
26
+ * sender themselves is a good actor.
27
+ *
28
+ * ── NARROWING ONLY ────────────────────────────────────────────────────────────────────────────
29
+ *
30
+ * Every profile, including the widest, still refuses what `document-screen.ts` refuses. A profile
31
+ * may only narrow the space, never widen it — otherwise choosing `unicode-text` would be a way to
32
+ * opt OUT of screening, and a peer could ask for that at consent time in the same breath as asking
33
+ * for Japanese.
34
+ */
35
+ /** Shape of text, in every profile: the two characters that are structure rather than content. */
36
+ const TAB = 0x09;
37
+ const NEWLINE = 0x0a;
38
+ const CARRIAGE_RETURN = 0x0d;
39
+ /**
40
+ * Refused by EVERY profile — the floor `document-screen.ts` sets, restated here so a profile cannot
41
+ * be used to bypass it. Kept as its own set rather than imported so the two can be read
42
+ * independently: this one is "no profile may admit these", which is a different claim from "the
43
+ * default rules refuse these".
44
+ */
45
+ const NEVER = new Set([
46
+ 0x200b, 0x202a, 0x202b, 0x202c, 0x202d, 0x202e, 0x2066, 0x2067, 0x2068, 0x2069,
47
+ ]);
48
+ function isShapingChar(cp) {
49
+ return cp === TAB || cp === NEWLINE || cp === CARRIAGE_RETURN;
50
+ }
51
+ /** Printable ASCII. Control characters are not content — they address whatever renders them. */
52
+ function isPrintableAscii(cp) {
53
+ return cp >= 0x20 && cp <= 0x7e;
54
+ }
55
+ /**
56
+ * The closed set. Each value answers one question: may this code point appear?
57
+ *
58
+ * `ascii-markdown` and `ascii-text` are the same space today — markdown's syntax is printable ASCII.
59
+ * They are kept distinct because the NAME is what an operator consents to and what a future diff
60
+ * renderer keys on, and collapsing them would make "this is a markdown document" unstateable.
61
+ */
62
+ export const CONTENT_PROFILES = {
63
+ "ascii-text": (cp) => isShapingChar(cp) || isPrintableAscii(cp),
64
+ "ascii-markdown": (cp) => isShapingChar(cp) || isPrintableAscii(cp),
65
+ // JSON is ASCII-only BY DESIGN: `é` is how JSON carries `é`. Admitting the raw character too
66
+ // would mean two documents that parse identically have different bytes, and a CRDT replica's
67
+ // whole claim is that they do not.
68
+ json: (cp) => isShapingChar(cp) || isPrintableAscii(cp),
69
+ // The wide profiles admit anything that is not explicitly refused — including every sample the
70
+ // sanitizer audit destroyed. A profile that refused Devanagari orthography or a family emoji
71
+ // would be that same failure wearing a different name.
72
+ "unicode-text": (cp) => !NEVER.has(cp),
73
+ "unicode-markdown": (cp) => !NEVER.has(cp),
74
+ };
75
+ export function isKnownProfile(name) {
76
+ return typeof name === "string" && Object.hasOwn(CONTENT_PROFILES, name);
77
+ }
78
+ function formatCodepoint(cp) {
79
+ return `U+${cp.toString(16).toUpperCase().padStart(4, "0")}`;
80
+ }
81
+ /**
82
+ * Check text against a profile. Null admits.
83
+ *
84
+ * AN UNKNOWN OR ABSENT PROFILE ENFORCES NOTHING, and this is the one fail-open on the document
85
+ * path. A document agreed before profiles existed carries none, and refusing all of its updates
86
+ * would break a working document to enforce a rule its two parties never agreed to. The screening
87
+ * denylist still applies to it — that is the floor, and it is why failing open here is bounded
88
+ * rather than a hole.
89
+ */
90
+ export function profileViolation(profile, text) {
91
+ if (!isKnownProfile(profile))
92
+ return null;
93
+ const allows = CONTENT_PROFILES[profile];
94
+ const codepoints = new Set();
95
+ const offsets = [];
96
+ let index = 0;
97
+ for (const ch of text) {
98
+ const cp = ch.codePointAt(0);
99
+ if (!allows(cp) || NEVER.has(cp)) {
100
+ codepoints.add(formatCodepoint(cp));
101
+ offsets.push(index);
102
+ }
103
+ // CODE POINTS, not UTF-16 units — the offsets exist for a human or an agent to find the
104
+ // character in their own editor, and one that lands mid-surrogate in a document containing an
105
+ // emoji is worse than none.
106
+ index++;
107
+ }
108
+ if (codepoints.size === 0)
109
+ return null;
110
+ return { profile: profile, codepoints: [...codepoints], count: offsets.length, offsets };
111
+ }
112
+ //# sourceMappingURL=document-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-profile.js","sourceRoot":"","sources":["../src/document-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * DOD-DOC-SCREEN-1 — the document content gate: REFUSE, never mutate.
3
+ *
4
+ * ── WHY A DOCUMENT DOES NOT GET THE MESSAGE SANITIZER ─────────────────────────────────────────
5
+ *
6
+ * The inbound message path may REWRITE content on a `redact` verdict: the operator sees a sanitized
7
+ * form while the leaf still binds the original. That is right for conversation and catastrophic for
8
+ * a document. Measured on 2026-08-05 against eighteen realistic samples, six were silently altered:
9
+ *
10
+ * कर्‍म → कर्म a different Hindi word; the ZWJ is orthography in Devanagari
11
+ * 👨‍👩‍👧 → 👨👩👧 one family emoji becomes three separate people
12
+ * Hello → Hello full-width is how CJK users type
13
+ * file is ½ → file is 1⁄2 ligatures and fractions normalised away
14
+ * <|im_start|> → ␠ a document ABOUT prompt formats loses its subject
15
+ *
16
+ * For a CRDT replica that is not a false positive. It is permanent divergence: the receiver applies
17
+ * different bytes than the sender signed, both sides believe they converged, and nothing reports
18
+ * it. And screening the PROJECTION instead does not help — documents are read-WRITE, so the next
19
+ * write-back diffs the operator's screened file against their replica and publishes the redaction
20
+ * as a real, signed edit that deletes the peer's content.
21
+ *
22
+ * So this rule has exactly two outcomes: carry the text exactly, or refuse the envelope. There is
23
+ * no third return value, and that is deliberate — a rule that COULD return replacement text would
24
+ * eventually be used to.
25
+ *
26
+ * ── WHAT IT REFUSES, AND WHY THAT LIST IS SHORT ───────────────────────────────────────────────
27
+ *
28
+ * Only characters whose presence changes what the text MEANS to a reader or a model, independent of
29
+ * language:
30
+ *
31
+ * - BIDI overrides and isolates, which make what an operator reads differ from what the document
32
+ * says. In a shared document that is a signature on content the signer did not see.
33
+ * - Chat-template control markers, which are not content in any document — they are an attempt to
34
+ * address the reader's model rather than the reader.
35
+ *
36
+ * NOT on the list: zero-width joiners, full-width forms, ligatures, typographic punctuation,
37
+ * combining marks. Every one of those is legitimate text in some language, and refusing them would
38
+ * make CELLO unusable for the operators most likely to need it. Zero-width SPACE is refused —
39
+ * it joins nothing, and its only use in a document is to hide a boundary.
40
+ *
41
+ * This is the denylist half. `DOD-DOC-PROFILE-1` adds the allowlist: a codepoint set agreed at the
42
+ * handshake and bound into `document_id`, which is a stronger instrument because it is decided at
43
+ * consent rather than argued at the boundary. This rule stays underneath it — a profile a peer
44
+ * never agreed to cannot be used to smuggle a BIDI override.
45
+ */
46
+ import type { GateRule } from "./document-gate.js";
47
+ /** Named so a refusal can say which rule fired without the sender parsing prose (§16.7-6). */
48
+ export declare const SCREEN_RULE_ID = "document_content_screen";
49
+ /** Named separately so a refusal says whether the AGREED profile or the default floor refused. */
50
+ export declare const PROFILE_RULE_ID = "document_content_profile";
51
+ /**
52
+ * The rule. Null admits; anything else refuses.
53
+ *
54
+ * Offsets are in CODE POINTS, not UTF-16 units, because they exist for a human or an agent to find
55
+ * the character in their own editor — and an offset that lands mid-surrogate in a document with an
56
+ * emoji in it is worse than none.
57
+ */
58
+ export declare const screeningRule: GateRule;
59
+ //# sourceMappingURL=document-screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-screen.d.ts","sourceRoot":"","sources":["../src/document-screen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAA8B,MAAM,oBAAoB,CAAC;AAG/E,8FAA8F;AAC9F,eAAO,MAAM,cAAc,4BAA4B,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAqC1D;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,QA6D3B,CAAC"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * DOD-DOC-SCREEN-1 — the document content gate: REFUSE, never mutate.
3
+ *
4
+ * ── WHY A DOCUMENT DOES NOT GET THE MESSAGE SANITIZER ─────────────────────────────────────────
5
+ *
6
+ * The inbound message path may REWRITE content on a `redact` verdict: the operator sees a sanitized
7
+ * form while the leaf still binds the original. That is right for conversation and catastrophic for
8
+ * a document. Measured on 2026-08-05 against eighteen realistic samples, six were silently altered:
9
+ *
10
+ * कर्‍म → कर्म a different Hindi word; the ZWJ is orthography in Devanagari
11
+ * 👨‍👩‍👧 → 👨👩👧 one family emoji becomes three separate people
12
+ * Hello → Hello full-width is how CJK users type
13
+ * file is ½ → file is 1⁄2 ligatures and fractions normalised away
14
+ * <|im_start|> → ␠ a document ABOUT prompt formats loses its subject
15
+ *
16
+ * For a CRDT replica that is not a false positive. It is permanent divergence: the receiver applies
17
+ * different bytes than the sender signed, both sides believe they converged, and nothing reports
18
+ * it. And screening the PROJECTION instead does not help — documents are read-WRITE, so the next
19
+ * write-back diffs the operator's screened file against their replica and publishes the redaction
20
+ * as a real, signed edit that deletes the peer's content.
21
+ *
22
+ * So this rule has exactly two outcomes: carry the text exactly, or refuse the envelope. There is
23
+ * no third return value, and that is deliberate — a rule that COULD return replacement text would
24
+ * eventually be used to.
25
+ *
26
+ * ── WHAT IT REFUSES, AND WHY THAT LIST IS SHORT ───────────────────────────────────────────────
27
+ *
28
+ * Only characters whose presence changes what the text MEANS to a reader or a model, independent of
29
+ * language:
30
+ *
31
+ * - BIDI overrides and isolates, which make what an operator reads differ from what the document
32
+ * says. In a shared document that is a signature on content the signer did not see.
33
+ * - Chat-template control markers, which are not content in any document — they are an attempt to
34
+ * address the reader's model rather than the reader.
35
+ *
36
+ * NOT on the list: zero-width joiners, full-width forms, ligatures, typographic punctuation,
37
+ * combining marks. Every one of those is legitimate text in some language, and refusing them would
38
+ * make CELLO unusable for the operators most likely to need it. Zero-width SPACE is refused —
39
+ * it joins nothing, and its only use in a document is to hide a boundary.
40
+ *
41
+ * This is the denylist half. `DOD-DOC-PROFILE-1` adds the allowlist: a codepoint set agreed at the
42
+ * handshake and bound into `document_id`, which is a stronger instrument because it is decided at
43
+ * consent rather than argued at the boundary. This rule stays underneath it — a profile a peer
44
+ * never agreed to cannot be used to smuggle a BIDI override.
45
+ */
46
+ import { profileViolation } from "./document-profile.js";
47
+ /** Named so a refusal can say which rule fired without the sender parsing prose (§16.7-6). */
48
+ export const SCREEN_RULE_ID = "document_content_screen";
49
+ /** Named separately so a refusal says whether the AGREED profile or the default floor refused. */
50
+ export const PROFILE_RULE_ID = "document_content_profile";
51
+ /**
52
+ * Codepoints refused anywhere in inserted text.
53
+ *
54
+ * Every entry needs a reason that survives the question "is this legitimate in some language?" —
55
+ * because for almost every invisible character the answer is yes, and the audit above is what
56
+ * happens when that question is not asked.
57
+ */
58
+ const REFUSED_CODEPOINTS = new Set([
59
+ 0x200b, // ZERO WIDTH SPACE — joins nothing; in a document it only hides a boundary
60
+ 0x202a, // LEFT-TO-RIGHT EMBEDDING
61
+ 0x202b, // RIGHT-TO-LEFT EMBEDDING
62
+ 0x202c, // POP DIRECTIONAL FORMATTING
63
+ 0x202d, // LEFT-TO-RIGHT OVERRIDE
64
+ 0x202e, // RIGHT-TO-LEFT OVERRIDE — renders text as something other than it is
65
+ 0x2066, // LEFT-TO-RIGHT ISOLATE
66
+ 0x2067, // RIGHT-TO-LEFT ISOLATE
67
+ 0x2068, // FIRST STRONG ISOLATE
68
+ 0x2069, // POP DIRECTIONAL ISOLATE
69
+ ]);
70
+ /**
71
+ * Markers that address the READER'S MODEL rather than the reader.
72
+ *
73
+ * Matched as literal substrings, and deliberately not as a regex over "anything angle-bracketed":
74
+ * a document about prompt engineering legitimately discusses these, and the audit caught exactly
75
+ * that case being erased. Refusing is honest — the operator is told and can quote it differently —
76
+ * where erasing changed the document's subject without saying so.
77
+ */
78
+ const REFUSED_MARKERS = ["<|im_start|>", "<|im_end|>", "<|endoftext|>", "<|system|>"];
79
+ /** `U+XXXX`, uppercase, at least four digits — the form a human reads and a machine can match. */
80
+ function formatCodepoint(cp) {
81
+ return `U+${cp.toString(16).toUpperCase().padStart(4, "0")}`;
82
+ }
83
+ /**
84
+ * The rule. Null admits; anything else refuses.
85
+ *
86
+ * Offsets are in CODE POINTS, not UTF-16 units, because they exist for a human or an agent to find
87
+ * the character in their own editor — and an offset that lands mid-surrogate in a document with an
88
+ * emoji in it is worse than none.
89
+ */
90
+ export const screeningRule = (diff, context) => {
91
+ const text = diff.inserted;
92
+ if (text.length === 0)
93
+ return null;
94
+ // THE AGREED PROFILE FIRST (DOD-DOC-PROFILE-1). An allowlist is the stronger instrument — the
95
+ // decision was made once, at consent, by a human who was engaged — so when a document has one it
96
+ // answers before the denylist argues character by character.
97
+ //
98
+ // It cannot WIDEN anything: every profile still refuses what the denylist below refuses, so a
99
+ // peer cannot ask for a permissive profile at consent time as a way out of screening. Enforced
100
+ // here because the sender's own enforcement is unverifiable; that is the security half, and the
101
+ // authoring check is the ergonomics half, not a substitute for it.
102
+ const violation = profileViolation(context.contentProfile, text);
103
+ if (violation) {
104
+ return {
105
+ reason: "document_profile_violation",
106
+ detail: JSON.stringify({ rule: PROFILE_RULE_ID, ...violation }),
107
+ };
108
+ }
109
+ const codepoints = new Set();
110
+ const offsets = [];
111
+ let index = 0;
112
+ for (const ch of text) {
113
+ const cp = ch.codePointAt(0);
114
+ if (REFUSED_CODEPOINTS.has(cp)) {
115
+ codepoints.add(formatCodepoint(cp));
116
+ offsets.push(index);
117
+ }
118
+ index++;
119
+ }
120
+ for (const marker of REFUSED_MARKERS) {
121
+ let at = text.indexOf(marker);
122
+ while (at !== -1) {
123
+ codepoints.add(marker);
124
+ // Converted to a code-point offset for the same reason as above — `indexOf` counts UTF-16.
125
+ offsets.push([...text.slice(0, at)].length);
126
+ at = text.indexOf(marker, at + marker.length);
127
+ }
128
+ }
129
+ if (codepoints.size === 0)
130
+ return null;
131
+ offsets.sort((a, b) => a - b);
132
+ return {
133
+ reason: "document_content_refused",
134
+ // MACHINE-READABLE (§16.7-6). The default resolution is that the SENDER adopts the receiver's
135
+ // rule for this document — rules compose toward strict — and that only works if the sender can
136
+ // tell which character to stop emitting. Prose cannot carry that.
137
+ //
138
+ // Every distinct offender is named, not just the first: one round trip per character would be a
139
+ // rejection round each, and the protocol stalls at three.
140
+ detail: JSON.stringify({
141
+ rule: SCREEN_RULE_ID,
142
+ codepoints: [...codepoints],
143
+ count: offsets.length,
144
+ offsets,
145
+ }),
146
+ };
147
+ };
148
+ //# sourceMappingURL=document-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-screen.js","sourceRoot":"","sources":["../src/document-screen.ts"],"names":[],"mappings":"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"}
@@ -251,6 +251,27 @@ export declare class DocumentStore {
251
251
  */
252
252
  lastPublishedStateVector(ownerAgentId: string, documentId: string, senderAgentId: string): Uint8Array | null;
253
253
  /** The rejecting agent's most recent envelope for this document, for chain linkage. */
254
+ /**
255
+ * The head of a sender's chain AS WE SEE IT — including envelopes we REFUSED.
256
+ *
257
+ * A refused envelope is never written to `document_envelopes`, but the sender's chain does not
258
+ * rewind: their supersession links to the envelope we just refused. Taking the head from the log
259
+ * alone meant that link never matched, so the supersession was refused as `document_chain_broken`
260
+ * — and so was everything after it, forever. Measured against two real daemons: the gate fired
261
+ * ONCE and the next three envelopes never reached it, so the retry round stuck at 1 and the
262
+ * document could never reach the stall the protocol defines.
263
+ *
264
+ * That is the bridge the quarantine was built for — it stores the refused envelope's own author
265
+ * and prev-hash saying exactly this — and it had only ever been applied to `verifyChainLinkage`,
266
+ * the local replay check. An earlier attempt added the quarantine to the KNOWN-hash set, which
267
+ * was not enough and is worth recording: `known` answers "have I seen this before" (duplicate
268
+ * detection), while the forward link is checked against the HEAD. Bridging the wrong one looks
269
+ * right and changes nothing.
270
+ *
271
+ * `log_index` and the quarantine's `created_at` are different clocks, so they are not merged into
272
+ * one ORDER BY. Whichever is newer by arrival is the head: a refusal always happens after the
273
+ * envelope it refuses, so a quarantine row newer than the last admitted envelope IS the head.
274
+ */
254
275
  lastEnvelopeHashBySender(ownerAgentId: string, documentId: string, senderAgentId: string): string | null;
255
276
  /**
256
277
  * Envelopes this agent authored that the peer has not acknowledged, and whose next attempt is
@@ -1 +1 @@
1
- {"version":3,"file":"document-store.d.ts","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-store.d.ts","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"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"}
@@ -590,13 +590,45 @@ export class DocumentStore {
590
590
  return r?.state_vector === undefined ? null : toU8(r.state_vector);
591
591
  }
592
592
  /** The rejecting agent's most recent envelope for this document, for chain linkage. */
593
+ /**
594
+ * The head of a sender's chain AS WE SEE IT — including envelopes we REFUSED.
595
+ *
596
+ * A refused envelope is never written to `document_envelopes`, but the sender's chain does not
597
+ * rewind: their supersession links to the envelope we just refused. Taking the head from the log
598
+ * alone meant that link never matched, so the supersession was refused as `document_chain_broken`
599
+ * — and so was everything after it, forever. Measured against two real daemons: the gate fired
600
+ * ONCE and the next three envelopes never reached it, so the retry round stuck at 1 and the
601
+ * document could never reach the stall the protocol defines.
602
+ *
603
+ * That is the bridge the quarantine was built for — it stores the refused envelope's own author
604
+ * and prev-hash saying exactly this — and it had only ever been applied to `verifyChainLinkage`,
605
+ * the local replay check. An earlier attempt added the quarantine to the KNOWN-hash set, which
606
+ * was not enough and is worth recording: `known` answers "have I seen this before" (duplicate
607
+ * detection), while the forward link is checked against the HEAD. Bridging the wrong one looks
608
+ * right and changes nothing.
609
+ *
610
+ * `log_index` and the quarantine's `created_at` are different clocks, so they are not merged into
611
+ * one ORDER BY. Whichever is newer by arrival is the head: a refusal always happens after the
612
+ * envelope it refuses, so a quarantine row newer than the last admitted envelope IS the head.
613
+ */
593
614
  lastEnvelopeHashBySender(ownerAgentId, documentId, senderAgentId) {
594
- const r = this.#db
595
- .prepare(`SELECT envelope_hash FROM document_envelopes
615
+ const admitted = this.#db
616
+ .prepare(`SELECT envelope_hash, created_at FROM document_envelopes
596
617
  WHERE owner_agent_id = ? AND document_id = ? AND sender_agent_id = ?
597
618
  ORDER BY log_index DESC LIMIT 1`)
598
619
  .get(ownerAgentId, documentId, senderAgentId);
599
- return r?.envelope_hash ?? null;
620
+ const refused = this.#db
621
+ .prepare(`SELECT rejected_envelope_hash AS envelope_hash, created_at FROM document_quarantine
622
+ WHERE owner_agent_id = ? AND document_id = ? AND rejected_sender_agent_id = ?
623
+ ORDER BY created_at DESC LIMIT 1`)
624
+ .get(ownerAgentId, documentId, senderAgentId);
625
+ if (!refused?.envelope_hash)
626
+ return admitted?.envelope_hash ?? null;
627
+ if (!admitted?.envelope_hash)
628
+ return refused.envelope_hash;
629
+ return (refused.created_at ?? 0) >= (admitted.created_at ?? 0)
630
+ ? refused.envelope_hash
631
+ : admitted.envelope_hash;
600
632
  }
601
633
  // ─── delivery (DELIVERY-1) ────────────────────────────────────────────────
602
634
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"document-store.js","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-store.js","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,33 @@ export declare class RetryQueue {
79
79
  * Returns the number of successfully delivered messages.
80
80
  */
81
81
  drainSession(sessionId: string, sendFn: ResendFn): Promise<number>;
82
+ /**
83
+ * Remove the DIRECT-resend entries (awaiting_ack = 0) of a session that can never drain again.
84
+ *
85
+ * Removal is authorised by ONE thing: the session reached a status from which no resend can
86
+ * succeed. Never by age — "old" is not "undeliverable", and an age sweep discards live content
87
+ * on a slow link (the DOD-SESSION-REAP-1 rule).
88
+ *
89
+ * Awaiting-ACK rows are deliberately left alone. They drain through `drainAwaitingToPark`, which
90
+ * the startup flush really calls, so they are not stranded; their terminal disposition is a
91
+ * separate concern. Deleting them here would discard content that path still owes delivery on.
92
+ *
93
+ * @returns how many entries were removed — 0 is the normal case and is silent.
94
+ */
95
+ reapTerminalSession(sessionId: string, terminalStatus: "sealed" | "abandoned"): number;
96
+ /**
97
+ * DOD-RETRYQ-STRAND-1: reconcile at startup. The terminal-transition hook only covers sessions
98
+ * that go terminal while THIS daemon is running. A session that was already sealed/abandoned
99
+ * before boot never transitions again — `cello_close_session` returns `already_abandoned`
100
+ * without reaching `abandonSession` — so its rows would strand forever with no path that could
101
+ * ever clear them. That is the shape of the row found on the live daemon.
102
+ *
103
+ * Still evidence-gated: the session's terminal status is the evidence, read from the DB. Nothing
104
+ * here consults age.
105
+ *
106
+ * @returns total entries reaped across all already-terminal sessions.
107
+ */
108
+ reapAlreadyTerminalSessions(): number;
82
109
  /** Total retry queue depth across all sessions. */
83
110
  getTotalDepth(): number;
84
111
  /** Retry queue depth for a specific session. */
@@ -1 +1 @@
1
- {"version":3,"file":"retry-queue.d.ts","sourceRoot":"","sources":["../src/retry-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry-queue.d.ts","sourceRoot":"","sources":["../src/retry-queue.ts"],"names":[],"mappings":"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"}