The loop starts above the ticket.
Will Larson describes an early software-factory loop at Imprint that reads a Linear project, checks whether the goal and measurement exist, reviews current metrics and issues, adds missing work, and then acts on unblocked tasks. When the project description grows stale, the loop returns to the top instead of pulling another ticket.[1]
That detail separates a project loop from a task conveyor. The agent does not only ask, "What is next?" It also asks whether the queue still represents the goal.
A factory claim needs its own boundary.
StrongDM describes a more aggressive model. Its software factory uses specifications and scenarios to drive agents that write code, run harnesses, and converge without human code review. The team says tests alone were easy for agents to satisfy narrowly, so it added scenarios outside the codebase and behavioral copies of third-party services.[2]
Those are StrongDM's reported practices and results. They do not establish that every project should remove review or build service copies. They do support one hard lesson. A loop needs an evaluation environment that the worker cannot quietly redefine.
The queue tells the factory what to do. The gauge tells it whether the work mattered.
Stop polishing the instruction in isolation.
Mike McFunley argues that teams should treat prompts as implementation details and put domain effort into datasets of good and bad responses, deterministic assertions where possible, and usage monitoring that exposes failures. His examples focus on conversational agents, but the same division helps coding loops. The durable asset is the behavior test and its labeled evidence, not one lucky paragraph.[3]
A software factory can still use prompts, skills, and project descriptions. Keep them versioned. Judge them against a fixed scenario set and observed outcomes. Do not let the same worker edit the target, the gauge, and the verdict in one pass.
Give the loop four stations.
- Objective: name one outcome, owner, scope, and non-goal. A theme such as "improve reliability" is not a target.
- Gauge: point to the query, dashboard, test, or labeled scenario set that can show movement. Record its baseline and failure modes.
- Queue: use one visible source of work. State who may add, reorder, close, or reopen items.
- Stop: cap time, spend, retries, change size, and authority. Define what returns control to a person.
The loop can then propose work, test it, and update the queue without pretending motion equals progress. A human still owns the objective and any decision that expands the factory's reach.