- Load daemon config by matching current directory
- Override ignore_repos from config file (takes precedence over env var)
- Fall back to empty list if config not found
Usage: Edit ~/.config/commits/startup-config.json
No environment variables needed!
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add ignore_repos field to DaemonInfo dataclass
- Store in startup-config.json per-daemon
- Backward compatible (defaults to empty list)
- Eliminates need for environment variables
Usage: Edit ~/.config/commits/startup-config.json and add:
"ignore_repos": ["repo-name-1", "repo-name-2"]
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
BREAKING CHANGE: git ls-files -i only works on staged files
BREAKING CHANGE: git check-ignore doesn't flag tracked-but-ignored files
SOLUTION: Use `git add --dry-run` to test which files will actually stage
- Detects all ignore cases: new files, tracked files, directory patterns
- Parse stderr to extract ignored file list when exit code 128
- Batch processing (1000 files/batch) to avoid ARG_MAX
Fixes: @egirl/egirl-platform with 5,175 files under ignored /apps/ /packages/ directories
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add batching logic to git_add_specific() when files > 1000
- Splits into 1000-file batches to stay under system ARG_MAX limit (~2MB)
- Prevents "Argument list too long" errors on massive changesets
- Fixes failures in @egirl/egirl-platform with 10,042 changed files
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add early bailout when changed_files > 100 to prevent context overflow
- Prevents "request exceeds available context size" errors in Ministral-14B (4096 tokens)
- Falls back to single-group strategy for massive changesets
- Fixes "All commit groups failed" for repos with thousands of changed files
Resolves failures in @egirl/egirl-platform (10,042 changed files)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add git_check_ignored() to detect ignored files using `git check-ignore --stdin`
- Update git_add_specific() to filter out ignored files before `git add`
- Add stdin support to _run_git_command() for efficient batch operations
- Prevents "paths are ignored" errors when staging __pycache__, .pyc files
- Fixes "All commit groups failed" errors in @ml/auto-commit-service and @egirl/egirl-platform
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fix: Changed default git_branch from "main" to "master" in config.py
Root cause: Repository uses master branch but service was configured for main
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Root cause: Auto-commit service attempted to rebase from 'main' branch,
but remote repository only has 'master' branch.
Resolution: No conflicts or data loss. Working tree was clean.
The service should be configured to use 'master' as the default branch.
Previous commit (179786e) was already staged and ready to push.