I just have it write a checklist file in /tmp (or a todo folder if I want to keep it), and check off items as it finishes them. Seems to work fine. Is this really needed?
Most of the time all you need is a throwaway md file to compensate for context loss and so you can loop on a spec across compaction. Once you have the spec implemented, there's usually no reason to keep it around. The code becomes the spec.
For hard constraints you have AGENTS.md, or put it in another md file. Why do I need additional software for this?