I encountered similar issues before I built Foremerge, ie auto router, orchestrater and shared blackboard type memory structure. The agents were aware of what was put into memory but still did their own thing and created conflicts. I still see it in claude code today when it creates subagents without Foremerge setup for the project. It resolves itself but you can see it burning through token usage to do so. If your using a single agent you dont necessarily need Foremerge but it still helps when subagents get created automatically and gives you the audit trail of intent decisions essentially at almost zero cost of having the tool installed.
Where Foremerge really shines is if you bounce back and forth between claude and codex with no single parent. I dont know Weave well enough to know where it sits. The question I'd ask about any of them is what happens if you kill it? If the agents stop then it's an orchastrator, if the agents continue and you just loosed the shared picture then its a coordinator like Foremerge.
How many sessions do you typically run at once and are they all children of the same parent?