Have you tried using hooks? I have a similar changelog except I write it to a SQLite database for searchability across all my sessions. I use the Stop/StopFailure hooks and it reliably writes to the change log. I used to just use CLAUDE.md instructions for this, but as you've experienced it's not completely reliable.