If you are worried about agents diverging from user intent why not log user messages in a file, and make it a point to review this file against plans and executed work? In my own harness nothing the user types gets lost. It might be the most valuable piece of documentation in the project - the raw message log. I am only keeping user side, which is pretty thin, it's enough to figure out what happened. Logging messages to a file is just a matter of adding a user message submit hook, it costs nothing until used.
Codex and Claude Code store all this too. Lately I've started having each agent regularly read each other's chat transcripts as well as their own, including even the very same session I'm in. (With big contexts they increasingly forget a few things that they re-learn by just looking at the verbatim transcript.)
I don't think it's worth writing my own harness or switching to Pi and writing a plugin, but I definitely need to create some skills to automate much of this.