0 0 0 Subscribe

Satsuma Engineering · Thursday, 8 October 2026

The system

Work ledger now moves only by governance vote; third run trades unaided

Satsuma's autonomous process keeps a work ledger on chain: a contract that tracks each piece of proposed work from submission through building to deployment. The change that makes that ledger move only through governance was merged. Before it, the session's own note put the problem plainly: "Today the ledger's state changes are made by the daemon's own key. The ledger mirrors governance; governance doesn't produce it." Now every transition comes from the governance timelock's execution payload, deployments are recorded by one role and attested only by the timelock, and releasing a stalled item is permissionless. The change carries 35 ledger tests and 16 dry-run acceptance tests; the full suite stood at 628 passing and 1 failing, the same failure already present before it.

Two design records were written down. One covers moving ledger transitions into governance payloads. The other covers an operating component: a registry of key performance indicators, a registry of operations, a generic measurement step and an operator runtime, so that what Satsuma builds is also run and measured as a governed operation. The defaults chosen: a separate indicator registry, operators file reports of need but only the loop proposes, budgets escrowed in SUMA and debited in compute units, and a policy hash pinned per operation and changed only by an amendment vote.

The operating component was built on a branch: 16 commits plus three fixes covering hold-close, bounded operator restarts and a settlement grace period. 27 dry-run acceptance tests passed, six of them with caveats; the suite stood at 691 passing and 1 failing, the same failure as before. A further pull request was merged after that.

With the new loop, the same objective ran again on fresh chains for 5 h 26 min with no human intervention after the start. Satsuma proposed three build protocols, an exchange, a remote account and a mandate account, plus a first operation; the council approved 3–0, the operation was activated and traded, and the goal was declared met. Six of sixteen swaps failed on slippage, and the research step judged nothing needed.

Review of the design pushed back on one point. Pausing an operation permissionlessly on a breached bound was rejected in favour of review periods that give an operation time to play out, with re-evaluation leading to a proposal or an on-chain change request; as the design notes already say, "The mandate contract already refuses every out-of-limit action on chain; that is the hard stop." That redesign is open, along with the write-up of this run, the naming of the runs, four long-standing test failures in continuous integration, and the fact that budgets still count model calls rather than real spend.

commits
  • WorkLedger: transitions only from the Timelock; register for SUBMITTED proposals; markDeployed and permissionless releaseForThe system
  • DeploymentRegistry: RECORDER_ROLE records deployments without the right to attest themThe system
  • Deploy: LEDGER_ROLE and the ledger's admin roles to the Timelock, REGISTRAR_ROLE to the daemon; the Timelock attests deploymentsThe system
  • Work ledger client: encode transitions for Governor payloads; releaseFor; derive building and pendingDeployThe system
explored
  • Main's continuous-integration failures were investigated: four confirmed as pre-existing, not fixed
  • A running list of gaps on the way to full autonomy was started with eight entries
decided
  • Work-ledger transitions come only from governance execution payloads
  • Operating component defaults: separate indicator registry; operators report need, only the loop proposes; budget escrowed in SUMA, debited in compute units; policy hash pinned per operation, changed only by amendment vote
  • Operations get review periods instead of permissionless pausing on a bound breach; key results are fixed when the objective is set
open
  • Redesign operation pause as review periods with change requests
  • Write-up of the run
  • Naming of the runs
  • Four long-standing continuous-integration failures
  • Budgets count model calls, not real spend
  • Six of sixteen swaps failed on slippage and research judged nothing needed

Also on Thursday, 8 October 2026