From 7d981341ffac3a2c42e27170a4ba096842e35bca Mon Sep 17 00:00:00 2001 From: teahubxyz Date: Thu, 15 Oct 2026 00:44:59 -0700 Subject: [PATCH] Orgchain v1.8: belts cross holdings, and a graduate becomes its own holding From the operator's notes on trying v1.6.1. An award's recipient may sit in any holding, so a registry like well-known can certify an agent it doesn't hold (say, after the agent pays it). A graduated org already held its own root; now it is a holding of its own too: it and its subtree re-root under it, it joins the Holdings list with its own tree and timeline, mines its share and can be funded, and its parent's tree keeps a row for it that opens it. Events that touch two holdings (a belt across them, a graduation) show in both timelines, and the holding that acted gets the last-act credit. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh --- README.md | 12 +++++++----- index.html | 2 +- src/main.js | 37 ++++++++++++++++++++++++++----------- src/orgchain.css | 1 + src/orgchain/actions.js | 2 +- src/orgchain/lineage.js | 27 ++++++++++++++++++++------- src/orgchain/money.js | 4 ++-- tests/lab.test.js | 3 ++- tests/lineage.test.js | 23 +++++++++++++++++++++-- tests/money.test.js | 7 ++++--- tests/orgchain.spec.js | 41 +++++++++++++++++++++++++++++++++++++---- 11 files changed, 122 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index d346c52..d61d3a3 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,11 @@ inscription on a private toy chain in your browser, and its parent inscription i chain itself records who did what, and when. - **Found** a holding (a root: the LLC). **Birth** orgs and agents under any org. **Award** a belt (one skill, one - seat). **Decide** (a decision on a node's record). **Make** an item (an inscription its maker holds, and can sell). - **Graduate** an org (its edge flips from derived to adopted). **Close** a node (derived children close with it; - graduated ones hold their own roots and stay open). + seat, in any holding: a registry like well-known certifies agents it doesn't hold). **Decide** (a decision on a + node's record). **Make** an item (an inscription its maker holds, and can sell). **Graduate** an org: its edge flips + from derived to adopted, and it becomes a holding of its own, with its own tree, timeline and share of the mining, + while its parent's tree keeps a row for it. **Close** a node (derived children close with it; graduated ones hold + their own roots and stay open). - **Time.** A beat is a block. At the default tempo each act is its own beat; at 10, 30 or 60 seconds, acts are cued and land together on the next beat; on manual they wait for *Beat now*. The slider and *Replay* show a holding as it stood at any beat. @@ -69,10 +71,10 @@ the operator's call. | --- | --- | --- | | `found` | none | `name` | | `birth` | the parent | `name`, `kind` (`org` or `agent`) | -| `award` | the issuing org or holding | `to`, `skill`, `belt` (`white`, `green`, `black`) | +| `award` | the issuing org or holding (`to` may sit in any holding) | `to`, `skill`, `belt` (`white`, `green`, `black`) | | `decide` | the deciding node | `title`, `why` | | `make` | the making node, which then holds the item | `name`, `note` | -| `graduate` | the child's parent (then the handoff to the child's fresh root) | `of` | +| `graduate` | the child's parent (then the handoff to the child's fresh root); the child becomes a holding | `of` | | `close` | the node itself | none | Names are domain labels (lowercase letters, digits, hyphens). Org and agent indices count separately and are never diff --git a/index.html b/index.html index 629b981..51e2da7 100644 --- a/index.html +++ b/index.html @@ -149,7 +149,7 @@