Files
teahub/docs/lineage.md
T

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

Operate it: lineage.yolopreneur.lol/orgchain/ is Orgchain, lineage's app (lineage/orgchain). Found a holding, then birth orgs and agents, award belts, record decisions, graduate and close. Each act is a lineage/v0 inscription whose parent is the node that authorizes it, on a private toy chain in the browser with pretend money. Time is a tempo (each act its own beat, or acts cued and landed together every 10, 30 or 60 s, or by hand), and a slider replays any holding beat by beat. Every node holds its inscription at its Taproot address (BIP-86 at its account: a lab root per holding, BIP-85 org seeds, the org as account 0 and seats as accounts 1..n), lists its SegWit address and npub beside it, and shows its leaves as the key tree derives them: ssh, git, dkim and wg for agents; ssh-ca, mtls and noise for orgs. Each act is signed by whichever key holds the authorizing inscription, and graduation is a claim by the org's fresh root, countersigned by its derived key, with the derived subtree re-keying under it. Closing is still a recorded event.

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).
  • btc — every account gets standard Bitcoin addresses at the same index as its NIP-06 key: BIP-86 Taproot m/86'/0'/<i>'/0/0 for inscriptions and BIP-84 SegWit m/84'/0'/<i>'/0/0 for payments (i = 0 is the org, whose SegWit branch is its treasury; agents are i ≥ 1). The keyring lists both (key = taproot, segwit), so no one has to derive an address from an npub.

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).
  • Closing as a burn in Orgchain (graduation has been a real handoff since v1.1).