I built this because I was the RAM.
I run two labs. Claude Code for the ambiguous architecture work, Codex for the well-scoped stuff and the review pass. I have a MacBook that closes at 6 and a Mac mini that does not. I had tmux, Tailscale, Termius, a Telegram bot I wrote in a weekend and then maintained for six months against my will. I had a 400-line CLAUDE.md that the agent ignored past line 200, and a DECISIONS.md I forgot to update. I had the Groundhog Day. I woke up to stalled prompts. I re-explained the same Stripe decision to Codex an hour after Claude and I made it. I was paying $300 a month to be the continuity layer for two agents that were each smarter than me at the thing I was doing for them.
So I built the harness I wanted for myself and lived in it. For most of a year now, my agents have answered my phone. I kick off work from a Telegram thread, walk away, and come back to the diff. The memory underneath is MemoryRouter, which hooks the lifecycle of both Claude Code and Codex, so it deterministically sees every turn on both sides and neither agent can forget what the other one did. That part exists, it is in production, and it is the reason this is not another SQLite file of notes nobody queries.
Tweety Bird is that harness, packaged into one command, with the sharp edges filed off. It is the thing I would have paid for in a heartbeat the first time Codex flagged a decision Claude and I had made an hour earlier.
John Rood