SIGN IN SIGN UP

fix: resolve multiple bugs from merged PRs and open issues

- Fix duplicate stdin=subprocess.DEVNULL kwargs in changes.py and
  tools/context.py that caused SyntaxError (#289)
- Make _validate_repo_root accept str|Path to prevent AttributeError
  when analysis tools pass string repo_root (#435, #433, #431, #418,
  #408, #384, #372)
- Change analysis_tools.py repo_root param from str="" to str|None=None
- Batch SQL IN clauses in communities.py to stay under SQLite's 999
  variable limit (#432)
- Add path length guard in incremental.py to skip overlong filenames
  that exceed OS limits (#386)
- Add missing threading import for start_watch_thread
- Add RuntimeError handler for watch command in CLI
- Fix test_starts_background_thread race condition
- Fix lint: line length, trailing whitespace, unused imports
- Remove ~50 junk duplicate files (iCloud sync artifacts)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
T
Tirth Kanani committed
4b6293f9e8c928deb3a2895f9e8575db4e9f762c
Parent: 6d5defc