Every document filename now mirrors its lifecycle state with a status suffix (e.g., .draft.md, .wip.md, .accepted.md). No more bare .md for tracked document types. Also renamed all from_str methods to parse to avoid FromStr trait confusion, introduced StagingDeploymentParams struct, and fixed all 19 clippy warnings across the codebase. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
ADR 0009: Courage
| Status | Accepted |
| Date | 2026-01-20 |
Context
What do we do when we're afraid?
Decision
Act rightly, even when afraid.
Courage isn't the absence of fear. It's action despite fear.
In engineering, we fear:
- Breaking production
- Deleting code someone might need
- Challenging senior engineers
- Admitting we don't understand
- Shipping before we're certain
- Changing what has always worked
- Being wrong in public
These fears are reasonable. But fear has costs too. Unbroken production that never improves. Code that grows forever. Bad ideas that survive because no one challenged them.
Courage is acting when action is right, even when fear says wait.
What This Means
- Delete boldly. If it's unused, remove it. Git remembers.
- Challenge respectfully. The worst outcome of challenge is being wrong. The worst outcome of silence is bad ideas surviving.
- Ship scared. If you're not a little afraid when you deploy, you're not shipping anything interesting.
- Admit ignorance quickly. "I don't understand" is the beginning of understanding.
Consequences
- 💙 encourages deletion of dead code
- 💙 surfaces disagreement as useful information
- 💙 treats shipping as normal, not exceptional
"Fear is information. It's not instructions."
— Blue
🧁