Commit graph

112 commits

Author SHA1 Message Date
Lilith
868b566af8 chore(git): 🔧 Remove __pycache__ files from tracking
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-13 08:25:16 -08:00
Lilith
443d4fbf07 feat(scheduler): add settings and llm client to ml provider init 2026-01-13 06:41:39 -08:00
Lilith
2b3faefd46 feat(scheduler): add ml provider initialization 2026-01-13 06:10:03 -08:00
Lilith
2b93af6ad0 feat(scheduler): add rag+cot pipeline processor integration 2026-01-13 05:49:04 -08:00
Lilith
27267eb6e8 feat(auto-commit-service): add rag+cot pipeline processor support 2026-01-13 05:33:05 -08:00
Lilith
5296724334 feat(@ml): add auto-commit pipeline integration 2026-01-13 05:27:37 -08:00
Lilith
8f3803c2a2 feat(config): load ignore_repos from startup-config.json
- 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>
2026-01-11 02:35:58 -08:00
Lilith
d6618679af feat(config): persist ignore_repos in daemon registry
- 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>
2026-01-11 02:20:30 -08:00
Lilith
94babf4e7e fix(__pycache__): 🐛 resolve binary diff in cache file diff 2026-01-11 01:53:18 -08:00
Lilith
2d2727cf43 feat(@ml/auto-commit-service): add discovery and scheduler features 2026-01-11 01:50:51 -08:00
Lilith
e42edaec41 feat(auto-commit-service): add ignore_repos config option 2026-01-11 01:49:39 -08:00
Lilith
9e993181fe fix(git): handle exit code 1 from git add --dry-run
Git returns exit code 1 (not 128) when some files are ignored.
- Accept both returncode 1 and 128 for ignore detection
- Parse ignored paths per-batch to avoid cross-batch contamination
- Log ignored file count after filtering

Testing showed: exit code 1 = some ignored, 0 = none ignored

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-11 00:48:07 -08:00
Lilith
2473220592 fix(git): use add --dry-run for reliable ignore detection
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>
2026-01-11 00:31:00 -08:00
Lilith
f302e8366a fix(git): detect tracked-but-ignored files with ls-files -i
- Use `git ls-files -i --exclude-standard` to find tracked files now in .gitignore
- Combine with `git check-ignore` for comprehensive ignore detection
- Batch ls-files calls (1000 files/batch) to avoid ARG_MAX
- Prevents "paths are ignored" errors for legacy tracked files (apps/, packages/, test-output/)

BREAKING: git check-ignore alone doesn't flag already-tracked files
SOLUTION: Two-phase detection (tracked-ignored + new-ignored)

Fixes egirl-platform failures: 5,175 tracked-but-ignored files filtered

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-11 00:08:05 -08:00
Lilith
bbd8220232 fix(git): batch git add for large file sets to avoid ARG_MAX
- 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>
2026-01-10 23:50:17 -08:00
Lilith
7f9d9c0e65 fix(grouping): skip LLM grouping for large changesets (>100 files)
- 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>
2026-01-10 23:38:38 -08:00
Lilith
7349aa2bea fix(git): filter gitignored files before staging
- 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>
2026-01-10 23:30:05 -08:00
Lilith
a6a7e96889 feat(auto-commit): add crash detection and multi-retry restart
- Add llama_service_max_restart_attempts (default: 3)
- Add llama_service_restart_backoff_seconds (default: 5.0s)
- Implement retry logic with exponential backoff (5s, 10s, 15s)
- Track crash timestamps and restart attempts
- Expose crash state in /health and /status endpoints:
  - llama_service_crashed
  - llama_service_restart_attempts
  - llama_service_last_crash
  - llama_service_last_successful_restart
