OverviewFilesCommitsIssuesDocsReleasesPeers

favela-markdown commits / d77b707

spec: the record names its author by user, not by DID
favela-identity §5 makes the DID a credential on a durable User rather than the root of identity. A DID in the record bytes would make rotating one a rewrite of every record, which record-vocabulary §8 forbids outright — so the canonical record carries a user reference and the DID is resolved at projection time. project(record, 'bsky') consequently needs a designated atproto credential: none means no projection plus a loss entry, several without a designation means refuse, because picking one silently publishes under an identity the author did not choose. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
d77b7078a641da78c2de23bc91de24c6fe24a050
by plankatron <fleeky@gmail.com> · 2026-09-03T01:40:18.000Z

Changed files (1) +15 -0

spec/library.md +15 -0
……@@ -67,6 +67,21 @@ STRIP_VERSION -> string // consensus-critical (§10.3)
6767No dependencies beyond a CommonMark parser. Must run under Bare and Node alike (the daemon is
6868Bare; the tests are Node), so no Node-only builtins.
6969
70### 3.1 A record names its author by USER, never by DID
71
72Decided in `favela-identity/spec/identity.md` §5 (2026-09-02): favela's account root becomes a
73`User` in its own IdentityRegistry autobase, and a DID becomes one credential attached to it.
74
75**Consequence for this package:** the canonical record carries a user reference, and the DID is
76resolved at **projection time** — `at://<did>/<collection>/<rkey>` is atproto addressing and
77nothing else. A DID in the record bytes would make rotating one a rewrite of every record, which
78`record-vocabulary.md` §8 forbids outright.
79
80`project(record, 'bsky')` therefore needs the author's **designated atproto credential**. With none
81it emits no projection and reports it in `loss[]` — fail-closed, exactly as §6 handles a non-public
82`visibility`. With several and no designation it refuses: picking one silently would publish under
83an identity the author did not choose.
84
7085---
7186
7287## 4. Projection returns a loss report