@cello-protocol/daemon 0.0.171 → 0.0.172

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.
@@ -26,6 +26,28 @@ import { AgentRelayClient, type RelayAssignmentCarry } from "./session-relay-cli
26
26
  import { RelayReceiptStore, type RelayReceipt } from "./relay-receipt-store.js";
27
27
  import { SessionSealLeafStore, type SealCarryLeaf } from "./session-seal-leaf-store.js";
28
28
  import { type SecurityGatewayClient } from "@cello-protocol/gateway";
29
+ /**
30
+ * DOD-CAP-SELF-HEAL-1 — how long an interrupted session keeps consuming a cap slot.
31
+ *
32
+ * ATTRIBUTION ALONE DID NOT FIX THIS, and the reason is worth keeping. Recording who ended a
33
+ * session only works for sessions ended after the recording started: every row written before the
34
+ * column existed is unlabelled, and an unlabelled row counts. So the operator's actual backlog —
35
+ * five finished conversations that were blocking two of their own agents — was untouched by it.
36
+ * Attribution can never clear history, and history is what fills a cap.
37
+ *
38
+ * Age can. An interrupted session nobody has touched for hours is debris, not a live obligation,
39
+ * and that is true whether our restart or their disconnect produced it.
40
+ *
41
+ * D18 SURVIVES BECAUSE THE ATTACK IS A RATE. The disconnect-evasion peer has to drop and reopen
42
+ * faster than this window to gain anything, so everything it churns is recent and everything it
43
+ * churns still counts. What ages out is the thing that was never an attack: a conversation that
44
+ * finished. An attacker who waits out the window to gain one slot per window is not evading the
45
+ * bound, they are obeying a slower one — and the global anti-swarm cap still applies on top.
46
+ *
47
+ * Two hours: comfortably longer than any churn worth attacking with, comfortably shorter than
48
+ * "yesterday's conversation still blocks me".
49
+ */
50
+ export declare const CAP_INTERRUPTED_TTL_MS: number;
29
51
  /**
30
52
  * DOD-M12B-ABANDON-NOTIFY-1 — what happened when we tried to tell the counterparty we hung up.
31
53
  *
@@ -751,6 +773,40 @@ export declare class SessionNodeManager {
751
773
  * Used by cello status to surface interrupted sessions.
752
774
  */
753
775
  getSessionsByStatus(status: "active" | "sealed" | "interrupted"): SessionRecord[];
776
+ /**
777
+ * DOD-M12B-RESTART-SEAL-1 — the sessions OUR OWN stop orphaned, and only those.
778
+ *
779
+ * `interrupted_by` is the whole safety argument. `'local'` means the boot sweep, the shutdown
780
+ * sweep, or the operator's own kill switch ended this session — nobody else did, and it cannot be
781
+ * resumed because the transport keypairs died with the process. Those are the ones the resolver
782
+ * may seal on its own.
783
+ *
784
+ * Everything else is excluded and must stay excluded:
785
+ * 'counterparty' — they hung up. SI-001: the operator may still want to wait.
786
+ * 'relay_stream_close' — our relay witness link ended; the session itself may be fine.
787
+ * NULL — written before the column existed, so the cause is UNKNOWN. An
788
+ * unknown cause is not a licence to notarize; it is the reason not to.
789
+ *
790
+ * Same INNER JOIN discipline as getSessionsByStatus: a retired agent's rows are kept for
791
+ * accountability and are not resumable, so they are not offered for sealing either.
792
+ */
793
+ listRestartOrphanedSessions(): Array<{
794
+ agentName: string;
795
+ sessionId: string;
796
+ messageCount: number;
797
+ }>;
798
+ /**
799
+ * DOD-M12B-RESTART-SEAL-1 — record that automatic sealing has exhausted this session.
800
+ *
801
+ * Durable on purpose. The resolver's attempt budget is in memory, so without this the budget
802
+ * resets on every boot and a session that can never seal costs five directory ceremonies a day
803
+ * for the life of the machine.
804
+ *
805
+ * IT IS NOT A DEAD END FOR THE OPERATOR. The row keeps status `interrupted`, so a manual
806
+ * `cello_close_session` still works on it and — since DOD-M12B-INTERRUPTED-ESCALATE-1 — still
807
+ * escalates to a unilateral seal. This column only withdraws the session from AUTOMATIC retries.
808
+ */
809
+ markRestartSealGaveUp(agentName: string, sessionId: string, reason: string): void;
754
810
  /**
755
811
  * cello_list_sessions: every persisted session for one agent, regardless of
756
812
  * status (active, interrupted, sealed, seal_interrupted_pending). Ordered most
@@ -775,6 +831,26 @@ export declare class SessionNodeManager {
775
831
  * persisted); in that case we no-op rather than throw — the cert still flows through the
776
832
  * live return path. The legibility content is identical regardless of delivery timing.
777
833
  */
