The kernel compiles economy-transition-v6: its byte and derivation surface, its
ledger, and ten of its fourteen transitions. Version seven is accepted, modelled,
executed, and evidenced, and it changes the state key space, one record, the
settlement, and the conservation identity.
This slice moves the kernel to version seven, following ADR 0046: the kernel
compiles exactly one economy contract, so version seven replaces version six
rather than sitting beside it.
Unblocked on 2026-08-20
An attempt on 2026-08-20 found this could not be done without losing coverage. The
kernel's execution tests reproduce test-vectors/economy-transition-v6-execution.txt,
which records version-six state roots and version-six receipts; version
seven re-versions both, and ten of the fourteen kinds had no version-seven
execution evidence anywhere.
#197 closed that. test-vectors/economy-transition-v7-execution.txt now holds 590
vectors over five scenarios and executes all fourteen kinds, so the kernel has
something to reproduce for every one of them. This slice is unblocked.
It is one slice, not two
The state root, the ledger, the settlement, and the four seat transitions cannot
be separated. The recovery pool is a state entry, so a version-seven root implies a
version-seven ledger; the backing identity needs the mint walk; and the mint walk
is only reached by kind 4, which is one of the four unwritten transitions.
Scope
- the version-seven state key space — entry kind 7 retired, entry kind 17 added;
- the extended cycle assignment record, 64 octets of fixed part, with encoder and
decoder both refusing a nonzero absorbed amount at a zero winner count;
- the version-seven chain ID, state root, economy tree, genesis schema version,
and receipt version, with the escrow label, the account label, both signing
labels, and the six HUB messages keeping the version that accepted them;
- the version-three manifest digest binding;
- the settlement's pure derivations — the winner split, the mint walk with version
seven's added pool term, and claimable as that walk run once per seat;
- the carry identity replaced by the channel identity and the backing identity;
- the four seat transitions M3.10d left returning no outcome, kinds 2, 3, 4, 5;
- the assignment prologue inside
execute_block, which the kernel does not have
at all, written before the block's transactions and reading the pool, the
collection mark, and the recorded referrer from the ledger;
- reproduction of both version-seven vector files, with the existing tests
retargeted from version six's execution file rather than kept beside it.
docs/project/current-state.md's next-action section carries the working recipe
from the reset attempt, in the order it was performed.
The kernel compiles
economy-transition-v6: its byte and derivation surface, itsledger, and ten of its fourteen transitions. Version seven is accepted, modelled,
executed, and evidenced, and it changes the state key space, one record, the
settlement, and the conservation identity.
This slice moves the kernel to version seven, following ADR 0046: the kernel
compiles exactly one economy contract, so version seven replaces version six
rather than sitting beside it.
Unblocked on 2026-08-20
An attempt on 2026-08-20 found this could not be done without losing coverage. The
kernel's execution tests reproduce
test-vectors/economy-transition-v6-execution.txt,which records version-six state roots and version-six receipts; version
seven re-versions both, and ten of the fourteen kinds had no version-seven
execution evidence anywhere.
#197 closed that.
test-vectors/economy-transition-v7-execution.txtnow holds 590vectors over five scenarios and executes all fourteen kinds, so the kernel has
something to reproduce for every one of them. This slice is unblocked.
It is one slice, not two
The state root, the ledger, the settlement, and the four seat transitions cannot
be separated. The recovery pool is a state entry, so a version-seven root implies a
version-seven ledger; the backing identity needs the mint walk; and the mint walk
is only reached by kind 4, which is one of the four unwritten transitions.
Scope
decoder both refusing a nonzero absorbed amount at a zero winner count;
and receipt version, with the escrow label, the account label, both signing
labels, and the six HUB messages keeping the version that accepted them;
seven's added pool term, and
claimableas that walk run once per seat;execute_block, which the kernel does not haveat all, written before the block's transactions and reading the pool, the
collection mark, and the recorded referrer from the ledger;
retargeted from version six's execution file rather than kept beside it.
docs/project/current-state.md's next-action section carries the working recipefrom the reset attempt, in the order it was performed.