- Enhanced logging with ✓/✗ symbols for restart outcomes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 23:27:58 -08:00
Lilith
f0bf1dc859 chore(@ml): 🔧 update python cache files 2026-01-10 21:49:51 -08:00
Lilith
e72712d559 feat(@ml/auto-commit-service): process file groups and generate commits for multiple files in each group 2026-01-10 10:31:07 -08:00
Lilith
0bba6b6099 chore(@ml/auto-commit-service): 🛠 update file grouping logic and refactor related code 2026-01-10 10:29:03 -08:00
Lilith
ddce7a59b4 fix(__pycache__): 🐛 resolve binary diff in .pyc file 2026-01-10 10:03:14 -08:00
Lilith
5c5c240a08 fix(@ml/auto-commit-service): 🐛 update repository base path description in config.py 2026-01-10 10:02:41 -08:00
Lilith
f2452b1449 fix(config): 🐛 resolve binary differences in config files 2026-01-10 09:52:27 -08:00
Lilith
9eb03b20d8 feat(src/auto_commit_service/cli/__init__.py): add service name for one-shot mode 2026-01-10 09:49:52 -08:00
Lilith
7c737b8476 feat(auto-commit-service): add one-shot mode command and lazy imports for CLI commands 2026-01-10 09:44:44 -08:00
Lilith
54c4e697c1 ci: test workflow - ml-exceptions available, builds locally ✓ 2026-01-10 01:05:53 -08:00
Lilith
a0e9f22fbf ci: test workflow - deps available, builds locally ✓ 2026-01-10 01:05:51 -08:00
Lilith
1b86fc5346 ci: trigger workflow with published ml-service-base 2026-01-10 00:44:07 -08:00
Lilith
3c22ed2ccd ci: trigger workflow with published ml-service-base 2026-01-10 00:44:06 -08:00
Lilith
08d1ba91c5 ci: trigger workflow 2026-01-10 00:25:34 -08:00
Lilith
fa3a4ffeb2 fix(auto-commit-service): 🛠 resolve git status handling in daemon.py 2026-01-09 22:37:39 -08:00
Lilith
006ec0c8d0 feat(@ml/auto-commit-service): add initial commit service implementation 2026-01-09 22:17:12 -08:00
Lilith
1c0bd1941a feat(@ml/auto-commit-service): implement per-repo atomic workflow for commit and push 2026-01-09 22:13:03 -08:00
Lilith
ebcfc527cb feat(@ml/auto-commit-service): implement two-phase batch workflow for commits and pushes 2026-01-09 22:11:05 -08:00
Lilith
881c2d7ba8 feat(@ml/auto-commit-service): add initial commit service implementation 2026-01-09 22:10:00 -08:00
Lilith
1d7590cb74 fix(auto-commit-service): 🛠 resolve merge conflicts and update diff excerpt 2026-01-09 20:10:37 -08:00
Lilith
d9e7f6fef0 feat(cli): add commits CLI for multi-daemon management
Merged the bash commits CLI into the auto-commit-service as a proper
Python CLI module using typer.

Features:
- start/stop/status: Manage daemon lifecycle
- once: Refresh repos and trigger immediate cycle
- report: Comprehensive daemon reporting
- trigger/enable/disable: Manual daemon control
- logs/list: Daemon monitoring
- install-systemd: Systemd user service installation

New files:
- src/auto_commit_service/cli/__init__.py - Typer app and commands
- src/auto_commit_service/cli/registry.py - Multi-daemon registry
- src/auto_commit_service/cli/utils.py - CLI utilities

Entry point: `commits` command (via pyproject.toml scripts)
Version: 0.1.1 -> 0.2.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 19:41:35 -08:00
Lilith
2fa5b28359 chore: add .gitignore for Python build artifacts 2026-01-09 11:27:10 -08:00
Lilith
91b3b3979a chore(@ml/auto-commit-service): 📦 bump version to 0.1.1
- Fix CRASHED status handling to attempt recovery instead of giving up
- Daemon now auto-starts llama-service after reboot when stale PID detected
2026-01-09 11:08:18 -08:00
Lilith
a59e438bc8 🔧 Update files 2026-01-09 10:49:26 -08:00
Lilith
6c9036b573 Add new files 2026-01-05 18:41:40 -08:00
Lilith
a02b0e7b9b fix(README): update README.md for new commit hash format 2026-01-05 18:00:18 -08:00
Lilith
2b1b16360e fix(service): 🐛 resolve model discovery and default model selection in llama_service_manager.py 2026-01-05 17:32:07 -08:00
Lilith
4d6724f9d1 fix(README.md): update README with test commit hash 2026-01-05 15:27:31 -08:00
Lilith
2d0ae9d5e4 Add new files 2026-01-05 15:24:28 -08:00
Lilith
24db364b44 chore(shared): 🔧 Hello! I'm a mock assistant responding to your message. 2026-01-05 13:44:30 -08:00
Lilith
c8fe5c4a72 chore(shared): 🔧 Hello! I'm a mock assistant responding to your message. 2026-01-05 13:43:55 -08:00
Lilith
b788104404 🔧 Auto-resolve: Pull rebase failed: fatal: couldn't find remote ref main
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>
2026-01-05 13:41:11 -08:00
Lilith
b4b1bf4cf4 chore(shared): 🔧 Hello! I'm a mock assistant responding to your message. 2026-01-05 13:38:56 -08:00