The Filesystem as the Contract
Monday morning, one question: did the import finish or stop halfway. The transcript is there — four hundred turns, a compaction notice in the middle, and near the end the words all set. You cannot tell whether that means the last batch ran or that the agent believed it had. So you open the repository instead. A file changed at 02:14 lists every batch, the ones that landed, and the one that failed with the row it choked on. Nobody had to be woken up and nothing had to be replayed. The state was never reported to you. It was written down.
The timetable hangs at the stop
A bus stop is a pole with a sheet of paper behind glass. It says which departures leave from here and, at the top, the date it became valid. The passenger at half past five reads it, and so does the inspector, and so does the driver taking the route for the first time. The depot is shut and nobody is answering the phone, and that changes nothing, because the service is defined by what is in the frame and not by what the office remembers. You do not ask what the timetable is. You walk up and look.
An agent can be built the same way. Its standing instructions, its tool definitions with their typed arguments, its procedures for rare jobs, the adapters for each channel it answers on, the schedules it runs to — all of it lives in files at conventional paths that the runtime knows to look in. Adding a weather capability means adding a tool file with a schema. A procedure needed twice a year is a document the runtime loads only when the task calls for it. The behaviour is not assembled from settings somewhere; it is on disk, in files anyone can open.
The repository says what is true now
The payoff arrives when somebody new does. A colleague, or a fresh agent with an empty window, opens the repository and finds the architecture, the plan currently being worked, the tests, the decisions that were argued out and why, and a history of what changed when. Where the work stands is something you check rather than something you are told: run the suite and see. No dashboard, no service, nobody to ask.
That bounds what you are willing to leave running unattended, and it bounds it more honestly than any claim about the model. You can let an agent work overnight in proportion to what you can verify in the morning without its help. Which is why the expensive mistake is having two sources of truth. A sheet in the frame and a different sheet on the transport app, and passengers trust whichever one they saw last. In a repository it looks like conventional files plus an override set in some console, or progress spread across a chat, a ticket and a file, with nobody having said which of the three wins. Review stops meaning anything at that point, because what you can read is no longer what runs.
Somebody replaces the sheet on a schedule
Paper goes stale on its own. A route moves and the frame keeps advertising last spring, which is why the sheet carries a date and why a change is not finished when the buses change but when the sheets are in the frames. Somebody walks the line with a bag of them. It is routine work, done on a rhythm, not an act of conscience.
Documentation is maintained the same way or it is not maintained. Pages get structure, an index, links to the code they describe and a name attached to each. Linters and continuous integration then check freshness and ownership and whether the cross-links still resolve, so drift shows up as a failing check instead of a bad feeling. A recurring task goes hunting for instructions that no longer match how the system behaves and opens a patch — the proposed wording, the code it points at, the checks it ran — to be reviewed like any other change. Even documentation nobody writes by hand ages, and the repair has to be mechanical, because the alternative is an agent reading last spring’s instructions with complete confidence.
None of this makes the agent smarter. It makes the agent legible, which is the part you were missing at nine on Monday morning. If the only way to find out what happened is to ask, nothing was written down.