0004: Forward compatibility for unknown record kinds¶
Status: accepted (Maintainer, 2026-10-16). Plan: ops/plan-architecture.md.
Implemented: not yet (2026-10-22). Verifiers still refuse an unknown record kind; no unverified_kind outcome exists.
Context¶
A verifier that meets a record kind it does not know refuses the whole export or pack. Every new kind therefore forces every consumer to upgrade before an operator may switch the feature on.
Decision¶
An unknown record kind whose chain links and signatures are intact becomes a distinct, non-failing outcome (
unverified_kind, reported with its count), or the verifier is tied to a negotiated format level. The core designs it first, as an ADR with vectors; the SDKs follow through the bundle.Unknown signed fields in a known kind stay refused (
unknown_field). Unsigned extras keep today’s behaviour: a record that otherwise verifies is still verified, with the extras reported (docs/reference/canonical-form.md).
Consequences¶
New kinds stop forcing simultaneous upgrades; strictness about fields is unchanged.