OverviewFilesCommitsIssuesDocsReleasesPeers

favela-identity commits / 8d929a2

spec: "the peer" is a role, and hyper-proto-peer is not it
Correcting §7.5, which named hyper-proto-peer as the registry's writer. The user has ruled that out, and the exclusion follows from this project's own thesis: hpp is the self-custody ATPROTO peer daemon, and once atproto is demoted from the canonical path to a projection, hpp is describing a BRIDGE. Under §6 it is the natural implementation of bridge:bsky, beside ap-bridge as bridge:fediverse. The ownership split is unchanged — the peer writes, favela-web reads over RPC — because the topology already exists and only the daemon on the far end of the socket is in question. Which daemon that is becomes §10 item 6, and it is now the largest open question here: every other section assumes a writer exists and nothing names it. favela-node is not assumed to be the answer; it is also atproto-shaped by its own README. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
8d929a2c55766f9c12bfbc8d8faadbc60ebafd5c
by plankatron <fleeky@gmail.com> · 2026-09-03T01:43:50.000Z

Changed files (1) +24 -9

spec/identity.md +24 -9
……@@ -180,15 +180,25 @@ ceremonies. Design them as two from the start rather than discovering it in prod
180180
181181### 7.5 The peer owns the registry; favela-web reads it
182182
183**Decision (user, 2026-09-02).** `hyper-proto-peer` is the sole **writer** of favela's
184IdentityRegistry autobase. favela-web is a **reader**, and every mutation it offers is an RPC to
185the peer — never a direct append.
186
187This is not a new topology, it is the existing one extended to identity. favela-web already treats
188the peer as its daemon: `favela-web/lib/cli.js:120` fails with *"no hpp connection — is the local
189hpp running? (pgh app status hyper-proto-peer)"*, and `lib/auth.js:19` already describes favela-web
190as a *"keyless VIEW"*. That comment was half right — favela-web does not need to **write** the
191registry. It does need to read it.
183**Decision (user, 2026-09-02).** **The peer** is the sole **writer** of favela's IdentityRegistry
184autobase. favela-web is a **reader**, and every mutation it offers is an RPC to the peer — never a
185direct append.
186
187⛔ **"The peer" is a ROLE, and `hyper-proto-peer` is explicitly not it** (user, 2026-09-02). Which
188daemon fills the role is open — see §10 item 6.
189
190That exclusion follows from this project's own thesis rather than being arbitrary. hpp is the
191*self-custody **atproto** peer daemon*; once atproto is demoted from the canonical path to a
192projection (`favela-markdown/spec/design.md` §1), hpp is describing a **bridge**, not a peer. Under
193§6 it is the natural implementation of `bridge:bsky`, sitting beside ap-bridge as
194`bridge:fediverse`. The full-mode peer — the thing that holds markdown records, owns this registry,
195and drives the bridges — is a different role that does not exist yet.
196
197The *topology* is nonetheless already in place, whatever fills the role. favela-web treats a peer
198daemon as its backend today: `favela-web/lib/cli.js:120` fails with *"no hpp connection — is the
199local hpp running?"*, and `lib/auth.js:19` already describes favela-web as a *"keyless VIEW"*. That
200comment was half right — favela-web does not need to **write** the registry. It does need to read
201it. What changes is which daemon is on the other end of that socket, not the shape of the split.
192202
193203It is also exactly pear-git-v3's shape: the daemon owns the autobase, and the CLI and web talk to it
194204over UDS. `pgh` is the sole CLI and its daemon-RPC commands receive a hyper-svc client rather than
……@@ -255,6 +265,11 @@ designed before either registry is in use would be designed against guesses.
255265 the peer owns and writes it; favela-web reads. See §7.5.
2562665. **Bridge credential custody.** §6.1 says a bridge holds its own secrets; where they live, and
257267 what happens on device loss, is #49's question wearing a different hat.
2686. ⛔ **Which daemon is "the peer".** The role is decided (§7.5); the implementation is not.
269 `hyper-proto-peer` is ruled out by the user and is better understood as `bridge:bsky` under §6.
270 `favela-node` is *also* atproto-shaped — its README describes composing "a community's co-owned
271 atproto DID" — so it is not an obvious answer either. This is the largest open question in this
272 document: every other section assumes a writer exists, and nothing names it.
258273
259274---
260275