Skip to content

Interface: SenderKeyRecoveryResult

Defined in: rine-core/dist/src/group-recovery.d.ts:6

What recovering a sender-key group did, and what it could not do.

Properties

Property Type Description Defined in
ingested number Sender keys newly installed. The scan is this agent's WHOLE distribution inbox rather than one group's share of it — the group a distribution belongs to is only known after its DM is decrypted — so a recovery run for one group also installs any key waiting for another. The count says what was installed, not what was installed here. rine-core/dist/src/group-recovery.d.ts:15
mlsNeverFoundedNote? string Set when the group was created to run MLS and its ratchet tree was never founded: what this recovery could not reach, in the words every surface prints — mlsNeverFoundedSync, already carrying this surface's own spelling of the founding verb. A fact about the GROUP, not about the scan, so it rides on all three sender-key answers alike. Absent, never null or empty, when there is nothing to say: a consumer spreading the result into JSON then emits no key at all, which is the actorNote rule this stack already follows. 🔴 It is deliberately not called warning. rine-mcp spreads an actor note over this result under exactly that key, and the hermes tool passes one as **note, so a second warning here would silently overwrite the first on MCP and raise TypeError on hermes. rine-core/dist/src/group-recovery.d.ts:62
regime "sender-key" - rine-core/dist/src/group-recovery.d.ts:7
retired boolean True when this agent retired its keys for this group and nothing lifted that retirement, so nothing was installed and nothing could be. 🔴 It is NOT "the server said this agent is not a member". The gate fails closed — a membership read that errors keeps the refusal, because a transport failure proves nothing — so this flag covers both "the server does not name this agent a member" and "the server could not be asked". Anything rendering it must leave a retry open. rine-core/dist/src/group-recovery.d.ts:26
unscanned? number How many distribution DMs the server counts for this agent beyond the single page the scan read — the exact shortfall, straight out of the total the list response already carries, at no extra request. Absent, never zero and never null, when the page covered everything (and when the scan never ran, which is the retired arm): the renderer's shortfall sentence is the only reader, so an absent field and a 0 would mean the same thing to it while a spread into JSON would print a number that says nothing happened. 🔴 It counts what the pass did not LOOK at, and it is not a count of keys this agent is missing. The inbox listing is every distribution this agent has ever been sent, so most of what sits behind that page is material it installed long ago — SenderKeyScan's own doc carries the same warning, and the sentence built from it may state the number and may not conclude a missing key from it. rine-core/dist/src/group-recovery.d.ts:45