1.Architecture reviews
An architecture review evaluates a proposed system-level design — usually written up as an ADR (Architecture Decision Record: context, decision, consequences) — before any code is written, so a costly structural mistake is caught on paper instead of after months of implementation.
Key features
- An ADR records Context (the problem/forces), Decision (what was chosen), and Consequences (what this costs, including what it makes harder)
- Architecture review happens BEFORE implementation — its entire value is catching a structural mistake while it is still cheap to change
- A real review always names at least one real cost, not just benefits — a decision with zero listed downsides was not reviewed critically
- A reviewer can raise a blocking concern (must be resolved before approval) or a non-blocking one (worth discussing, does not gate the decision)
- An ADR is a paper trail: six months later, "why did we choose this?" has a written answer instead of relying on someone's memory
- Context — the problem and forces at play — why a decision is even needed
- Decision — what was chosen, written down before implementation starts
- Consequences — at least one real cost named — "None" means it was not actually reviewed
- blocker: concern — any reviewer can raise one — it alone gates approval, regardless of concern count
Command
def render_adr(title, status, context, decision, consequences):
return (
f"# {title}\nStatus: {status}\n\n"
f"## Context\n{context}\n\n"
f"## Decision\n{decision}\n\n"
f"## Consequences\n{consequences}"
)An architecture review happens on an ADR (Context, Decision, Consequences) before implementation, and it is only a real review if it can name at least one real cost and can raise a blocking concern that actually blocks.