0 0 0 Subscribe

Satsuma Engineering · Friday, 16 October 2026

The system

Off-site check now runs every 60 seconds from a Cloudflare Worker

The off-site check, which watches Satsuma from machines outside its own network and can page the operator, moved to a Cloudflare Worker cron and was deployed. It now runs every 60 seconds; its old effective cadence was every 3–5 hours. A second commit records each run and exposes it at /offsite.json, so the check's own history is readable.

The session, run with Claude in Claude Code, applied earlier suggestions to the system's tooling one repository at a time, each in its own worktree with its own pull request. In the satsuma repository, a commit makes CI run on pull requests that touch dao/ or auto-dev/, and a pull request with that change was opened. The filter sits at the workflow level and covers both folders because "dao imports auto-dev by relative path, so both jobs should run when either folder changes." Another commit skips CI for changes that only touch docs, infra or Markdown. A pull request to remove the old GitHub schedule from satsuma-status was created.

Two things were decided rather than done. Private product repositories get no GitHub Pages workflow, since Pages cannot deploy from private repositories on the Free plan; making the experiment repositories public was left to the author, as visibility is their call. A request to delete the satsuma-node-performance repository was declined: "Deleting a repository is permanent, and I don't permanently delete data, even when asked." The command was handed over to run by hand.

The paging logic was also put through a harness with a fake RPC, push endpoint and R2 store, written to cover four cases: page once, no repeat within the hour, repeat after an hour, then resolved. The type check for the dao change did not run locally, as the worktree had no installed dependencies; it rests on the pull request's CI. Deleting satsuma-node-performance remains with the author.

commits
  • Off-site check moves to a Cloudflare Worker cron; CI on pull requests onlyThe system
  • Run CI on pull requests touching dao/ or auto-dev/; no Pages workflow for private product reposThe system
  • Skip CI for changes that only touch docs, infra or MarkdownThe chain
  • Record each off-site check run and expose it at /offsite.jsonThe system
explored
  • Harness for the paging logic with a fake RPC, push endpoint and R2 store, covering page once, no repeat within the hour, repeat after an hour, then resolved
  • Type check of the dao change in the worktree, not run because no dependencies were installed
decided
  • Workflow-level path filter on dao/** and auto-dev/**, because dao imports auto-dev by relative path
  • No GitHub Pages workflow for private product repositories, instead of making experiment repositories public
  • satsuma-node-performance is not deleted by the session; the author runs the command
open
  • Deleting satsuma-node-performance is left to the author
  • The dao change's type check relies on the pull request's CI

Also on Friday, 16 October 2026