Conversation
roborev: Combined Review (
|
|
working on this |
- Add multi-directory array fields (claude_dirs, codex_dirs, etc.) to config with config.json loading and ResolveDirs precedence merging - Warn on startup when configured directories are missing - Change sync Engine to accept multi-directory slices instead of single strings - Wire multi-directory support through main entry point - Condense repeated fsnotify watcher warnings into periodic summaries - Add polling fallback for directories that can't be watched (e.g. network mounts) - Add multi-directory Claude sync integration test
In classifyOnePath, pattern-mismatch inside an isUnder match now continues to the next configured directory instead of returning false immediately. This prevents nested/overlapping same-agent directories from short-circuiting classification. In syncSingleOpenCode, track the last parse error across dirs and return it when all dirs fail, instead of a generic "not found". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8c46d57 to
d87df64
Compare
roborev: Combined Review (
|
|
thank you! |
When sync.NewWatcher fails entirely (e.g. no inotify/kqueue), startFileWatcher returned nil unwatchedDirs, so the 2-minute polling fallback never started. The only fallback was the 15-minute periodic sync. Return a non-empty unwatchedDirs slice on watcher failure so startUnwatchedPoll kicks in. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
roborev: Combined Review (
|
Summary
config.jsoncan have multiple paths, to support Windows & WSL on the same box egWatchRecursivenow returns watched/unwatched counts silently instead of logging one warning per failed subdirectorystartFileWatcherprints a single condensed line per root dir (e.g. "Couldn't watch 15 directories under \wsl.localhost..., will poll every 2m")Test plan
go vet -tags fts5 ./internal/sync/ ./cmd/agentsview/passesCGO_ENABLED=1 go test -tags fts5 ./internal/sync/ ./internal/config/ ./internal/server/passes🤖 Generated with Claude Code