CodeCRDT: Observation-Driven Coordination for Multi-Agent LLM Code Generation