834
+ /**
835
+ * DOD-M12B-INTERRUPTED-ESCALATE-1 — flip a session to `sealed`, synchronously, without needing a
836
+ * live node.
837
+ *
838
+ * **`destroySessionNode(…, "sealed")` cannot be relied on to do this.** It returns early at
839
+ * `if (!entry) return`, and the status write lives 26 lines BELOW that guard — so it flips the
840
+ * status only for a session that still has an `#activeNodes` entry. An interrupted session has
841
+ * none by construction: every producer of that status deletes the entry. Before this method, a
842
+ * unilateral seal on an interrupted session stored the notarized root and the certificate and
843
+ * left the row saying `interrupted` — the receipt landed and nothing that represents it moved.
844
+ * `cello_sessions` still showed it stuck, `cello_close_session` still refused it by name, and the
845
+ * restart-seal resolver re-selected it on the next boot to run the whole ceremony again against a
846
+ * session that already held a receipt.
847
+ *
848
+ * STATUS FIRST AND SYNCHRONOUS, teardown second — the order `abandonSession` uses and the one
849
+ * `retireSession` documents. The flip is the load-bearing half; the teardown makes memory agree
850
+ * with it. `#updateSessionStatus` also runs the terminal disposition hooks (held content is
851
+ * annexed, not stranded), which the early return skipped entirely.
852
+ */
853
+ markSealed(agentName: string, sessionId: string): boolean;
778
854
  recordSealCertificate(agentName: string, sessionId: string, sealedRootHex: string, legibilityJson: string): void;
779
855
  /**
780
856
  * M8B FINDING-6 (cascade-2): persist a seal certificate for a session that may have NO local
@@ -1 +1 @@
1
- {"version":3,"file":"session-node-manager.d.ts","sourceRoot":"","sources":["../src/session-node-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-node-manager.d.ts","sourceRoot":"","sources":["../src/session-node-manager.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,28 @@ const SHUTDOWN_STEP_DEADLINE_MS = 2_000;
97
97
  * operator says. It is cleared on a successful dial, so it never delays a live counterparty.
98
98
  */
99
99
  const REDIAL_COOLDOWN_MS = 15_000;
