I've spent the last two building almost exactly this for fun at $DAYJOB, the todo list becomes individual threads with proactive comms. As I was building it, it was teaching me why there were some architectural choices in Gastown[1] that I was tilting my head at about back when it came out.
I've built half versions of it many times this year never getting the flow right.
Today I cracked the todo list led development where I was just adding ideas as streams of thought and if a thought was relevant to a repo I have a 'keeper' for each microservice who is the expert in answering questions and implementing features in its own domain. They live for forever and self compact if necessary but my coordinator session becomes chaos. I need to filter out the interactions I have with it to only relevant signals. At the moment I have them chatting back and forth and trying to keep up with them is intense.
My long term idea is that programs become living organisms where the agents live side by side to the code and running apps, receiving feedback from outside the system and implementing features and restarting and deploying itself with watchdogs. I had a lot of fun with it today.
My biggest issue is that the coordinator comes back to me with a question about an idea or feature that I had thought of an hour ago and it needs to refresh me on my own thoughts...
[1] https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16d...
Gastown ended because it couldn’t stop fiddling with gastown instead of making things according to yegge. No idea how this isn’t different
I’ve seen code that top model agents produce and it’s still incorrect, often faking tests, makes local maxima but otherwise boneheaded decisions and tradeoffs that are straight up horrible to run and try to maintain and I have no idea how people have convinced themselves that details no longer matter.