ScalarFile.list_valid_time_dirs/1 stripped only a `.hrdps` suffix before DateTime.from_iso8601/1, so `<iso>.sgrid` and `<iso>.hrdps.sgrid` never parsed and were skipped by both prune_older_than/1 and retain_window/2. Since .sgrid is the format the pipeline actually writes, nothing on the dense tier was ever deleted — production held 222 files spanning 8 days against a 48h window. Strip the known suffixes in order, mirroring ProfilesFile's anchored parser (which documents this exact failure mode for .hrdps.prop). Orphaned .tmp.* writes still don't parse, so they stay with the tmp sweep in Propagation.prune_old_scores/0. Also corrects the CLAUDE.md entry that recorded this as already fixed — the call site was present, the suffix parsing was not. |
||
|---|---|---|
| .. | ||
| microwaveprop | ||
| microwaveprop_web | ||
| mix/tasks | ||
| microwaveprop.ex | ||
| microwaveprop_web.ex | ||