Start the tree: a fresh 24-word lab root and docs/lineage.md's drawing as keys. Orgs get BIP-85 seeds from their
parent (m/83696968'/39'/0'/24'/i'), wallets are BIP-86 m/86'/1'/account'/0/0, npubs are NIP-06; seats are accounts
1..n of their org's seed; indices are never reused. Act as any node to mine, inscribe or sign with its key.
Graduation retires a leaf org on a derived edge and adopts a fresh root in its place. The handoff is OpenOrdex's
buy-order direction: the recipient builds a 2-in/2-out transaction and signs its fee input first, so its signature
fixes where the inscription goes; the holder then countersigns the inscription input. Both are default signatures,
so chain.js is unchanged. The keyring and open claims save with the lab (optional fields, same storage key).
Tests: BIP-85, BIP-86 and NIP-06 spec vectors plus the handoff and its failure cases (36/36 unit).
tests/tree.spec.js rehearses a full graduation in Chromium at desktop and phone sizes, with layout checks;
tests/flow.spec.js now follows this branch's copy and theme, and waits for a mined block before reloading
(28/28 e2e).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Skin and copy only: src/lineage.css over style.css with lineage's tokens, a rehearsal guide and lineage branding,
relative paths (base './'), the theme follows the system under its own key, and Inscriboor downloads link to
supertestnet.lol (the extension only connects there). Unit tests 32/32; checked in Chrome at 1280 and 390 wide,
light and dark, through a full root → birth → recursive inscription run with no CSP or script errors.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh