What changes
A conventional codebase is optimised for humans, with an AI assistant bolted on. An AI-native codebase is optimised for both, and where they conflict it favours the machine, because the machine is doing more of the reading. That sounds like a concession and it mostly is not: almost everything agents need is something careful teams already wanted and rarely enforced.
The instruction file is load-bearing
Conventions that lived socially, enforced at review by whoever cared, now need to be written where an agent will read them. The most valuable content is not instructions but prohibitions, because the default agent failure is doing more than asked: refactoring adjacent code, "improving" things nobody reviewed, extending scope helpfully.
Verify that the file is actually loaded, by testing rather than by inspection. We lost real time to an instruction import that silently did nothing because the path sat outside the working directory. No error, no log line, the file present and the import line correct. The only check that worked was putting a distinctive phrase in the imported file and asking the agent to quote it back.
Tests became the autonomy budget
Test coverage used to be about catching regressions. It is now the mechanism by which an agent knows whether it succeeded, which means coverage converts directly into how much you can safely delegate. A task with a test attached is one an agent iterates on alone. A task where correct is a matter of judgement is one you will arbitrate repeatedly.
This reframes the investment case. Tests are no longer insurance against future breakage, a benefit that is always easy to defer. They are the thing that determines throughput this quarter.
Architecture drifts toward smaller and more explicit
Bounded modules with clear contracts are easier for an agent to change safely and easier for a human to review completely, and both matter more as change volume rises. Explicit beats clever, because an agent infers intent from what is written rather than from what the team knows. The elegant abstraction everyone understands because they were in the room is exactly the thing that produces confidently wrong changes.
What it does to the team
Production stops being the constraint and review becomes it. That reorders everything: staffing, planning, and what a good day looks like. Two consequences worth naming.
Review capacity has to be planned like any other capacity. The failure mode is not a visible backlog. It is approvals quietly getting shallower until a body of unexamined work is already downstream.
The apprenticeship problem is real and unsolved. The tasks that built judgement are the ones most economic to delegate. A team that removes the bottom rung and plans to hire experienced reviewers indefinitely is exporting a cost, and the industry has not worked out who pays it.
Where to start, in order
- Make verification cheap and trustworthy. Everything else depends on it. If your test suite is slow or flaky, that is the project.
- Write the instruction file, prohibitions first. Then verify it loads, by quote-back rather than by looking at it.
- Shrink the unit of change. Smaller diffs, one concern per task. This is what makes review realistic rather than aspirational.
- Isolate concurrent work. Separate checkouts per agent. Two agents in one working tree corrupt each other, and the symptom looks like a broken build rather than a conflict.
- Only then extend autonomy. Longer leashes are affordable once the first four hold, and reckless before.
Related reading
The operating discipline is at agentic engineering, the day-to-day craft at agentic coding, and the tooling categories at AI coding agents. The organisational claim this page sits under is AI-native, and the vocabulary around it is sorted out in AI-native vs AI-first. For the debt this can accumulate, technical debt in the AI era; for a worked example rather than a position, our spec-driven development run.
Outside sources: Anthropic's agentic coding practice notes and METR's randomised trial on developer productivity, which is the most useful corrective to optimistic internal estimates.