0 0 0 Subscribe

Satsuma Engineering · day

Sunday, 18 October 2026

The system

Run B paused by a subscription session limit, with a resume scheduled

Run B is a test run of Satsuma, the autonomous system in which a language model makes the decisions and its own blockchains record them. On 18 October it was paused. From about 09:46Z its model calls failed with a subscription session limit, so its research, its operation review, its incident assessor and its backlog review all returned nothing. Roughly 300 calls failed over about 100 minutes. "Nothing was decided on those failures: no votes and no closures."

To stop spending calls against the limit, two processes were stopped: the daemon that drives the run, and the operator process, a supporting process that runs alongside it. The pause was logged in the run's log of human interventions. A one-shot resume is scheduled for 13:37Z, shortly after the limit resets at 13:30Z. It checks that a model call works, restarts the daemon on the same chains and turns its monitoring back on. If the limit is still in force at that point, the job reschedules itself 30 minutes later.

"Run B is paused, not broken." Its blockchains, the relayer that links them and the rest of its test setup are still up and keep their state. The resume has not run yet.

Because the run lost its morning to the limit, the manifests for its products (the documents that describe each product it runs) and the fix to the operator process will wait until after the resume. Neither product's manifest had been adopted when the limit hit. The operation's first review is still open, and the backlog review recorded empty passes during the outage.

explored
  • Diagnosing why Run B's research, operation review, incident assessor and backlog review returned nothing from about 09:46Z
  • Pausing the run to stop spending calls against the limit
  • Scheduling an automatic resume after the limit resets
decided
  • The product manifests and the operator fix come after the resume, since the run lost its morning to the limit
  • If the limit is still in force at resume, the job reschedules itself 30 minutes later
open
  • The operation's first review is still open
  • Neither product's manifest had been adopted when the limit hit
  • The backlog review recorded empty passes during the outage
  • The operator fix is still to be done after the resume
  • The resume scheduled for 13:37Z has not run yet
Experiments

Last fix to the repair loop before the next run merged; two manual steps remain

In its experiments, Satsuma runs a loop: it reviews the products it owns, proposes fixes, votes on them and applies them. The last fix to that loop planned before the next experiment run is merged in the satsuma repository. When a fix wins its vote, the loop now merges the fix's pull request and tags the release; when a fix is abandoned, it closes the pull request. The checkout the next run uses is up to date with it.

That run is waiting on two steps outside the loop. The first concerns the mandate account, one of the products Satsuma owns. The next run reads the product's history (issues, lessons, fixes) from the main line of its repository, and that line still points at a version left by a build that overwrote it, not at the records the previous run wrote. Moving it back is a force-push, which the Claude Code session cannot do; the operator has to run it or repoint the line on GitHub.

The second concerns the exchange. Its fix landed by vote, but the code change in the satsuma-tangerine-swap repository is still an open pull request, and the only release tag, v0.1.0, predates the fix. If the next run adopts that tag, the router is deployed without the fix. The operator can merge the change and tag a new release, or have the session do it. Until both steps are done, the run waits.

open
  • The mandate account's repository has to be reset to the records of the previous run; this is a force-push the operator must do.
  • The exchange's voted fix is still an open pull request; it has to be merged and a release tagged after v0.1.0.
  • The next experiment run is waiting on both steps.