# Aufgabe: Live-Editing-Client für den Werkbaum-Editor implementieren Du arbeitest im **Werkbaum-Monorepo**, Teilprojekt `frontend/`. Implementiere die Client-Seite des Live-Editing-Protokolls gegen das Editor-Backend (`backend/`). Das Protokoll ist HTTP-only (kein WebSocket): Änderungen werden als zeilenbasierte Diffs per PATCH eingereicht, andere Clients erhalten sie über einen Long-Polling-Feed. **Wichtiger Kontext:** Die Live-Editing-Endpunkte sind spezifiziert (`backend/docs/live-editing-proposal.md`, Entscheidungen in `docs/DECISIONS.md` D76), aber noch nicht implementiert. Baue gegen den hier definierten Vertrag; die CRUD-Endpunkte existieren bereits. ## 0. Randbedingungen des Projekts — bitte zuerst lesen Diese Punkte sind nicht verhandelbar und bestimmen jede Implementierungsentscheidung unten: - **Keine Laufzeit-Abhängigkeiten.** `frontend/package.json` hat ein leeres `dependencies`; alles unter `devDependencies` (Vite, Vitest, jsdom) verschwindet beim Bauen. D11/D19/D20 und CLAUDE.md: neue Laufzeit-Abhängigkeiten nur nach Rückfrage. Also **kein jsdiff**, **kein CodeMirror**, **kein MSW** — Diff und Test-Doubles werden selbst gebaut. - **Vanilla JavaScript**, keine TypeScript-Dateien. Module liegen als `frontend/src/*.js` (siehe `parser.js`, `model.js`, `render.js`, `snapshots.js`, `autocomplete.js`). - **Der Editor ist eine rohe `