100
+ /**
101
+ * DOD-CAP-SELF-HEAL-1 — how long an interrupted session keeps consuming a cap slot.
102
+ *
103
+ * ATTRIBUTION ALONE DID NOT FIX THIS, and the reason is worth keeping. Recording who ended a
104
+ * session only works for sessions ended after the recording started: every row written before the
105
+ * column existed is unlabelled, and an unlabelled row counts. So the operator's actual backlog —
106
+ * five finished conversations that were blocking two of their own agents — was untouched by it.
107
+ * Attribution can never clear history, and history is what fills a cap.
108
+ *
109
+ * Age can. An interrupted session nobody has touched for hours is debris, not a live obligation,
110
+ * and that is true whether our restart or their disconnect produced it.
111
+ *
112
+ * D18 SURVIVES BECAUSE THE ATTACK IS A RATE. The disconnect-evasion peer has to drop and reopen
113
+ * faster than this window to gain anything, so everything it churns is recent and everything it
114
+ * churns still counts. What ages out is the thing that was never an attack: a conversation that
115
+ * finished. An attacker who waits out the window to gain one slot per window is not evading the
116
+ * bound, they are obeying a slower one — and the global anti-swarm cap still applies on top.
117
+ *
118
+ * Two hours: comfortably longer than any churn worth attacking with, comfortably shorter than
119
+ * "yesterday's conversation still blocks me".
120
+ */
121
+ export const CAP_INTERRUPTED_TTL_MS = Number(process.env["CELLO_CAP_INTERRUPTED_TTL_MS"]) || 2 * 60 * 60 * 1000;
100
122
  /**
101
123
  * DOD-CAP-SELF-HEAL-1 — what counts against a per-sender acceptance bound.
102
124
  *
@@ -117,9 +139,13 @@ const REDIAL_COOLDOWN_MS = 15_000;
117
139
  const CAP_COUNTS = (alias = "") => {
118
140
  const p = alias ? `${alias}.` : "";
119
141
  return `(${p}status = 'active'
120
- OR (${p}status = 'interrupted' AND COALESCE(${p}interrupted_by, 'counterparty') != 'local'))`;
142
+ OR (${p}status = 'interrupted'
143
+ AND COALESCE(${p}interrupted_by, 'counterparty') != 'local'
144
+ AND ${p}updated_at >= ?))`;
121
145
  };
122
146
  const CAP_COUNT_SQL = (where) => `SELECT COUNT(*) AS n FROM sessions WHERE ${where} AND ${CAP_COUNTS()}`;
147
+ /** The cutoff an interrupted session must be newer than to still count. */
148
+ const capStaleBefore = () => Date.now() - CAP_INTERRUPTED_TTL_MS;
123
149
  // Persistence bounds are TIER-GRADUATED via DEFAULT_TIER_BOUNDS (contacts-tier-migration). The two
124
150
  // consts below DERIVE from the grid's UNKNOWN row rather than restating it — the grid is the single
125
151
  // source (DOD-TIER-2 AC4), so these can never drift from it.
