- src/watcher.ts: startInboxWatcher als isolierte Funktion - WatcherDeps mit processNote + onError + debounceMs - ActiveWatcher mit close() - chokidar-Calls entkoppelt vom Ingest-Code - src/cli/ingest.ts: nutzt startInboxWatcher statt eigener chokidar-Logik - tests/watcher.test.ts: 7 Edge-Case-Tests 1. startet und schliesst sauber 2. verarbeitet neue .md-Dateien 3. ignoriert Nicht-.md-Dateien 4. ignoriert Verarbeitet/-Unterordner 5. Debounce: mehrere schnelle Writes -> eine Verarbeitung 6. Fehler in processNote via onError-Callback 7. schliesst sauber ohne haengende Prozesse Verifiziert: - 129/129 Tests gruen (vorher 122, 7 neue fuer Watcher) - Echte chokidar-Integration (nicht gemockt) -> testet die Realitaet