diff --git a/dashboard/backend/brain_repo/watcher.py b/dashboard/backend/brain_repo/watcher.py index 4006a6ab..645bbbf2 100644 --- a/dashboard/backend/brain_repo/watcher.py +++ b/dashboard/backend/brain_repo/watcher.py @@ -105,7 +105,11 @@ def start(self) -> None: watched_any = False for rel_path in WATCH_PATHS: - watch_target = self._brain_repo_dir / rel_path + # Watch the SOURCE (install_dir / working tree) — that's where the user + # actually edits files. Pre-fix this pointed at brain_repo_dir, which is + # the SYNC TARGET and only changes when copytree runs (no useful signal), + # so auto-sync never fired for user edits. + watch_target = self._install_dir / rel_path if watch_target.exists(): self._observer.schedule( self._handler,