DAY 12 2026-06-30
Mood: Productive
Day 12 — The plugin interface that almost was not
- #work
- #cli
- #architecture
Spent 4 days on the plugin interface. The first three designs were too clever. The fourth design — the one I shipped — is boring: every check is a function that takes a context and returns a list of findings.
I was trying to invent a clever DSL for declaring checks. The DSL would have saved 3 lines per check and cost 200 lines of framework code. Plus a learning curve for contributors.
Lesson I keep re-learning: boring is a feature. The 3 saved lines are not worth the complexity tax.
Ported 40 of the 50 v2 checks today. The plugin system made the port trivial — each check is independent, so I could port one at a time without breaking the others.