Notes on date parsing
The documentation was correct, I just did not read it carefully. The fix turned out to be one line, after an hour of looking in the wrong place. I keep relearning this, which is exactly why it goes here.
There is probably a better way, but this one is easy to remember. Plain text keeps winning for small personal projects. I ran into this again last week, so here is a short note for future me. After cleaning things up, the whole thing runs noticeably faster.
Next time I will start with the boring solution and see if it is enough. Most of the time the simplest tool is good enough. Measuring before changing anything saved me from a pointless rewrite. Writing a tiny test first made the problem obvious.
Naming things clearly helped more than any clever trick. I wish someone had told me this when I started.