Orgchain v1.14: soulbound belts ride their seats' sats

A belt is soulbound: the reducer already bound it to the seat it names,
and now the lab inscribes it on that seat's own sat, so by ordinal theory
it goes wherever the seat goes and never sells apart from it. One reveal
carries an award, three coins in: the seat's, which the pointer puts the
belt in and the seat's own key signs, accepting it; the issuer's, the
parent; and the commit, which pays the fee. Both coins come back unchanged,
so an award needs no postage and costs two fees (1,000 sats). ord marks it
a reinscription and vindicated, since a pointer and an envelope past the
first input would have cursed it before the jubilee. The engine takes that
three-input reveal and nothing looser: the parent spent from the
inscriber's key, both coins returned unchanged, the pointer on an inscribed
sat of the first.

A belt is never a lot, and an award can't land in a tree that is listed or
sold. Trees count and split by inscribed sat, so a seat's belts stay on it
through every sale. Inspect shows a node's belts and ord's charms, and the
award form says whose sat the belt will ride. Belts from before v1.14 stay
with their issuers and count the same.

Rehearsed on Bitcoin Core regtest from height 161: sixteen beats and 131
transactions; ord charms the three belts as the lab does, and after two
whole-tree sales each belt shares its seat's satpoint. The compare now
checks satpoints and charms.

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-15 15:48:31 -07:00
1 parent 74ed801176
commit c8c18b073e
18 files changed
+368 -107

No files matched your search

+11 -9
View File
@@ -1,9 +1,9 @@
# Regtest rehearsal
Lineage is an ordinals metaprotocol (`SPEC.md`). This folder checks that on real Bitcoin Core and real `ord`: the lab's
own action code makes the yolopreneur sample, keyrings, asks, offers and whole trees changing hands included, Bitcoin
Core (regtest, standardness on) accepts its transactions byte for byte, `ord` indexes the inscriptions, and the same
reducer folds ord's view back into the same trees.
own action code makes the yolopreneur sample, keyrings, belts, asks, offers and whole trees changing hands included,
Bitcoin Core (regtest, standardness on) accepts its transactions byte for byte, `ord` indexes the inscriptions, and the
same reducer folds ord's view back into the same trees.
Regtest is local and private: nothing is downloaded, blocks are mined on demand, and the data folders stay a few MB.
Test coins only.
@@ -37,12 +37,14 @@ height of its funding block: `--from <height>` to the index, and the same height
The rehearsal funds the lab wallet with real regtest coins (`LocalChain.importCoin`) and pays every local beat to an
unspendable key, so nothing it signs spends a coin regtest doesn't have. After each beat it broadcasts that beat's
transactions and mines one regtest block. `--compare` checks that every event landed in the same beat with the same
metadata and parent, that every inscription sits in the same output, and that both fold into the same trees. Within a
block the miner may order independent events differently from the lab, a join and its adoption included; that changes
nothing (`SPEC.md`, sections 2 and 5). The last four beats sell whole trees: time with its six below it, on an offer
whose inputs are their seven inscriptions, and acme whole, on an ask that signs one output holding eleven; each tree
then splits back at its buyer's keys, one inscription to an output, and ord puts every one where the lab does
(`SPEC.md`, section 7).
metadata and parent, that every inscription sits on the same sat (ord's satpoint) with the charms the lab expects (a
belt's are ♻️ reinscription and ❤️‍🔥 vindicated), and that both fold into the same trees. Within a block the miner may
order independent events differently from the lab, a join and its adoption included; that changes nothing (`SPEC.md`,
sections 2 and 5). Beats 5 and 9 award three belts, each by a three-input reveal that puts it on its seat's own sat. The
last four beats sell whole trees: time with its six below it, on an offer whose inputs are the seven coins their nine
inscriptions sit in, and acme whole, on an ask that signs one output holding fourteen inscriptions on eleven sats; each
tree then splits back at its buyer's keys, one inscribed sat to an output, and ord puts every inscription where the lab
does, each belt still on its seat's sat (`SPEC.md`, section 7).
`out/` holds the lab backup, test keys included, and is not committed.