Hi, thank you both for this. I built my own, worse, harness in my own, worse, lisp and I will also be joining the chat
The key trick is that workflows are represented as state machines which are just data structures. So, the LLM can easily inspect and change them to add or remove behaviors as it sees fit.
I have a specific supervisor role whose sole job is to watch how implementer agents are doing and whether they're making progress. When it sees them get stuck, its job is to unblock them.