Architecture decision records
Why the integration is the way it is, and what it was before. CLAUDE.md states the rules that follow from these; a record keeps the reasoning, the numbers it rested on, and the alternatives that were turned down, so a later change can weigh them rather than rediscover them.
A record is not edited once accepted, except to mark it superseded by a newer
one. Releases are named by their version (2026.11.0).
| # | Decision | Since |
|---|---|---|
| 0001 | Entity names state their window; a released id is never reused | 2026.11.0 |
| 0002 | RW reads the run ending on the hour, not HH:50 | 2026.11.0 |
| 0003 | RW's 10-minute runs feed the dry streak, nothing else | 2026.11.0 |
| 0004 | RW and SF are read in their HDF5 edition | 2026.10.1 |
| 0005 | Running totals are keyed on the release, and RW backs the main one | 2026.11.0 |
| 0006 | Rain events are their own opt-in entity, recomputed every release | 2026.11.0 |
| 0007 | Staleness is a deadline on the overdue release | 2026.9.0 |
| 0008 | The grid lookup floors from the outer corner | 2026.10.0 |
| 0009 | The full rolling-hour series is built from RV, not RS | 2026.11.0 |
| 0010 | Each product reads its cell on the grid its file describes | 2026.11.0 |
| 0011 | Gaps in the dry-streak source are checked against RW's hours | 2026.11.0 |
| 0012 | Rain events have a precipitation type only once it is measured | 2026.11.0 |
| 0013 | Rain warnings are subentries that filter the rain-events view | 2026.11.0 |