0 0 0 Subscribe

Satsuma Engineering · Sunday, 18 October 2026

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.

Also on Sunday, 18 October 2026