Microsoft put Copilot Cowork, its agent for multi-step office tasks, into worldwide availability on June 16, four and a half months on from the first commit on January 13. Then, on October 21, nine engineers landed 1,211 pull requests on the backend in one day, according to a write-up on Microsoft’s Command Line engineering blog. AI agents wrote most of that code. Humans decided what to build and whether the result was good enough.

The team’s first rule: nobody writes code until a markdown spec exists. Each spec states what the change does, how anyone will know it works, and what it must not break. Many specs begin as someone talking through a feature aloud, with an agent drafting the text for a human to edit. The post’s author credits this habit with a bigger speed gain than any one model upgrade.

Output climbed once agents ran in parallel, each in a separate checkout on a single narrow task. Monthly merged pull requests went from 257 in January up to 2,754 by May, and the week starting October 12 saw 4,581. The security design made that volume tolerable. The model runs inside a container holding no user credentials, while a trusted host outside it handles identity, policy, approvals, and every Microsoft 365 action. The model can ask for anything. The host decides what happens.

That split paid off again later. Since the agent reaches the outside world only through a defined interface, the team could swap out the whole host without touching the agent.

The section most useful to builders covers checks that verify nothing. A size cap on agent instruction files was exceeded while its test stayed green, because the script piped output through tail, and a shell pipeline reports the status of its final command. Microsoft also found a formatting check handed an empty file list. Two rules came out of it: each check prints how many files it examined, and each new check ships alongside a test built to make it fail. Agents keep working until checks pass, the author notes, so a check that can pass while testing nothing will eventually be found.

Review followed similar logic. Engineers built competing review bots, and any bot that missed a bug got a new rule. The median first review landed in around 4.5 minutes. Yet a group of reviewer agents told to break one sensitive change found nothing, and people reading the same diff found four blocking issues. Critical changes now get at least one human check.

The Python to Rust move came from measurement. Python produced event-loop stalls as long as 11.9 seconds, 16.7 percent of session setups that hung for exactly 5.000 seconds because a timeout was firing, and 539 out-of-memory kills on one cluster in a single week. To prove each ported behavior was right, the team ran the real Python over sample inputs, saved the outputs as about 430 fixtures, and required the Rust code to reproduce them exactly. Traffic shifted cluster by cluster, with flags able to reverse each step. The Python runtime, around 4.9 million lines, was deleted on October 9, and the final cluster moved the next day.

Median time to first token on a session’s opening turn dropped from 7.9 seconds to 2.7. Microsoft concedes much of that gain came from relocating the agent loop out of a slow-starting container rather than from Rust itself, and it has not yet measured cost per turn. The account is also the team’s own, with no outside audit. Two things broke along the way: Python had quietly kept certain events in sequence without anyone specifying it, and the initial Rust entry point needed about six times as long to confirm a new message.

Anyone building an agent-heavy engineering team should copy the cheap part first. Pick one check you trust, break the code on purpose, and see whether it actually fails.

Reported by Microsoft’s Command Line engineering blog on 2 November 2026.