Skip to content

Type Alias: MlsReclamationDeclineReason

type MlsReclamationDeclineReason = "identity_unknown" | "identity_unseated" | "outstanding_unknown";

Defined in: rine-core/dist/src/mls-admission.d.ts:70

Why leaf reclamation declined to act on the orphan set it could see.

  • identity_unknown — an agent the group entitles to a seat has no readable signing key, so its leaf cannot be told apart from an orphan's. GET /agents/keys omits revoked agents, and an invitation outlives the revocation of the agent it names: dropping that agent's leaf while its voucher stands would evict somebody the group is still holding a seat for.
  • identity_unseated — an agent the server calls a member publishes a signing key that occupies no leaf in the tree. Membership and the ratchet tree have come apart — a key rotation is the ordinary cause — and while they are apart no leaf can be attributed, so a set difference would evict a seated member whose leaf still carries the key they published before.
  • outstanding_unknown — the group's live invitations could not be read, so every agent invited and not yet accepted would look like an orphan.

The same three reasons exist in the Python SDK under the same names (rine-sdk/src/rine/_mls/admission.py), on the MlsAdmissionSkipReason precedent: one vocabulary, so a surface renders either stack's report. The TypeScript pass raises on an unreadable outstanding read rather than declining — fetchGroupTree does not degrade the way its Python twin does — so it is the Python pass that emits outstanding_unknown.