Skip to content
AyoKoding

Artifact: Which Change Earns an ADR

ex-32 · exercises co-18 · three changes, only one hard-to-reverse enough to record.

ChangeHard to reverse?Architecturally significant?Earns an ADR?
Rename a local variable d to delta inside restock()No -- a single-file, single-commit revertNo -- purely cosmetic, zero external impactNo
Add one logger.info(...) line inside the redemption handlerNo -- trivially removableNo -- observability detail, not a structural choiceNo
Swap the primary datastore from PostgreSQL to a document store for the card-balance tableYes -- touches every read/write path, a data-migration project to undoYes -- changes the system's own storage/consistency modelYes

Verify: only the database swap earns an ADR -- both other changes fail BOTH tests (hard to reverse, architecturally significant), while the database swap passes both, satisfying co-18's rule that a routine change does not earn one.

Key takeaway: an ADR-worthy decision fails to reverse cheaply AND changes the system's own structure -- either property alone is not enough (a hard-to-reverse but purely cosmetic rename does not exist in practice; an easily-reversible architectural experiment behind a flag might not need one yet either).

Why It Matters: writing an ADR for every commit drowns the genuinely significant decisions in noise, defeating the entire point of having a searchable decision record; the two-question test (reversibility, architectural significance) keeps the ADR log small enough that someone six months later will actually read the one that matters.

Last updated July 17, 2026

Command Palette

Search for a command to run...