Commit Graph
37 Commits
Author SHA1 Message Date
teahubxyzandClaude Opus 5.5 32e8131500 Orgchain v1.6.1: under Last act, a timed beat goes to whoever acted last
A timed or manual beat used to pay the holding being worked in. Now it pays
the holding behind the newest cued act or send; with nothing cued, Beat now
still pays the one being worked in. At a timed tempo, holdings race for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 23:21:33 -07:00
teahubxyzandClaude Opus 5.5 2354947d16 Orgchain v1.6: holdings share the mining, every act pays its gas, money crosses holdings
Mining is a lab setting. Split (the default) pays every active holding a
share of each beat, pro rata by a hashrate dial on each holding (0 to 9,
1 unless set), one coinbase output per holding. Last act gives the whole
beat to the holding that acts. Every act is paid by the acting node's own
keys: fees and postage come out of its gas tank (the plain coins at its
Taproot key), which tops up from its own money 0.0001 test BTC at a time.
Each act is checked before anything is signed, so an unfunded node can't
act. A graduating org pays for its own claim, and the lab wallet pays only
for foundings and for holdings that predate lab keys. Sends cross
holdings, the ledger shows gas top-ups, and chain keys are derived once
per page.

The engine's second local change: a coinbase may split its reward across
up to 64 outputs (mineTo), in src/adapters/chain.js.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 23:16:03 -07:00
teahubxyzandClaude Opus 5.5 6d5806d45b Orgchain v1.5: beats pay the holding, and test BTC moves down the tree
Each beat pays its 50 test BTC block reward to the holding being worked in, at
its SegWit (BIP-84) address. Send moves test BTC between active nodes of a
holding, signed by the sender's BIP-84 key, with the toy chain's 500-sat fee:
at most two coins in and one block reward out. Sends land like acts, and Beat
now mines a beat even when nothing is cued. A graduation moves each re-keyed
node's money to its new address with its inscription. Balances follow the
slider, the timeline lists every reward and send, and Inspect shows exact
amounts and the raw transaction. The sample passes some of yolopreneur's
rewards down its tree.

The engine's one local change: the toy chain also takes P2WPKH outputs and
SIGHASH_ALL P2WPKH spends (BIP-143), in src/adapters/chain.js. Super
Testnet's tests pass unchanged; tests/money.test.js covers the rest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 22:25:38 -07:00
teahubxyzandClaude Opus 5.5 aeb11d334f Orgchain: three columns, so a long Inspect no longer opens a gap
The side column (act and inspect) grew with keys, leaves and secrets,
and because it spanned both grid rows it stretched the first one, which
pushed the timeline far below the tree. The layout is now three columns
that run on their own (holdings; tree with its timeline; act and
inspect) over a flexible last row, and the medium layout keeps the
timeline under the tree as well. The footer links the scure licenses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 20:31:25 -07:00
teahubxyzandClaude Opus 5.5 17b8692174 Orgchain v1.4: the tapkey returns, and every node's secrets behind Reveal
Each node lists its Tapkey again beside Taproot and SegWit: the npub as
a Taproot address (its nostr key with the BIP-86 tweak), so the npub
alone finds it. Its inscription stays at the standard BIP-86 key, since
nostr secrets get pasted into clients.

