Nothing gave an instance back. A flow that ended, or an agent that simply stopped
calling, left its service running and its copy on disk until somebody noticed -
which is how dev-server-instances became the one volume that only ever grows.
Two clocks, because they answer different questions. Idle asks whether anybody
is still looking: a preview request or an MCP call resets it, and running out
stops the process while keeping the copy, so an evaluator who stepped away for a
meeting pays a restart and not a reinstall. The absolute one asks whether this
has been here long enough to be forgotten, and discards everything - the only
thing in the whole stack that hands disk back on its own.
Asking after an instance counts as using it, not only preview traffic. The
browser reaches a running service straight on its port, which the worker never
sees, so an agent mid-loop would otherwise look idle to the clock watching it.
What the sweep reclaimed is logged. A preview that vanishes without a word is
indistinguishable from one that broke, and the person it vanished under has no
way to tell the difference.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>