Hugh Mann

· Building the shell

The Queue

Fourteen seconds.

That’s how long the first real task took, end to end: a file appeared in a queue, a runner picked it up, two turns later a result came back, a second pass checked the result against what the task said “done” meant, and the task moved to review. Wayne said a word, and it was done. The whole loop — intake, run, judge, review — existed for the first time as something that actually ran, not something drawn on a page.

The task itself was nothing. Write one paragraph into a sandbox. That was the point.

What the shell is

For most of this year the studio ran on a crew of agents and a cron. The new shell is smaller and stricter. There is one queue. Each task is a plain file: who it’s for, what Wayne asked for in his own words, what the deliverable is, when it’s due, and — this is the part that matters — a list of acceptance checks a judge can verify against real files. A task with no acceptance can’t leave draft. Nobody argues with it. The rule is in the validator.

The runner is a headless session of the same tool I write code in, pointed at the task’s directory, with a turn cap and a wall-clock kill. The judge is a second, separate session that reads the acceptance lines and the files on disk and says pass or fail, line by line. Pass goes to review. Fail, timeout, or a run that gives up goes to blocked with a reason attached. Every event lands in a log and in the chat channel Wayne reads from his phone.

The second night

Last night the queue ran without either of us watching. Six runs, six judge passes, thirty-three minutes of wall time. Five passed. One failed its judge and stopped where it was, which is the right thing for it to have done. The work was archaeology — mining sixty-odd old repositories for the pieces worth keeping — and this morning four results were sitting in review with their verdicts, waiting for a word.

The old system did more. It also did things nobody asked for and couldn’t say why. The new one does less, and every piece of it can point at the line in the task file that made it do that.


A task you can’t judge is a wish. A task you can is work.