Inspect gains a Reveal panel, as on lineage's key tree page: the seed
(holdings and orgs), the nsec, Taproot, SegWit and Tapkey descriptors
with test-network WIF and BIP-380 checksums, and the leaves' private
keys (OpenSSH, DKIM, WireGuard, PKCS#8, Headscale), each with Copy.
Tests pin hashes of the key tree page's own output for the NIP-06
vector, BIP-84's WIF and BIP-380's checksum; ssh-keygen reads the keys.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 20:14:11 -07:00
teahubxyzandClaude Opus 5.5 0af51dc9cd Orgchain v1.3: Taproot and SegWit addresses for every node
Every account now lists standard Bitcoin addresses, so no one has to
derive them: Taproot (BIP-86, m/86'/1'/account'/0/0), which holds the
node's inscription, signs its acts and receives inscriptions, and
SegWit (BIP-84, m/84'/1'/account'/0/0) for payments, beside its npub
(NIP-06). An org is account 0 of its seed and its agents are accounts
1..n, so a wallet that opens an account finds the same addresses. The
lineage key tree page derives the same branches on mainnet paths and
lists the addresses in each agent's keyring.

The v1.2 tapkey (the npub's key, tweaked) is replaced by the standard
BIP-86 key; labs keyed by v1.1 or v1.2 keep their chain keys until
they are reset. Tests pin BIP-86 and BIP-84's own vectors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 19:49:05 -07:00
teahubxyzandClaude Opus 5.5 00a35613c5 Orgchain v1.2: tapkeys and lineage's leaves
A node's chain key is now its tapkey: its NIP-06 npub with the BIP-86
tweak, so one secret signs its nostr events and its chain spends, and
its address follows from its npub. Its leaves hang off the same tree,
byte for byte as on lineage's key tree page: an agent's ssh, git, dkim
and wg keys from its nostr secret, an org's ssh-ca, mtls and noise keys
from its seed. Inspect shows the tapkey, npub, derivation and leaves,
with the public lines to paste. Labs keyed by v1.1 keep their separate
m/86' chain keys until they are reset.

PROVENANCE.md and public/licenses now carry @scure/base, bip32 and
bip39, which came in with v1.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 19:11:08 -07:00
teahubxyzandClaude Opus 5.5 744c5946aa Orgchain v1.1: lineage's keys, from the tree branch
Folds in the tree branch's key layer (2ea7884): lineage-keys.js and
handoff.js come over as written, with their spec vectors; the off-chain
keyring and the old UI stay behind, because v1's tree comes from the chain.

- Each holding gets its own 24-word lab root. Every node has lineage's
  keys at its place in the tree: BIP-85 org seeds, agents as accounts
  1..n of their org's seed, BIP-86 wallets and NIP-06 npubs.
- Every act is signed by whichever key holds the authorizing inscription;
  a birth hands the child its own; the lab wallet is the faucet.
- Graduation is a claim by the org's fresh root, countersigned by its
  derived key, and the derived subtree re-keys under the new root, so the
  parent's line can no longer sign for it. Adopted descendants keep theirs.
- Inspect shows each node's key path, npub, address and current holder,
  and which key signed each event; the act panel names the signing key.
- Labs saved before keys still load; their holdings sign with the lab
  wallet.
- 49 unit tests (6 new), Playwright 6/6 with key checks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 18:22:22 -07:00
teahubxyzandClaude Opus 5.5 6acc319ee7 Orgchain v1: create and operate lineage holdings across time
Super Testnet's kitchen sink becomes lineage's app. Lineage gives the
structure; the chain adds time.

- Holdings home, a tree drawn like docs/lineage.md, act and inspect panels,
  and a timeline grouped by beat.
- Verbs: found, birth, award, decide, graduate, close. Each is a lineage/v0
  inscription whose parent is the node that authorizes it.
- One reducer (src/orgchain/lineage.js) folds the events into trees and vets
  every act before it is signed. Closing cascades through derived children;
  graduated (adopted) ones stay open.
- Time: tempo each act / 10s / 30s / 60s / manual, Beat now, and a view
  slider with replay. A beat is a block; cued acts wait in the mempool.
- Its own lab (orgchain:lab:v1) with save, load and reset; a yolopreneur
  sample of six beats.
- Removed: the recursive preview, explorer UI, server, Docker and Fly files.
  The engine (src/adapters, src/upstream, storage, miner) is unchanged.
- Tests: reducer and lab (node --test), plus a Playwright spec for desktop
  and mobile that also runs against a deployed copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 17:28:33 -07:00
teahubxyzandClaude Opus 5.5 6d48c5c8ff orgchain: Super Testnet restyled for lineage (lineage.yolopreneur.lol/orgchain/)
Skin and copy only: src/lineage.css over style.css with lineage's tokens, a rehearsal guide and lineage branding,
relative paths (base './'), the theme follows the system under its own key, and Inscriboor downloads link to
supertestnet.lol (the extension only connects there). Unit tests 32/32; checked in Chrome at 1280 and 390 wide,
light and dark, through a full root → birth → recursive inscription run with no CSP or script errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 16:06:04 -07:00
teahubxyz 96876db762 README: one paragraph 2026-10-14 15:30:07 -07:00
teahubxyz d5b7c3a8b8 README: prod is Teahub pages (pages branch) 2026-10-14 15:29:59 -07:00
matcha 00e93f5ab3 x 2026-10-05 06:10:47 +00:00
matcha 5e32bd3e60 Publish Inscriboor 0.2.3 bridge fix 2026-10-05 05:53:03 +00:00
matcha 3445d66e1e Publish Inscriboor 0.2.2 and update detection 2026-10-05 05:43:15 +00:00
matcha c9c18e85f6 Fix Inscriboor detection flow 2026-10-05 05:29:30 +00:00
matcha 84f684ad0d Publish Inscriboor extension build 2026-10-05 05:14:58 +00:00
matcha a6323f7a6c Add Inscriboor download and install flow 2026-10-05 05:14:48 +00:00
matcha 2333dad0dc Use Inscriboor for page signing 2026-10-05 04:54:54 +00:00
matcha f12e8023c7 Add Inscriboor signer choice 2026-10-05 04:51:27 +00:00
matcha 9200346ad9 Add Inscriboor commit reveal signer 2026-10-05 04:48:48 +00:00
matcha b623b27939 Persist extension wallet descriptors 2026-10-05 04:43:41 +00:00
matcha 276a945f83 Add Inscriboor extension wallet adapter 2026-10-05 04:43:31 +00:00
recovery bcc9f0f1cd Add native metaprotocol field 2026-10-05 04:03:16 +00:00
recovery 5d1a1ae866 Add delegate recursion and reinscription UI 2026-10-05 03:57:01 +00:00
recovery 9f27897967 Index delegates and sat locations 2026-10-05 03:56:58 +00:00
recovery 4190cedca9 Add synthetic sat tracking and inscription pointers 2026-10-05 03:56:52 +00:00
Codex aa39db3879 Add CBOR metadata indexes, local API and coordinated auto mining 2026-10-05 02:33:54 +00:00
Codex 0405452ab2 Refine branding and default to dark theme 2026-10-05 01:29:49 +00:00
Codex acd2652046 Extend local inscription lab with MIME bodies and parent provenance 2026-10-05 01:23:21 +00:00
matcha 83a19b51ff Cover theme persistence and live chain explorer flow 2026-10-05 00:57:00 +00:00
matcha c6d3af5dfd Add live mempool and block explorer interactions 2026-10-05 00:56:42 +00:00
matcha 54c2108a98 Switch to Bitcoin orange and theme-aware explorer styling 2026-10-05 00:56:08 +00:00
matcha 4aa2d1c7ef Add chain explorer layout and theme toggle 2026-10-05 00:55:41 +00:00
Codex 4fa4130150 Build browser-native Super Testnet v0 inscription loop 2026-10-04 23:24:48 +00:00
matcha d3272032c8 Initialize repo agent guidance 2026-10-04 23:03:47 +00:00
matcha 4270713328 Initial commit 2026-10-04 23:03:42 +00:00