Where it cracked.
Four limits showed up as more of the work became agent-run.
Budgets were advisory. A task file could say "keep this small," and an agent could read that and still overrun it, because a sentence in a file has no enforcement behind it.
Memory lived in silos. Each assistant kept its own notes. Two agents could work the same project for a week and hold two different versions of its history.
Permissions were conventions. Which folders an agent could touch was a rule it was told about. Nothing stood between a confused agent and a directory it had no business writing to.
Dashboards did their own math. Every surface derived its own picture from the raw files, so two screens could honestly disagree about what was running and what it had spent.
None of this was misbehavior you could pin on one agent. The rules existed as prose, and prose does not enforce anything.
The new generation: work as governed runs.
The new generation treats an agent doing work the way an operating system treats a process. Before any agent starts, the job gets a run envelope: a work order with hard edges. It names the goal, the directories the agent may write, the tools it gets, how much it may spend in tokens, time, turns, and dollars, and who has to approve the risky parts. The envelope is validated machinery, so work outside those edges is off the table before a model ever sees the job.
Budgets moved from prose to a ledger. When a run spawns a helper, the child reserves its budget from the family's remaining pool before it starts, and the reservation settles when it ends. Unused amounts flow back. It works like household money: nothing gets spent that was not first set aside, so a swarm of parallel agents cannot collectively overshoot what the operation decided it could afford.
Memory became shared infrastructure. Both assistants now read and write one canonical record, 159 entries and growing, with secrets scrubbed and duplicate captures dropped at the door. Ask either harness about a decision from last month and you get the same answer.
Everything emits receipts. Each run appends events to its own ledger: what started, what was approved, what was spent, what changed. When something goes wrong, nobody's recollection settles it. You read the receipts.
Every screen reads one snapshot. A derived, checksummed read model is generated from the ledgers, and every operator surface renders from that same file. The memory dashboard and the control board cannot disagree, because neither one does its own math anymore.
The runtime is held to 309 automated checks, run green on both PowerShell runtimes it has to survive on, every time it changes.