The Invisible Cliff: AI Development and Architectural Debt

mynock1 pts0 comments

The Invisible Cliff: AI Development and Architectural Debt

Occasional Speculation

SubscribeSign in

The Invisible Cliff: AI Development and Architectural Debt<br>AI coding tools are accelerating how fast we accumulate architectural debt while quieting the signals that used to warn us about it.

Kevin Mehlbrech<br>May 21, 2026

Share

If you’ve been in software engineering long enough, you’ve probably lived some version of the following: A system ships features reliably for months, then a change that should take a day takes a week. Maybe a colleague mentions “I don’t understand why this is so hard.” After months of relatively quiet on-call shifts, pagers start going off and the customer support team gets hammered with user reported bugs. The next thing you know you’re knee deep in a large system rewrite project that’s months over budget and the sales team is starting to panic.<br>Engineering teams have been hitting these cliffs for decades, and the healthy ones have figured out how to proactively identify and mitigate them. What’s concerning is that AI coding tools have the potential to accelerate how fast we approach these cliffs while suppressing many of the signals we rely on to see them coming.<br>Complexity theory

Why this is so concerning rests on the following premises.<br>Software systems are complex systems. Complex systems exhibit emergent behavior, nonlinear responses, and outcomes only understandable in retrospect. The same change can produce different results depending on context. Past experience becomes unreliable as the system grows. Unless you’re doing explicit work to reduce it, complexity increases continuously. Quality degrades over time not from negligence, but as an inherent property of systems adapting to changing environments.<br>Software systems at scale conform to the definition of a complex system quite well, and this has been a useful paradigm for understanding evolution and maintainability of these systems.<br>Complex systems fail suddenly, not gradually. Charles Perrow’s Normal Accidents (1984) showed that in tightly coupled complex systems, major failures aren’t anomalies but inevitabilities. They start small and cascade rapidly. Richard Cook’s How Complex Systems Fail (1998) sharpened the point: complex systems are continuously degraded by latent faults masked by overlapping defenses. Catastrophe happens not when something new breaks but when several pre-existing small faults align in a way the defenses can’t absorb. Sidney Dekker’s Drift into Failure (2011) found that systems don’t lurch toward failure, they drift through a long series of locally rational decisions until they cross a boundary that was difficult to identify ahead of time. Marten Scheffer’s Critical Transitions in Nature and Society (2009) describes how systems absorb stress smoothly across a wide operating range and then collapse abruptly once a threshold is crossed, often irreversibly.<br>Software researchers have observed the same shape in codebases. The “Crisis Model“ describes a recurring pattern where architectural debt accumulates silently until adding new value becomes so cumbersome that a large, expensive refactor is forced under duress. Bug and incident rates stay flat for long stretches before spiking seemingly overnight as different parts of the system fail in unison for reasons that look unrelated on the surface.<br>The difference between organizations that are periodically shocked by these complex system collapses and those that don’t isn’t that the latter simply produce less debt. It’s that they’re able to detect problems early enough to intervene, well before the precipice of dramatic failure.<br>AI tooling suppresses traditional warning signs. AI driven development didn’t create these problems, but it can mute the signals teams use to catch them early.<br>Early detection has historically come from a handful of overlapping feedback signals, most of them informal. For example:<br>Engineers feel friction when trying to make a change.

Defect density rises in structurally degraded areas.

The cost of each additional feature starts climbing.

What most of these signals have in common is that they derive from the human experience of working with the system. The people writing the code develop an intuitive feel they use to advocate for regular refactoring and upkeep efforts.<br>AI doesn’t just have the ability to accelerate the rate at which structural debt accumulates. By reducing the level of hands on human interaction with the code, it unintentionally suppresses our intuitive warning signals. Accelerated architectural drift combined with quieter warnings is a dangerous combination.<br>Where the signals are going quiet

We’re losing proprioception. Proprioception is the intuitive sense that tells you where your body is in space without looking. Experienced engineers develop something analogous for codebases they spend time in: a felt sense of where the structure resists, which changes will create problems, and when something is off in a...

systems complex debt signals system architectural

Related Articles