Skip to content

About

Built so the agents work the day shift.

dayshift started because several apps were each starting the same agent CLI on the same machine, and only one of them was careful about it.

Why it exists

Several apps each ran claude -p in their own way. Only one of them checked free memory, watched the load average or could be paused, so the careful app throttled itself while everything else ignored the limits. A single agent run can grow past 5 GB of memory, so the machine’s health depended on whichever app was least careful.

dayshift moves those checks into one service. Apps submit a job and read the answer back. The broker decides when a job may start, runs the CLI safely and keeps a record of what happened, so the limits now apply to every app instead of only the careful one.

Who runs on it

Four apps submit their agent work to dayshift today:

  • Boogy Forward scans, plans and executes work across a portfolio of projects.
  • Serially drafts chapters of a book, one resumable conversation at a time.
  • thingfile describes objects from the photos a scan staged.
  • Repair Bench diagnoses hardware faults from a bench log.

How it is built

The broker is a C++ server on Boost.Beast with a JSON file store, one file per job. A background scheduler picks the highest-priority queued job, checks it against the admission gates and hands it to a bounded worker pool. Each CLI runs in its own process group, with no shell in between. A runner is described entirely in config, which covers how to invoke it, how to read its answer and which of its failures are the job’s fault rather than the runner’s.

It deploys with Ansible and systemd onto a machine you own, and it binds to loopback unless you give it a token.

Who makes it

dayshift is made by Spergs, LLC. Questions go to hello@spergs.com.