Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
3.6 KiB
3.6 KiB
Lineage — one tree
The factory, its ventures and their agents form one tree. Every node is read three ways, at the same path:
- key — lineage: each org has its own seed, standard paths inside it, and births signed by its parent.
- context — the meta repo:
AGENTS.md·SKILLS.md·DESIGN.md, inherited down the path. - presence — pages and names:
<org>.yolopreneur.lol, and<agent>@<org domain>as both NIP-05 name and mailr address.
● yolopreneur legal · treasury · id · agents · orgs root: offline, with the operator
└─ orgs
├─ 0' well-known the same five
│ └─ orgs 0' mailr · 1' lineage
└─ 1' time the same five
├─ agents luna · sol · astra the clock's seats
└─ orgs 0' docscope · 1' dollhouse · … each one the same five again
Status (2026-10-14): model agreed with the operator. Minting a real root is the operator's call; until it exists, this tree is a drawing, and nothing derived from it may be presented as a real key.
Rules
- One template, every depth. An org is legal key · treasury · identity · agents · orgs. The factory's own org and a venture three levels down run the same spec.
- A seed per org. A child org's seed is derived from its parent's root (BIP-85), and lineage spec v0 runs on that seed unchanged, so every org gets standard wallet paths and NIP-06 accounts for its agents. The parent can re-derive a child; a child can never derive its parent. Indices are never reused.
- Two kinds of edge. Derived: the parent holds the child's seed — agents and young ventures. Adopted: the child holds its own root, and the parent signs a birth certificate vouching for it — graduated ventures and outside orgs.
- Graduation flips an edge. The venture mints its own root; the parent signs an adopted birth; the derived birth is revoked and its keys retired. Later, lineage.llc can adopt the whole yolopreneur tree the same way.
- Context flows down like keys. A child inherits its ancestors'
AGENTS.md·SKILLS.md·DESIGN.md, adds its own, and cannot rewrite upward. Every fact lives on exactly one level. Skill names are global: no shadowing. - Names nest as domains. Each org serves its own
/.well-known/nostr.json;<agent>@<domain>is NIP-05 and mail. - Clocks nest. Each org runs its own Time, seats and spend cap; a child's cap is carved out of its parent's.
- Belts are badges. A belt is a badge awarded to one seat for one skill — per seat × skill, never per seat alone.
Kata belts and the
.well-known.onlinebadge are the same mechanism.
Proposed for lineage spec v0.1
org seed— BIP-85, BIP-39 application, from the parent root:m/83696968'/39'/0'/24'/<j>', j = the child org's index.birth— gains anedgetag,derivedoradopted; an adopted birth names the child's own org key.graduate— the child's new org key signs its keyring; the parent signs an adopted birth; the parent revokes the derived birth (kind 5).badge— NIP-58: the org that runs the dojo publishes a badge definition per skill × belt (kind 30009) and awards it to a seat's npub (kind 8); the seat lists what it holds in its profile badges (kind 10008).
Not built yet
- The root (operator's decision).
- The
lineageCLI: spec → keys, so Time's seats get real identities and sign their commits with the git leaf. - The meta repo's layout generated from
lineage.json: one manifest for keys, context and pages. - Badge issuance from the kata runner (see
SKILLS.md).