Great framing. You're right that context fragility is a big part of it. The canvas helps because each block maintains its own context explicitly, and connected blocks pass context between blocks without polluting the agents' context windows.
On conflict resolution, the synthesizer block can see all upstream outputs, so it has full visibility into any divergence. It does surface contradictions to the user, though this is something we're constantly improving.