Skip to content
Nerdy beta

Cognitive and Intent Debt

AI is shifting where the riskiest debt lives. Code rot used to be the worst problem; now it shares the stage with two quieter forms: cognitive debt, the shared understanding inside a team's head, and intent debt, the goals and constraints captured in artifacts.

Margaret-Anne Storey’s article From Technical Debt to Cognitive and Intent Debt names three layers of software health. Technical debt lives in code. Cognitive debt lives in people. Intent debt lives in noncode artifacts like specifications, architectural decision records, and domain models. Technical debt is the well-known layer, and AI is increasingly capable of paying it down through automated refactoring, test generation, and code review. The other two layers are where the new damage accumulates, and they are much harder to see.

Cognitive debt is the team-level erosion of shared mental models. The system might compile cleanly and pass its tests, but nobody on the team can confidently predict what a change will do or explain why the system was built the way it was. The signals are familiar: resistance to change, unexpected results, slow onboarding, a low bus factor, and the quiet death of transactive memory — the team’s sense of who knows what. AI compounds this by generating code faster than the team can build the mental model needed to maintain it. Drawing on Shaw and Nave, Storey calls the underlying pattern cognitive surrender: accepting AI output with minimal scrutiny. The catch is that surrender inflates confidence even when the code is wrong, which is why the debt stays invisible until something breaks.

Intent debt is the absence of explicit goals, constraints, and rationale: the externalized artifacts both humans and AI agents need to know what the system is for. You see it as behavior drift, where the system diverges from what stakeholders thought it should do; AI agents producing technically correct solutions that miss the point; and quietly forgotten nonfunctional requirements like performance budgets and privacy constraints. Where source code used to capture intent implicitly through naming and design, AI-generated code requires intent to be articulated explicitly in living artifacts: architectural decision records, behavior-driven specifications, and domain models.

The three debts reinforce each other. Messy code is harder to reason about, which deepens cognitive debt. A team that does not understand the system makes worse implementation decisions, which compounds technical debt. And without articulated intent, both the team and its AI assistants optimize for the wrong objectives. The leverage move is treating shared understanding as a deliverable rather than a side effect of writing code, and capturing intent at the moment decisions are made rather than trying to recover it later.

Resources