soft3/tok/audit/clean-checkout-gate.md

plumb (tok) builds and tests clean against its siblings' origin default branches

date: 2026-09-23 · property #39 · repo: plumb (crate cyber-tok)

claim

property 39 asks whether every phase-1 component builds and tests from a clean checkout of its default branch against the default branches of its siblings, with no dead path, no version pin behind a sibling, and no crate present only in an owner's working tree. the 2026-09-22/23 sweep listed bbg, cybergraph, foculus, mudra, neuron, nox, prysm, zheng, true-cyber, glia, honeycrisp, rune, vault and radio as failing this gate. plumb/tok was not on that list; this measures it directly rather than assuming the omission means it passes.

method

origin/main of plumb checked out in an isolated worktree (e27da0dff72b948418a5e40a5ed6290c0fd167f3). rs/Cargo.toml's three path dependencies are neuron's id crate, hemera, and tru. neuron's and tru's owner working trees already matched their origin default branches exactly (neuron at c87541120caae4fb5d5bb401653d1cbcbeffeb7d, tru at 89416291dd4cc993a79d63cbd3e2445294b173d3, transitively pulling in strata at 56aedb2d12b3126c601eb333419136d403614dbb, itself matching origin). hemera's owner tree carried unpushed local commits, so it was substituted with a fresh detached worktree of origin/main (23f3bbcff910ea6d504ceb505680a539260869da) for this run, so the result reflects sibling default branches, not local owner-tree state.

worth recording since it looked like a live failure at first: neuron-id being missing from a clean checkout is exactly the gap neuron#1 (row 39, still open) describes fixing — but neuron-id is already present on neuron's origin/main (commit 3be383a, "add neuron-id crate"), landed before the sweep ran. plumb never hit the gap neuron#1 is naming.

result

$ cargo check --tests --manifest-path rs/Cargo.toml
    Checking neuron-id v0.1.0
    Checking cyber-hemera v0.3.1
    Checking cyber-tru v0.1.1
    Checking cyber-tok v0.1.1
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.71s

$ cargo test --manifest-path rs/Cargo.toml
running 8 tests
test conservation::tests::budget_caps_emission ... ok
test conservation::tests::clip_when_vstar_exceeds_delta ... ok
test conservation::tests::conservation_of_token_sum ... ok
test conservation::tests::no_clip_when_under_delta ... ok
test conservation::tests::zero_rho_style_share_gets_nothing ... ok
test ledger::tests::burn_preserves_conservation ... ok
test ledger::tests::mint_preserves_conservation ... ok
test mint::tests::execute_mints_under_clip ... ok
test result: ok. 8 passed; 0 failed; 0 ignored

8 tests pass, 0 fail, on rustc 1.98.0 (88d9e12ae 2026-08-18). no dead path dependency, no pin behind a sibling's published version, no crate resolved only from an owner's working tree. plumb closes its row of property 39.

caveat

origin/main is behind plumb's own open launch PRs (#1–#16: transfer, referral, ICBS market, stake-yield); this measures the base the sweep would have measured, not the state after those merge. it also says nothing about plumb's dependents resolving it correctly.

re-run 2026-10-17

after the branch-hygiene pass merged the open launch PRs (#9, #12, #13, #16, #18, #19, #20, #21) into origin/main, the gate was measured again on origin/main caafba9c4f2fe919f4f6e2bed4a2b523b2b7ccb7 with every sibling at its origin default branch, as detached worktrees beside the checkout (none from an owner's working tree): neuron c87541120caae4fb5d5bb401653d1cbcbeffeb7d, hemera fd55f99a17408c1f5a65d51c1ea73a6c60906f53, tru c9ebc6286a93e69a9dd1eb0bd8644999780b3bd5, strata 12a7a6df7f69329d6b075b08abf0af7b8d4282a0.

$ cargo check --tests --locked --manifest-path rs/Cargo.toml
    Finished `dev` profile [unoptimized + debuginfo] target(s)
$ cargo test --locked --manifest-path rs/Cargo.toml
test result: ok. 84 passed; 0 failed; 0 ignored

84 tests pass, 0 warnings, on rustc 1.95.0 (59807616e 2026-04-14). the 2026-09-23 caveat is closed: the measured base now includes transfer, lock, book roots, referral, fees, stake yield, PoW subsidy and service fee. the ICBS market (row 25) is not in it; its draft was closed as needing a rewrite on tru::icbs.

Homonyms

soft3/soma/audit/clean-checkout-gate
soma clean-checkout gate — row 39 Property #39 — every phase-1 component builds and tests from a clean checkout of its default branch. cyber/launch lists soma in the phase-1 dependency closure ("the mind's tasks in cyb"); the 2026-09-22/23 sweep that found row 39 broken elsewhere (bbg, cybergraph,…
soft3/tru/audit/clean-checkout-gate
tru builds and tests clean against its siblings' origin default branches date: 2026-09-23 · property #39 · repo: tru claim property 39 asks whether every phase-1 component builds and tests from a clean checkout of its default branch against the default branches of its siblings, with no dead path,…

Graph