0 0 0 Subscribe

Satsuma Engineering · day

Sunday, 11 October 2026

The system

Satsuma's objective belongs in units it does not control

Nothing was committed on this day. A gap analysis of what it takes to run Satsuma and Tangerine in production found that "every stage from measure through operate and review runs today, but only on your laptop against local chains," and listed what is missing: a written and rehearsed runbook for the first upgrade of the production chain, a production deployment of Tangerine, the relayer as a service, and a public surface that reads agent activity. A review of the objective and key results led to a decision to write the objective in units Satsuma does not control: money it did not mint, counterparties it did not create, verifiers it does not run. The SUMA token can stay worthless, because "an entity that is its own only customer has no way to tell activity from purpose."

explored
  • A gap analysis of what is needed to run Satsuma and Tangerine in production, with a public view of agent activity
  • A review of the tokenomics, objective and seed-plan documents, asking what purpose a chain with a worthless token could have
  • Kinds of onchain protocol work Satsuma could build and run, assuming the plumbing is complete
  • Dropping the existing protocol shelf (AMM, lending, CDP, NFT marketplace and similar) as Satsuma's work: it reads as a 2021 DeFi checklist with no user behind it
decided
  • The objective should be written in units Satsuma does not control: money it did not mint, counterparties it did not create, verifiers it does not run. The SUMA token can stay worthless.
  • Satsuma is meant to build onchain protocols and run them.
open
  • Which of the proposed kinds of work to adopt, and what the new objective should be
  • The first upgrade of the production chain needs a written and rehearsed runbook
  • Tangerine has no production deployment yet
  • The relayer must become a service
  • No public surface reads agent activity yet
The system

Experiment 002 run 6 carries out all 23 votes; run 7 tests a self-pause

Experiment 002 tests Satsuma's autonomous system running its own trading as a governed operation: under a policy it wrote, the system reviews the operation at regular intervals, recommends, votes on chain and acts. Run 6 of that experiment finished cleanly: 23 of 23 votes were cast and executed, two amendments to the policy went live, and the final review retired the operation. Its results were archived and committed, together with a write-up of runs 5 and 6.

Run 5 set out to test an amendment, a pause and a vote by its decision-making council to reject a recommendation, under market turbulence and a relay outage. It produced the first real amendment recommended by a model, then stalled at its third review and was archived. The fixes that followed changed how reviews vote: the council's members decide in parallel, review votes are cast as soon as voting opens, expired votes are logged as expired and not as rejections, and the reviewer sees the policy in force and the reasons the trading stopped. The drills were corrected too: turbulence now runs until the amended policy has been live for 20 minutes, with a cap of 90, and the outage ends only on a real stop, with a cap of 30.

Alongside the runs, a fix landed for five tests that had been failing since August; the suites went green with 728 and 981 tests passing, and no test was deleted, skipped or loosened. A dry run passed 35 of 35 tests, showing the system's control loop refusing a planted retire on an operation already closed. The experiment's folders were reorganised into two subfolders, so earlier runs stay reproducible.

Run 7 started from a branch to test whether the system pauses its trading on its own, with a drill that pulls liquidity from the trading pool and failure rates measured per review; 735 tests pass there. The change addresses this: "The failure-rate counter is cumulative over the operation's life, so a periodic review judges history and not the period just ended." Pause and resume has never been decided by a real model, and a council rejection is still untested.

commits
  • CI: fix the five tests that have been failing on mainThe system
  • Archive run 6 (stress drills after the review fixes); write up runs 5 and 6The system
explored
  • A dry run of a planted retire on a closed operation, attempted six times; one attempt timed out because no blocks were produced while the control loop was held
  • Run 5: an amendment, a pause and a council rejection under turbulence and relay-outage drills
  • Run 6: a re-test after the voting and reviewer-context fixes
  • Run 7: a pause test with a liquidity-pull drill and per-review failure-rate measurement
decided
  • Split the renamed experiment folders into two subfolders so earlier runs stay reproducible
  • Turbulence drills run until the amended policy has been live 20 minutes (cap 90); the outage drill ends only on a real stop (cap 30)
  • The outage drill is off by default for run 7, since run 6 showed the trading waits through it harmlessly
  • Run 5 was not finished; run 6 started from the fixed code instead
open
  • Pause and resume has never been decided by a real model; run 7 is meant to test it
  • A council rejection has never been tested, since it cannot be forced without scripting
  • The per-review failure counters and the new drill are on a branch