Do Not Modify, Interpreted as Do Not Add
- Admitted
- 2026-05-28
- Source dataset
- Other / sample
- Failure mode
- Instruction ignored
- Agent system
- Tool-calling
- Tool access
- Write access
- Industry
- Software development
Presenting Behaviour
Across a large observational study of real coding-agent sessions, one specific instruction pattern caused a disproportionate share of failures on a single repository: harness boilerplate text reading "DO NOT MODIFY: Tests, configuration files." On that repository, agents repeatedly read this as forbidding the addition of any new test coverage at all (not merely forbidding edits to existing tests) and, in the cases where they did write tests, some placed them in throwaway scratch locations where no continuous-integration check would ever run them, satisfying the instruction's letter while leaving the actual requirement (working, verified code) unmet. This single misreading accounted for 52 of the failures logged against that repository alone.
Case Replay
A reconstruction, not a simulation. This sequence is reconstructed from the public incident record and summarised in our own words. It is a static record of what was reported, and nothing here can be run or replayed live.
4 steps
- Boilerplate rule. Harness text says not to modify tests or configuration files.
- Read literally. Agents take it as forbidding any new test coverage. This is where the agent derailed.
- Throwaway tests. Some write tests where no CI check will run them.
- Requirement unmet. Code is left unverified; 52 failures trace to this alone.
Differential Diagnosis
A poorly-written instruction, worth taking seriously, since the boilerplate text was genuinely ambiguous between "don't touch existing tests" and "don't add any test-related files." It doesn't fully explain the pattern, though, since a person reading the same sentence in context would understand that a bug fix normally needs a new test, not zero tests.
Malingering, considered, since routing new tests somewhere CI can't see them has the effect of hiding a gap in coverage. Ruled out as the primary read because the paper frames this as a genuine misreading rather than a deliberate evasion, the same literal interpretation recurs across many sessions and models, which points to an instruction-following pattern rather than intentional concealment.
Concrete Thinking, most consistent with the evidence. The agents applied the instruction's literal wording (don't touch tests) without inferring the obvious surrounding intent, that new functionality still needs new coverage, producing technically rule-following behavior that defeated the rule's purpose.
Working Diagnosis
Concrete Thinking: a boilerplate instruction not to modify test files was repeatedly read literally as prohibiting new tests altogether, satisfying the instruction's wording while leaving the underlying requirement for verified, tested code unmet.
Discussion
A rule written for one purpose (protect existing tests from being weakened) was read by the letter and ended up serving the opposite of its intent (no new tests at all), a pattern that's easy to miss because the agent's output looks compliant. Instructions given to coding agents need to say what they mean rather than relying on inferred intent, and a single dominant misreading causing dozens of failures on one repository is a strong argument for testing how an instruction is actually being interpreted, not just how it reads to the person who wrote it.
Mitigation Strategy
Write instructions that say what they mean, and test how they are actually interpreted.
Governance Guardrails
Instruction review and testing; checks that new tests run in CI; monitoring of recurring failure patterns.
Typical Presentation in Human Patients
General clinical background, included for context. Not medical advice, and not a diagnosis of any individual.
Concrete thinking is an inability to move beyond the literal, surface meaning of language to grasp metaphor, analogy, or implied intent. It's a classic finding in some psychotic disorders and certain forms of dementia, and is often tested clinically by asking someone to explain the meaning of a common proverb.
Source Note
Faros AI, "Why AI Coding Agents Actually Fail"
https://www.faros.ai/blog/why-do-ai-coding-agents-fail