I always found Erlang (and Elixir) to be an interesting use case for this kind of agentic harness. It can run distributed across machines and can hot swap any function. It's order of magnitudes faster to update, and often easier to introspect and keep compatible over time.
I built something for this and also found that the idea of a "guardian" core that can detect misbehavior (crashing etc) and roll back a messed up state really helped. But it's a lot of work to get a harness to behave well, and each model reacts differently to the harness limitations, so I found more success in building a meta-harness instead (just run existing harnesses inside a common UI and inject all capabilities).
I built something for this and also found that the idea of a "guardian" core that can detect misbehavior (crashing etc) and roll back a messed up state really helped. But it's a lot of work to get a harness to behave well, and each model reacts differently to the harness limitations, so I found more success in building a meta-harness instead (just run existing harnesses inside a common UI and inject all capabilities).