Skip to content

Provenance at machine scale · research january 2026 · published 2026-08-03 · v1 · 3 min read

Removal conditions

Record what would have to be true before a decision could safely be removed, not only why it was made

Why a rationale does not survive contact with the next maintainer, and what a removal condition adds that the standard architecture decision record leaves out.

In brief
The problem

verified

Every claim this passage rests on has been checked against its sources.

  • "Chesterton's parable, published in 1929, tells the reformer to find out why a fence was put across a road before clearing it away."

    verified. The Thing, 1929, in the chapter The Drift from Domesticity.

Open the complete evidence in the structured publication.

A load-bearing decision recorded with only its rationale is still deleted by the next hand, because a reason explains a past choice to somebody who is making a future one.
The mechanism

verified

Every claim this passage rests on has been checked against its sources.

  • "The widely inherited architecture decision record template records context, decision, status, and consequences, and carries no field for the conditions under which the decision could be reversed."

    verified. Nygard's 2011 template and its subsequent adoption; a statement about what the sections are, checkable against the published form.

Open the complete evidence in the structured publication.

A removal condition turns a decision into a testable claim about the present, so taking it out means arguing with a sentence instead of deleting a line.
The move

verified

Every claim this passage rests on has been checked against its sources.

  • "Our own engineering record marks five load-bearing decisions, each carrying an explicit removal condition alongside its rationale and the alternatives that were rejected."

    verified. The patterns and gaps synthesis in our research vault, which enumerates them; a description of our own record, read before authoring.

Open the complete evidence in the structured publication.

Beside every load-bearing decision write the condition under which its removal becomes safe, and treat the absence of that sentence as an unfinished record rather than a tidy one.

Chesterton’s fence is the most quoted piece of advice in engineering and the least operational. The reformer who finds a fence across a road is told to go and find out why a fence was put across a road before clearing it away, and the advice is right and stops one step short. Knowing why the fence went up in 1974 tells you nothing about whether the reason still holds. You now have a history lesson and the same decision to make, and the person who wrote the history is not in the room.

Look at what the standard artifact for this actually records. An architecture decision record, in the template most teams inherited, has fields for context, for the decision, for its status, and for its consequences. Every one of them is about the past. None of them is about the conditions under which the decision stops being right, so the document arrives in front of a future maintainer as an explanation of a choice they are considering undoing, which is the one form of evidence least likely to stop them. Rationale is an argument the author had with themselves. It was already won.

The addition is one more field and it changes the register of the whole document. Alongside the reason, record what would have to be true before removal is safe. A removal condition turns a decision into a testable claim about the present rather than a report about the past, so taking it out means arguing with a sentence instead of deleting a line. The annotation form our engineering record uses is deliberately plain, a marker naming the decision as load-bearing, the rationale, the alternatives that were rejected, and the requirement that would have to be satisfied for the thing to go.

Our own record carries five of these, and reading them back is instructive because none of the conditions are impossible. The documentation hierarchy can go on the day an equivalent way of surfacing context at the point of decision exists. The abstraction over a third-party service can go when we either commit to that vendor deliberately or build a different abstraction. The two parallel data paths collapse into one the moment we drop either the server-rendering requirement or the offline requirement, and not before. A disabled lint rule comes back when the upstream conflict that forced it off is fixed. Each is a sentence somebody can meet, and meeting it is how the decision retires with dignity instead of being deleted in a cleanup.

The discipline earns its keep now for a reason that did not apply when these records were invented. A model asked to simplify a file will remove what looks redundant, and it is genuinely good at making things look tidy, because tidiness is a property visible in the text. Load-bearing is not a property visible in the text. It lives in a conversation held two years ago between people who have moved on, and a marker with a removal condition is the only form in which that conversation is present at the moment of decision, which is the same problem the craft has everywhere else and the same answer. Move the context to where the decision is made. The cost is one sentence written while you still remember why, and what it buys is that your reasoning gets to defend itself, in your absence, against arguments you will never hear.

Evidence and lineage

Research trail

Follow the sources, inspect how the claims are graded, or propose a correction at the exact record it concerns.

Sources 3
  1. G. K. Chesterton (1929). The Thing (the fence parable, in the chapter The Drift from Domesticity)

    The received view the brick concedes and then turns. The parable establishes the duty to learn the reason before removing the thing, and stops there, which is precisely the gap a removal condition fills.

    Comment on this source
  2. Michael Nygard (2011). Documenting Architecture Decisions

    The template most teams inherited, with its sections for context, decision, status, and consequences. Its field list is the evidence for the brick's central observation, that the standard artifact records only the past.

    Comment on this source
  3. MNSTRY engineering research record (2026). Enforcement patterns for machine-assisted development, and the patterns and gaps synthesis that applies them

    The annotation discipline itself (load-bearing marker, rationale, alternatives considered, removal requirement) and the five real decisions in our own estate that carry it, each with a removal condition that can actually be met.

    Comment on this source
Claims and confidence 4
  1. verified

    Chesterton's parable, published in 1929, tells the reformer to find out why a fence was put across a road before clearing it away.

    The Thing, 1929, in the chapter The Drift from Domesticity.

    Respond to this claim
  2. verified

    The widely inherited architecture decision record template records context, decision, status, and consequences, and carries no field for the conditions under which the decision could be reversed.

    Nygard's 2011 template and its subsequent adoption; a statement about what the sections are, checkable against the published form.

    Respond to this claim
  3. verified

    Our own engineering record marks five load-bearing decisions, each carrying an explicit removal condition alongside its rationale and the alternatives that were rejected.

    The patterns and gaps synthesis in our research vault, which enumerates them; a description of our own record, read before authoring.

    Respond to this claim
  4. directional

    The annotation discipline pairs the marker with a lint rule that fails on removal and a review step that displays the removal condition before a deletion proceeds.

    Specified in our enforcement-patterns record as a phased rollout. A designed mechanism whose effect on removal behaviour has not been measured, which is why the brick argues from the annotation rather than from an outcome.

    Respond to this claim

Read next

You have walked Provenance at machine scale end to end, from a corpus that could not see its own bad joins to a decision that can still say what would have to be true before it goes. None of it required knowing more than the people who built the thing. It required writing down what they already knew, at the moment they knew it.

Practice Pick one document a machine wrote that you now rely on. Find its seams, the places where two different pieces of work were joined, and read across each one for a topic that quietly changed. Note whether anything about the document marks it as machine-born, and if nothing does, add the mark yourself. Then take its most load-bearing claim and write the one sentence stating what would have to be true before you would drop it. You now know three things about that document you did not know this morning, and the third one will outlive you.

Or survey the topics.

Concepts in this piece 1

Add to the work

Contribute to Removal conditions

Write the useful part. Identity, provenance, and review history are attached when you submit. The published source stays unchanged.

Target Removal conditions

Contribution intent
Use an agent instead

The interface is ready. Public authenticated intake remains off until the hosted migration and feature flag are deployed together.