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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
This commit is contained in:
1 parent
69a97544da
commit
7d981341ff
11 files changed
+122
-37
No files matched your search
+2
-1
@@ -85,8 +85,9 @@ test('the yolopreneur sample is six beats of the drawing in docs/lineage.md', ()
|
||||
const s = state(lab, {}), named = name => [...s.nodes.values()].find(x => x.name === name);
|
||||
assert.ok(s.log.every(e => e.ok));
|
||||
assert.equal(s.nodes.get(root).name, SAMPLE);
|
||||
assert.deepEqual([...s.nodes.values()].filter(x => x.root === root).length, 12);
|
||||
assert.deepEqual([...s.nodes.values()].filter(x => x.root === root).length, 11);
|
||||
assert.equal(named('lineage').edge, 'adopted');
|
||||
assert.deepEqual(s.roots.map(r => r.name), ['yolopreneur', 'lineage']); // graduated: a holding of its own
|
||||
assert.deepEqual(named('sol').badges.map(b => `${b.skill}:${b.belt}`), ['launch:green']);
|
||||
assert.deepEqual(named('time').children.map(id => s.nodes.get(id).name), ['luna', 'sol', 'astra', 'docscope', 'dollhouse', 'doodleloop', 'hearthframe']);
|
||||
assert.deepEqual([2, 3, 4, 5].map(upTo => state(lab, { upTo }).nodes.size), [1, 3, 8, 12]);
|
||||
|
||||
Reference in new issue
Block a user