OverviewFilesCommitsIssuesDocsReleasesPeers

atproto-base commits / 0428095

atproto-base: mark EXTRACTION-PLAN Phase 0 complete
All five extraction-blocking gaps closed + tested (28 tests / 121 asserts). Next entry point for the extraction is Phase 1 (unify the 3x consumer primitive). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
042809547dee7bfdc7bf1f8389f6342ea718d0ec
by plankatron <fleeky@gmail.com> · 2026-07-23T20:01:03.000Z

Changed files (1) +8 -2

EXTRACTION-PLAN.md +8 -2
……@@ -11,8 +11,14 @@ this session was flaky-link/concurrency-specific — see the session memories).
1111indexer topology (keet-correct) · revocation · firehose (`#commit` frames + `subscribeRepos`). But it
1212was built with SIMPLIFICATIONS that must close before it can replace StateBaseV3 for a REAL co-owned DID.
1313
14## PHASE 0 — close the atproto-base gaps (all OFFLINE, extend the test suite). BLOCKING.
15Grounded in atproto-room/lib/state-base.js (the god-class being replaced):
14## PHASE 0 — close the atproto-base gaps (all OFFLINE, extend the test suite). ✅ COMPLETE (2026-07-23).
15All five closed + tested (28 tests / 121 asserts green): #1 deterministic base key (roomSeed election,
16forceCreator/forceNonCreator), #2 members-only encryption (roomSeed-derived), #3 keet-attestation
17admission (injectable attest/verifyAttest), #4 repo-for-bridge projection (getRepo/repoKey via inline
18RepoProjection — atproto-store RepoStore instanceof fails across duplicated corestore copies), #5
19migration reader (importRepo+adoptHead, chain continues unbroken past the adopted head). atproto-base
20can now stand in for a real co-owned StateBaseV3 DID. Next entry point = PHASE 1.
21Original grounding notes (atproto-room/lib/state-base.js, the god-class being replaced):
16221. **Deterministic base key.** StateBaseV3 derives the autobase base key from a members-only
1723 `roomSeed` (`deriveGsKeyPair(roomSeed, GS_NAMESPACE)` → `deriveBaseKey`) so every co-owner opens the
1824 SAME base. atproto-base currently uses corestore-derived keys + explicit `bootstrap`. Port the