@@ -773,6 +799,11 @@ export class SessionNodeManager {
773
799
  // that has talked three times can never talk again. NULL means "not recorded" and is treated
774
800
  // as the counterparty's, because the safe default for an anti-abuse bound is to count it.
775
801
  "ALTER TABLE sessions ADD COLUMN interrupted_by TEXT",
802
+ // DOD-M12B-RESTART-SEAL-1: when automatic sealing exhausted this session, and why. Durable
803
+ // because the resolver's attempt budget is in memory — without it a machine that restarts
804
+ // several times a day re-runs the whole budget against a hopeless session on every boot.
805
+ "ALTER TABLE sessions ADD COLUMN restart_seal_gave_up_at INTEGER",
806
+ "ALTER TABLE sessions ADD COLUMN restart_seal_gave_up_reason TEXT",
776
807
  ]) {
777
808
  try {
778
809
  this.#db.exec(ddl);
@@ -1772,7 +1803,7 @@ export class SessionNodeManager {
1772
1803
  return 0;
1773
1804
  const row = this.#db
1774
1805
  .prepare(CAP_COUNT_SQL("agent_id = ? AND counterparty_pubkey = ?"))
1775
- .get(this.#requireAgentId(agentName), counterpartyPubkey);
1806
+ .get(this.#requireAgentId(agentName), counterpartyPubkey, capStaleBefore());
1776
1807
  return row.n;
1777
1808
  }
1778
1809
  /** M8C-ABUSE-1 (anti-swarm) + DOD-TIER-2: non-terminal sessions this agent holds with UNKNOWN-tier
@@ -1794,7 +1825,7 @@ export class SessionNodeManager {
1794
1825
  WHERE c.agent_id = s.agent_id AND c.pubkey = s.counterparty_pubkey
1795
1826
  AND c.tier >= ${TIER.KNOWN} AND c.tier <= ${TIER.VIP}
1796
1827
  )`)
1797
- .get(this.#requireAgentId(agentName));
1828
+ .get(this.#requireAgentId(agentName), capStaleBefore());
1798
1829
  return row.n;
1799
1830
  }
1800
1831
  /** M8C-ABUSE-1 + DOD-TIER-2/3: is a NEW inbound session from this counterparty within the
@@ -3131,6 +3162,69 @@ export class SessionNodeManager {
3131
3162
  WHERE s.status = ? AND a.state != 'retired'`)
3132
3163
  .all(status);
3133
3164
  }
3165
+ /**
3166
+ * DOD-M12B-RESTART-SEAL-1 — the sessions OUR OWN stop orphaned, and only those.
3167
+ *
3168
+ * `interrupted_by` is the whole safety argument. `'local'` means the boot sweep, the shutdown
3169
+ * sweep, or the operator's own kill switch ended this session — nobody else did, and it cannot be
3170
+ * resumed because the transport keypairs died with the process. Those are the ones the resolver
3171
+ * may seal on its own.
3172
+ *
3173
+ * Everything else is excluded and must stay excluded:
3174
+ * 'counterparty' — they hung up. SI-001: the operator may still want to wait.
3175
+ * 'relay_stream_close' — our relay witness link ended; the session itself may be fine.
3176
+ * NULL — written before the column existed, so the cause is UNKNOWN. An
3177
+ * unknown cause is not a licence to notarize; it is the reason not to.
3178
+ *
3179
+ * Same INNER JOIN discipline as getSessionsByStatus: a retired agent's rows are kept for
3180
+ * accountability and are not resumable, so they are not offered for sealing either.
3181
+ */
3182
+ listRestartOrphanedSessions() {
3183
+ if (!this.#db)
3184
+ return [];
3185
+ const rows = this.#db
3186
+ .prepare(
3187
+ // `message_count > 0` — a never-messaged interrupted session is a dead HANDSHAKE, which
3188
+ // `classifySession` deliberately hides in the "failed" bucket so it does not clutter
3189
+ // status. Sealing one spends a directory ceremony to obtain a receipt over nothing, and
3190
+ // then moves it into the operator's CLOSED list, making the clutter visible. The whole
3191
+ // justification for this work is "3,576 messages produced nothing" — zero messages is
3192
+ // nothing to produce.
3193
+ //
3194
+ // `restart_seal_gave_up_at IS NULL` — a session we have already exhausted. Without it a
3195
+ // machine restarting ~6 times a day re-runs five ceremonies against a hopeless session on
3196
+ // every boot, forever.
3197
+ `SELECT s.session_id AS session_id, s.message_count AS message_count, a.agent_name AS agent_name
3198
+ FROM sessions s JOIN agents a ON a.agent_id = s.agent_id
3199
+ WHERE s.status = 'interrupted' AND s.interrupted_by = 'local' AND a.state != 'retired'
3200
+ AND s.message_count > 0
3201
+ AND s.restart_seal_gave_up_at IS NULL
3202
+ ORDER BY s.updated_at ASC`)
3203
+ .all();
3204
+ return rows.map((r) => ({
3205
+ agentName: r.agent_name,
3206
+ sessionId: r.session_id,
3207
+ messageCount: r.message_count ?? 0,
3208
+ }));
3209
+ }
3210
+ /**
3211
+ * DOD-M12B-RESTART-SEAL-1 — record that automatic sealing has exhausted this session.
3212
+ *
3213
+ * Durable on purpose. The resolver's attempt budget is in memory, so without this the budget
3214
+ * resets on every boot and a session that can never seal costs five directory ceremonies a day
3215
+ * for the life of the machine.
3216
+ *
3217
+ * IT IS NOT A DEAD END FOR THE OPERATOR. The row keeps status `interrupted`, so a manual
3218
+ * `cello_close_session` still works on it and — since DOD-M12B-INTERRUPTED-ESCALATE-1 — still
3219
+ * escalates to a unilateral seal. This column only withdraws the session from AUTOMATIC retries.
3220
+ */
3221
+ markRestartSealGaveUp(agentName, sessionId, reason) {
3222
+ if (!this.#db)
3223
+ return;
3224
+ this.#db
3225
+ .prepare("UPDATE sessions SET restart_seal_gave_up_at = ?, restart_seal_gave_up_reason = ? WHERE agent_id = ? AND session_id = ?")
3226
+ .run(Date.now(), reason, this.#requireAgentId(agentName), sessionId);
3227
+ }
3134
3228
  /**
3135
3229
  * cello_list_sessions: every persisted session for one agent, regardless of
3136
3230
  * status (active, interrupted, sealed, seal_interrupted_pending). Ordered most
@@ -3176,6 +3270,31 @@ export class SessionNodeManager {
3176
3270
  * persisted); in that case we no-op rather than throw — the cert still flows through the
3177
3271
  * live return path. The legibility content is identical regardless of delivery timing.
3178
3272
  */
3273
+ /**
3274
+ * DOD-M12B-INTERRUPTED-ESCALATE-1 — flip a session to `sealed`, synchronously, without needing a
3275
+ * live node.
3276
+ *
3277
+ * **`destroySessionNode(…, "sealed")` cannot be relied on to do this.** It returns early at
3278
+ * `if (!entry) return`, and the status write lives 26 lines BELOW that guard — so it flips the
3279
+ * status only for a session that still has an `#activeNodes` entry. An interrupted session has
3280
+ * none by construction: every producer of that status deletes the entry. Before this method, a
3281
+ * unilateral seal on an interrupted session stored the notarized root and the certificate and
3282
+ * left the row saying `interrupted` — the receipt landed and nothing that represents it moved.
3283
+ * `cello_sessions` still showed it stuck, `cello_close_session` still refused it by name, and the
3284
+ * restart-seal resolver re-selected it on the next boot to run the whole ceremony again against a
3285
+ * session that already held a receipt.
3286
+ *
3287
+ * STATUS FIRST AND SYNCHRONOUS, teardown second — the order `abandonSession` uses and the one
3288
+ * `retireSession` documents. The flip is the load-bearing half; the teardown makes memory agree
3289
+ * with it. `#updateSessionStatus` also runs the terminal disposition hooks (held content is
3290
+ * annexed, not stranded), which the early return skipped entirely.
3291
+ */
3292
+ markSealed(agentName, sessionId) {
3293
+ // The terminal guard (abandoned/sealed must not be overwritten) lives in #updateSessionStatus,
3294
+ // so it holds for destroySessionNode and retireSession too — not only for callers of this
3295
+ // wrapper.
3296
+ return this.#updateSessionStatus(agentName, sessionId, "sealed");
3297
+ }
3179
3298
  recordSealCertificate(agentName, sessionId, sealedRootHex, legibilityJson) {
3180
3299
  if (!this.#db)
3181
3300
  return;
@@ -4095,6 +4214,33 @@ export class SessionNodeManager {
4095
4214
  // this point wins, the second short-circuits. The check+set is SYNCHRONOUS (before any await) so
4096
4215
  // two near-simultaneous triggers (e.g. B's own close racing A's delivered SEAL ctrl leaf) cannot
4097
4216
  // both submit. Cleared below on a relay submit failure so a genuine retry can proceed.
4217
+ // DOD-M12B-INTERRUPTED-ESCALATE-1 — THE MARK MUST SURVIVE A RESTART, or one automatic retry
4218
+ // permanently forfeits the receipt.
4219
+ //
4220
+ // `#responderSealSubmitted` is in memory. A session whose close was in flight when the daemon
4221
+ // stopped already has our SEAL ctrl leaf in the relay log — and on the next boot the mark is
4222
+ // empty, so the restart-seal resolver's automatic close would submit a SECOND one. The
4223
+ // directory requires exactly one ctrl leaf (`ctrlLeaves.length !== 1 → unilateral_seal_leaf_invalid`)
4224
+ // and the carry is durable, so every future attempt would carry both and be refused forever.
4225
+ //
4226
+ // The durable evidence already exists and was simply not consulted: our own ctrl leaf is in
4227
+ // `session_seal_leaves`. Recover the escalation values from it instead of submitting again.
4228
+ if (!this.#responderSealSubmitted.has(sealKey)) {
4229
+ const durable = this.#recoverOwnSealCtrlLeaf(agentName, sessionId);
4230
+ if (durable === "unknown") {
4231
+ // REFUSE, do not submit. A second ctrl leaf makes the session unsealable forever, and the
4232
+ // question "is one already there?" just failed to answer. Refusing costs this close; a
4233
+ // second leaf costs the receipt permanently.
4234
+ return { ok: false, reason: "seal_leaf_recovery_unavailable" };
4235
+ }
4236
+ if (durable !== "none") {
4237
+ this.#logger.info("session.seal.leaf.already_submitted.recovered", {
4238
+ sessionId, agentName, sequenceNumber: durable.sequenceNumber,
4239
+ impact: "our SEAL ctrl leaf is already in the relay log from a previous run; submitting a second would make this session unsealable forever",
4240
+ });
4241
+ this.#responderSealSubmitted.set(sealKey, durable);
4242
+ }
4243
+ }
4098
4244
  if (this.#responderSealSubmitted.has(sealKey)) {
4099
4245
  // M8B FINDING-1: carry the FIRST submit's reported root/sequence so a retry close can
4100
4246
  // still escalate to a unilateral seal. A null value means that submit is still in
@@ -4950,6 +5096,69 @@ export class SessionNodeManager {
4950
5096
  /** DOD-M12B-INDEX-1 — this agent's own K_local pubkey, for attributing its own held content.
4951
5097
  * Null when it cannot be resolved: an UNATTRIBUTED annex row is true, a falsely attributed one
4952
5098
  * is not, and this is the record that outlives the session. */
5099
+ /**
5100
+ * DOD-M12B-INTERRUPTED-ESCALATE-1 — our own SEAL ctrl leaf, if a previous run already posted one.
5101
+ *
5102
+ * Returns the two values a unilateral escalation runs on, rebuilt from durable state:
5103
+ * the ctrl leaf's relay-assigned sequence, and the root the tree WOULD have with that leaf
5104
+ * appended. The content hash cannot be recomputed — the seal payload embeds a `close_timestamp`
5105
+ * — so it is read out of the signed Structure 1 the store already holds.
5106
+ *
5107
+ * Null when there is no own ctrl leaf, which is the ordinary first-close case.
5108
+ */
5109
+ #recoverOwnSealCtrlLeaf(agentName, sessionId) {
5110
+ const ownPubkey = this.#ownPubkeyHex(agentName);
5111
+ // "I CANNOT TELL" IS NOT "THERE IS NONE". Returning the absent answer here would let the caller
5112
+ // submit a second SEAL ctrl leaf — the exact permanent loss this method exists to prevent — on
5113
+ // the strength of a lookup that failed. Every path that could not determine the answer says so.
5114
+ if (!ownPubkey) {
5115
+ this.#logger.warn("session.seal.leaf.recover.failed", {
5116
+ sessionId, agentName, reason: "own_pubkey_unresolved",
5117
+ impact: "cannot tell whether a SEAL ctrl leaf was already posted, so the close refuses rather than risk a second one",
5118
+ });
5119
+ return "unknown";
5120
+ }
5121
+ let own;
5122
+ try {
5123
+ own = this.getSealCarry(ownPubkey, sessionId)
5124
+ .find((l) => l.leafKind === LEAF_KIND_CTRL && l.senderPubkeyHex === ownPubkey);
5125
+ }
5126
+ catch (err) {
5127
+ this.#logger.warn("session.seal.leaf.recover.failed", {
5128
+ sessionId, agentName, reason: "carry_read_failed",
5129
+ error: err instanceof Error ? err.message : String(err),
5130
+ impact: "cannot tell whether a SEAL ctrl leaf was already posted, so the close refuses rather than risk a second one",
5131
+ });
5132
+ return "unknown";
5133
+ }
5134
+ if (!own)
5135
+ return "none";
5136
+ try {
5137
+ // Canonical Structure 1 is [version, content_hash, sender_pubkey, session_id, last_seen_seq, timestamp].
5138
+ const fields = decode(own.structure1Cbor);
5139
+ const contentHash = fields[1];
5140
+ if (!(contentHash instanceof Uint8Array)) {
5141
+ this.#logger.warn("session.seal.leaf.recover.failed", {
5142
+ sessionId, agentName, reason: "structure1_content_hash_missing",
5143
+ impact: "cannot tell whether a SEAL ctrl leaf was already posted, so the close refuses rather than risk a second one",
5144
+ });
5145
+ return "unknown";
5146
+ }
5147
+ const contentHashHex = Buffer.from(contentHash).toString("hex");
5148
+ return {
5149
+ reportedRootHex: this.getSessionTree(agentName, sessionId).rootWithAppendedHex(contentHashHex),
5150
+ sequenceNumber: own.sequenceNumber,
5151
+ };
5152
+ }
5153
+ catch (err) {
5154
+ this.#logger.warn("session.seal.leaf.recover.failed", {
5155
+ sessionId, agentName, reason: "structure1_decode_failed",
5156
+ error: err instanceof Error ? err.message : String(err),
5157
+ impact: "cannot tell whether a SEAL ctrl leaf was already posted, so the close refuses rather than risk a second one",
5158
+ });
5159
+ return "unknown";
5160
+ }
5161
+ }
4953
5162
  #ownPubkeyHex(agentName) {
4954
5163
  if (!this.#db)
4955
5164
  return null;
@@ -5277,7 +5486,7 @@ export class SessionNodeManager {
5277
5486
  return [];
5278
5487
  try {
5279
5488
  const rows = this.#db.prepare(`SELECT session_id FROM sessions WHERE agent_id = ? AND counterparty_pubkey = ? AND ${CAP_COUNTS()}
5280
- ORDER BY updated_at ASC LIMIT ?`).all(this.#requireAgentId(agentName), counterpartyPubkey, limit);
5489
+ ORDER BY updated_at ASC LIMIT ?`).all(this.#requireAgentId(agentName), counterpartyPubkey, capStaleBefore(), limit);
5281
5490
  return rows.map((r) => r.session_id);
5282
5491
  }
5283
5492
  catch {
@@ -7135,6 +7344,38 @@ export class SessionNodeManager {
7135
7344
  interruptedBy) {
7136
7345
  if (!this.#db)
7137
7346
  return false;
7347
+ // THE TERMINAL GUARD LIVES HERE, not in one wrapper, because there are three writers of
7348
+ // "sealed": markSealed, destroySessionNode, and retireSession on the witnessed-submit path.
7349
+ // Guarding only the wrapper asserts the invariant in a test while two other paths still break
7350
+ // it.
7351
+ //
7352
+ // abandoned → sealed REFUSED. A force-abandon is the documented way to give up a receipt.
7353
+ // A certificate arriving afterwards must not silently overturn the operator's decision. The
7354
+ // certificate is still stored by recordSealCertificate and stays retrievable.
7355
+ // sealed → sealed REFUSED. Nothing to write, and re-running the terminal disposition
7356
+ // hooks for a no-op should not be reported as a status that landed.
7357
+ if (status === "sealed") {
7358
+ const current = this.getSessionRecord(agentName, sessionId)?.status;
7359
+ if (current === "abandoned" || current === "sealed") {
7360
+ this.#logger.info("session.seal.status.not_written", {
7361
+ agentName, sessionId, currentStatus: current,
7362
+ impact: current === "abandoned"
7363
+ ? "a certificate arrived for a session the operator force-abandoned; it is stored and retrievable, but the row keeps saying abandoned"
7364
+ : "already sealed — nothing to write",
7365
+ });
7366
+ return false;
7367
+ }
7368
+ if (current === undefined) {
7369
+ // ORDINARY, not an error. recordSealCertificate documents this case: the seal can arrive
7370
+ // before the row is persisted. Falling through would emit `session.status.write.missed` at
7371
+ // ERROR level for a shape the system expects.
7372
+ this.#logger.info("session.seal.status.no_row", {
7373
+ agentName, sessionId,
7374
+ impact: "no session row yet — the certificate is still recorded and retrievable",
7375
+ });
7376
+ return false;
7377
+ }
7378
+ }
7138
7379
  const now = Date.now();
7139
7380
  try {
7140
7381
  const res = this.#db