Set the stale-work clock from your agents' cycle time
The Stale-Issue Reviewer at software-factory.dev calls work stale after three hours, not three days, because a watcher's clock has to run at the speed of the line it watches.
Written by
-
Benedikt Stemmildt Founder & Co-CEO
Published: 7 August 2026 Updated: 2 min read
Three hours. That is how long a piece of work can sit untouched in the factory at software-factory.dev before the Stale-Issue Reviewer steps in. Not three days: three hours. You can read the Stale-Issue Reviewer’s definition on GitHub (opens in a new tab).
What the reviewer checks every four hours
The automation runs every four hours, on the cron line 0 */4 * * *, and it can also be started by hand. On each run it lists every open issue carrying the status:in-progress label and asks one hard question: is this still moving, or did something die?
The failure it looks for is quiet. A builder automation claims an issue with that label, then fails without a sound. The label stays. The issue looks busy while nothing happens, and dependent work piles up behind it.
Three conditions before work counts as stale
The reviewer is careful about what counts as stale. An issue qualifies only when all three of these hold at once:
- The in-progress label was added more than three hours ago.
- No open pull request references it, or the one that exists has itself gone quiet for three hours.
- No real human has commented recently.
Miss any one and the issue is left alone, because an automation might still be mid-build on it.
Reset the work, and escalate what blocks others
When an issue is stale, the action depends on blast radius. Work that blocks nothing gets reset to the backlog. Work that other issues depend on gets reset and also escalated with a needs-human label.
Why the number is three hours
The detail worth copying is the three-hour number itself. In this factory the builder automations run every two hours, so three hours is just past one full cycle. That is long enough that a healthy build would have produced something, and short enough that a dead one does not block the line for a day.
A human sprint board measures stuck in days, because humans work in days. This factory measures it in hours, because it works in hours. Copy the clock from a sprint board into an agentic line and every stall hides for a day before anyone notices.
The watcher’s clock has to run at the speed of the line it watches. Pick the number from your actual cycle time, not from habit.
If you ported your old definition of stalled into an agentic setup, would it still be measuring the right thing?
Further reading
Written by
-
Benedikt Stemmildt · Founder & Co-CEO
Factory skills, part 12 of 18
- The PR Shepherd resolves only the conflicts it understands The PR Shepherd in the software-factory.dev factory rebases conflicted pull requests but hands semantic conflicts to a human. The hard part of automation is encoding where its competence ends.
- Escalated work needs a return path back onto the line The smallest automation in the software-factory.dev factory puts escalated issues back on the line once a human has answered. The return path from human to machine needs its own owner.
Scaling needs named owners
Coding agents scale across teams when named people own the platform, the team practice, the guardrails, and the measurement. Rollout & scale is where that ownership is built and handed to internal owners, in your stack.
Training on this topic: Agentic Software Factory: Advanced Team TrainingWant to check one team first? The self-check: twelve yes or no questions, three minutes, instant result, no account. Take the self-check