Rodin ea9fa61d1e docs: pattern break archaeology — WHY (not just WHAT) is impure
Git blame + commit messages reveal four categories:
1. Ship behavior, fix plumbing later (time pressure)
2. Better tooling exposed limitations (observability)
3. Removal cost > carrying cost (zero-interest debt)
4. Context needs different patterns (not actually a break)

Specific findings:
- CockroachDB Handle: introduced for profiling, not correctness
- Stale 22.2 TODO: struct field costs 0, removal touches many files
- Prometheus globals: startup constants read in hot path = correct call
- AppenderV2: unifies 4 type-asserted interfaces into 1
- Ecto zero TODOs: version-gated, cleaned on version bumps by José
2026-04-30 11:07:12 -07:00

Patterns vs Official Guidelines

Divergence analyses comparing our extracted-from-source patterns against official coding guidelines.

Reports

Ecosystem Our Patterns Official Guidelines Report
Go rodin/go-patterns Effective Go, Code Review Comments, Google Style go/
Elixir rodin/elixir-patterns CONTRIBUTING.md, Style Guide, HexDocs elixir/

Philosophy

Official guides tell you what to do. Source patterns show what mature code actually does. When they diverge, neither is wrong — they serve different audiences and optimize for different things.

This repo documents where they agree, where they differ, and why.

S
Description
Divergence analysis: extracted source patterns vs official coding guidelines
Readme 93 KiB
Languages
Markdown 100%