docs/lineage.md: one tree for keys, context and pages (#8)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
This commit is contained in:
teahubxyzandClaude Opus 5.5 committed 2026-10-14 22:23:48 +00:00
1 parent 298db19e7d
commit 16bac3848e
1 file changed
+53
+53
View File
@@ -0,0 +1,53 @@
# 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
1. **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.
2. **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.
3. **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.
4. **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.
5. **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.
6. **Names nest as domains.** Each org serves its own `/.well-known/nostr.json`; `<agent>@<domain>` is NIP-05 and mail.
7. **Clocks nest.** Each org runs its own Time, seats and spend cap; a child's cap is carved out of its parent's.
8. **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.online` badge 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 an `edge` tag, `derived` or `adopted`; 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 `lineage` CLI: 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`).