Skip to content

docs: correct canonical-schema pointers (CLUS-53) and encryption status (CLUS-54) - #1

Open
dlockamy wants to merge 2 commits into
mainfrom
docs/clus-53-54-canonical-pointers-and-encryption-status
Open

dlockamy wants to merge 2 commits into
mainfrom
docs/clus-53-54-canonical-pointers-and-encryption-status

Conversation

@dlockamy

Copy link
Copy Markdown
Contributor

Doc-only. No wire change, no schema change, no code touched.

CLUS-53 — canonical-schema pointers

proto/README.md named devicenix/core as message-kit's home. That is doubly wrong: DeviceNix was retired into BenixOS / SlashBuilder on 2026-08-22, and message-kit is its own repo at slash-builder/message-kit.

Also in proto/README.md:

  • New Canonical home section stating plainly that this repo is the canonical home of the schema as of 2026-08-22, moved from quickring/quickring.me (quickring.me@53bf891), whose main no longer contains a proto/ directory at all.
  • ADR-0002's path corrected to slash-builder/fabric-kit, with a note that ADR-0002's own body predates the move (that ADR is amended in the companion fabric-kit PR).
  • New Naming section: the quickring.v1 package and the WebSocket subprotocol id are deliberately unchanged pending the coordinated wire break under QR-33.

CLUS-54 — encryption.md status

docs/encryption.md's header claimed "SPECIFIED. NOTHING IN THIS DOCUMENT IS IMPLEMENTED ... no X25519 key, no AEAD, no HPKE, and no ciphertext on the wire." Written 2026-08-16; overtaken by the QR-136 programme four days later (executed and countersigned 2026-08-20) and carried forward unchanged through the extraction into this repo, which flagged it in the README as known, unfixed staleness.

Three places asserted it; all three corrected:

  1. The status header — now records that E0 and E1 are implemented and live (X25519 sealing keys, RFC 9180 HPKE mode_base DHKEM(X25519, HKDF-SHA256)/HKDF-SHA256/ChaCha20-Poly1305, XChaCha20-Poly1305 content encryption), with the doc-lag itself recorded rather than silently overwritten.
  2. §1.2's status table — the E0/E1 rows (3.2, 3.3–3.5, 5.3, 5.4, 5.6, 6, 7, 11) rewritten against the countersigned record.
  3. §12 "What is NOT implemented" — was the prose duplicate of §1.2 and had become flatly false ("No content encryption exists", "No X25519 key exists anywhere in the stack"). Rewritten to list what is actually still unbuilt (E2+, key revocation, capability enforcement, the bootstrap model, universal encryption coverage). The obsolete 2026-08-16 list is preserved as a collapsed historical record rather than deleted.

Deliberately not papered over

fabric-kit's current E0 path is live but not yet byte-conformant to §7. That is stated in the header, in the §7 row, and in §12, with this document normative and the code the thing that moves. Tracked as QR-228 / QR-229, being fixed in parallel — no fabric-kit code is touched by this PR.

README.md is updated to retire its "known staleness" flag and to record that message-kit is now repointed at this repo (pinned to 935712a) while fabric-kit / hub / gateway / courier are not.

🤖 Generated with Claude Code

…us (CLUS-54)

CLUS-53 — proto/README.md named `devicenix/core` as message-kit's home.
That is doubly wrong: DeviceNix was retired into BenixOS/SlashBuilder on
2026-08-22, and message-kit is its own repo at slash-builder/message-kit.
Also states plainly that this repo is the canonical home of the schema as
of 2026-08-22 (moved from quickring/quickring.me, whose main no longer has
a proto/ directory), fixes the ADR-0002 path to slash-builder/fabric-kit,
and adds a Naming section recording that the quickring.v1 package and the
WebSocket subprotocol id are unchanged pending the coordinated QR-33 rename.

CLUS-54 — docs/encryption.md's header claimed "NOTHING IN THIS DOCUMENT IS
IMPLEMENTED ... no X25519 key, no AEAD, no HPKE, no ciphertext on the wire."
Written 2026-08-16; overtaken by the QR-136 programme on 2026-08-20 and
carried forward unchanged through the extraction to this repo. Corrected in
three places that all asserted it: the status header, the §1.2 status table
(E0/E1 rows), and §12 "What is NOT implemented" (rewritten; the obsolete
2026-08-16 list is preserved as a collapsed historical record).

Deliberately not papered over: fabric-kit's current E0 path is live but not
yet byte-conformant to §7. That is recorded in the header, in the §7 row, and
in §12, with this document normative and the code the thing that moves.
Tracked as QR-228/QR-229 and being fixed in parallel.

Doc-only. No wire change, no schema change, no code touched.

chore(agents): messaging-architect — CLUS-53/CLUS-54 doc staleness sweep
… (CLUS-54)

§2.4's may-we-say-this table gated two sentences on "when E1 ships." E1
shipped 2026-08-20 (QR-136), so the table read as more restrictive than
reality while §12 read as less. The gates are left as written — the gate,
not the verdict, is the durable part — with a dated status note recording
that the E1 gates are met, that they are met only for content actually
published through the encrypting path (§11.2), that the bootstrap-gated
rows are still gated because device0_seed_hex has not been deleted, and
that whether a met gate is published is quickring-pm's call, not this
document's.

chore(agents): messaging-architect — CLUS-54 doc staleness sweep
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant