Files
teahub/docs/lineage.md
T

3.6 KiB
Raw Blame History

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).