# Architectural Decision Log One file per decision, named `YYYY-MM-DD-short-topic.md`. Write a new entry when: - Choosing between non-obvious implementation approaches. - Intentionally rejecting a feature or pattern. - A bug causes a rule change. - Freezing or deprecating something. Format: ```markdown # Decision: **Date:** YYYY-MM-DD **Status:** active | superseded by YYYY-MM-DD-topic.md ## Context Situation making this decision necessary. ## Decision What was decided, stated clearly. ## Consequences What this means going forward; what is forbidden or required. ``` When a decision is superseded: add "superseded by" to the old file and create the new one. Do NOT delete old entries. Record the decision in the SAME COMMIT as the implementation code.