Natalie
be067f70f5
fix(@ml/auto-commit-service): 🐛 update local-to-lan hostnames
...
Deploy to Host / Deploy to Host (push) Failing after 4s
Publish to PyPI / Build and Publish (push) Failing after 2m14s
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 03:12:37 -07:00
Natalie
a9fa13d242
fix(@ml/auto-commit-service): 🐛 handle staged-only unstage on empty commit
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 02:18:15 -07:00
Natalie
2280d37bbc
🔀 merge(sync): reconcile plum's master branch into main
...
Both hosts had drifted since 2026-04-17 (merge-base a905acc ): apricot's
checkout tracked origin/main (the canonical dev line, +23 commits) while
plum's tracked origin/master (+2 commits). The Forgejo hub only reconciles
same-branch, so the two diverged silently and permanently.
This merge brings master's two unique commits onto main:
- 0d9d2e8 feat: tray-side ignore_repos support (app.py/local_agent.py/local_git.py)
— main only had daemon/CLI-side ignore support; the tray lacked it.
- 22cd4d0 fix: git_branch default master→main — main still hardcoded "master".
After this, plum is repointed to main and master is retired so both hosts
track the same branch and the hub keeps them in sync.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 02:13:52 -07:00
autocommit
2bfd968f1a
docs(docs): 📝 Add branch synchronization requirements and failure modes documentation to CLAUDE.md
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 19:22:47 -07:00
autocommit
c40872e476
docs(docs): 📝 Add detailed architecture documentation for multi-host sync between plum and apricot hosts, explaining roles, workflow, and technical specifics
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 03:25:53 -07:00
Natalie
22cd4d08ed
fix(@ml/auto-commit-service): 🐛 update default branch to main
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-01 03:18:03 -06:00
Natalie
0d9d2e870d
feat(@ml/auto-commit-service): ✨ add ignore-repo config support
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-13 15:30:46 -07:00
autocommit
d2a36929d0
deps-upgrade(config): ⬆️ Update dependency versions in pyproject.toml for security and compatibility improvements
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-11 09:02:38 -07:00
autocommit
0694372a0f
test(daemon): ✅ Add test cases for task-based routing behavior in daemon
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-11 08:56:36 -07:00
autocommit
c59be053f0
refactor(llm): ♻️ Introduce task-based routing logic in MultiModelLlamaClient for dynamic model selection
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-11 08:56:36 -07:00
autocommit
a1b4748f45
deps-upgrade(deps): ⬆️ Update dependencies in pyproject.toml for security, compatibility, and performance improvements
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-02 18:05:38 -07:00
autocommit
7cc96ae1f8
chore(auto-commit-service): 🔧 remove 'project-buildspace' from discovery patterns exclusion in config.py
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-02 18:03:19 -07:00
autocommit
4768bd36eb
deps-upgrade(deps): ⬆️ Update core dependencies in pyproject.toml to latest stable versions
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-20 19:08:33 -07:00
autocommit
378735b2dc
refactor(auto-commit-service/cli): ♻️ Replace LlamaCommitClient with MultiModelLlamaClient to enable multi-LLM model support in CLI tool
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-20 18:53:17 -07:00
autocommit
8d2227623d
deps-upgrade(deps): ⬆️ Update dependencies to latest stable versions in pyproject.toml
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-19 00:31:14 -07:00
autocommit
08f25ce5dd
feat(git): ✨ Add --no-verify flag to Git push operations to bypass pre-push hooks for automated pipelines
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-19 00:25:06 -07:00
autocommit
5fbb2b9686
deps: simplify to default pypi.black.local index
...
pypi.black.local nginx routing was fixed to forward /simple/lilith-* to
Forgejo PyPI and everything else to pypiserver (which falls back to
pypi.org). With that in place, no explicit index config is needed in
pyproject.toml — uv picks up the default via ~/.config/uv/uv.toml.
Drops:
- [[tool.uv.index]] forgejo — no longer required
- [tool.uv.sources] — same, not needed per-package
Requires host uv.toml to set default index = http://pypi.black.local/simple/
(now configured on apricot).
2026-04-18 13:09:53 -07:00
autocommit
f503fcd8b0
deps: resolve lilith packages from Forgejo PyPI registry
...
Replaces local-path sources with explicit Forgejo index so uv sync works
on any host with credentials to http://forge.nasty.sh/api/packages/lilith/pypi/ .
Published all 5 transitive lilith packages as a prerequisite:
- lilith-pipeline-framework 1.0.0
- lilith-service-fastapi-bootstrap 4.2.0
- lilith-queue-cli 0.1.3
- lilith-service-addresses 1.1.2
- lilith-model-boss 4.0.0
Credentials required at install time: UV_INDEX_FORGEJO_USERNAME and
UV_INDEX_FORGEJO_PASSWORD env vars (or equivalent uv.toml / .netrc entry).
The public pypi.black.local redirect only proxies pypi.org, not Forgejo,
so the explicit index config in this file is load-bearing.
Verified: rm -rf .venv && uv sync --extra dev produces a working install
with the new rebase-recovery code importing cleanly. commits.service
restarted successfully on the fresh venv.
2026-04-18 12:19:38 -07:00
autocommit
a5729ff2b4
deps: make uv sync work from local workspace sources
...
- Drop unused lilith-auto-commit-pipeline dep (no imports in codebase)
- Rename lilith-fastapi-service-base → lilith-service-fastapi-bootstrap
(the former was the old name; code imports the new module)
- Move lilith-model-boss to required (runtime-loaded by llm/multi_model_client)
- Declare transitive workspace deps directly (lilith-queue-cli,
lilith-service-addresses) so tool.uv.sources path overrides reach them
- Add [tool.uv.sources] pointing at local package checkouts so
uv sync resolves without any packages being published to pypi.black.local
Verified: fresh uv sync builds a clean venv from scratch, imports the new
rebase-recovery code paths, and commits.service restarts cleanly.
2026-04-18 12:09:57 -07:00
autocommit
f70c2c10a2
deps-upgrade(deps): ⬆️ Update core dependencies (pytest, black, mypy) to latest stable versions
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-18 12:09:08 -07:00
autocommit
a09b70228e
merge(fix-rebase-recovery): rebase recovery + lockfile auto-resolution
...
Ships:
- Verified abort escalation ladder (abort → quit → reset --hard ORIG_HEAD)
- Pre-cycle recovery for orphan rebase/merge state
- Lockfile auto-resolution for bun/npm/pnpm/yarn/cargo/uv/poetry
- Consolidated push.py pull-rebase to delegate to operations.py
- 13 new tests, all passing
2026-04-18 11:58:24 -07:00
autocommit
100a991765
chore(tests): remove unused fixtures divergent_repo and fake_bun_binary
...
Dead code — neither fixture nor _git helper was referenced by any test.
Also drop now-unused os/stat imports and duplicate pytest import.
2026-04-18 11:45:48 -07:00
autocommit
e747f78a70
test(conflict-resolution): ✅ Add comprehensive tests for regen timeout edge cases in conflict resolution
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-18 11:44:52 -07:00
autocommit
e00f025193
test(rebase-recovery): ✅ Add test case for rebase recovery failure handling and validation
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-18 11:38:36 -07:00
autocommit
8e5d94b9c4
test(conflict-resolution): ✅ Add test cases for conflict resolution logic, including detection and resolution scenarios
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-18 11:38:36 -07:00
autocommit
6d134bd379
test(tests): ✅ Add pytest fixtures to stub external service dependencies and Git utilities for improved test isolation
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-18 11:38:36 -07:00
autocommit
505362ed40
feat(git): rebase recovery + lockfile auto-resolution
...
Task #1 + Task #2 combined:
- _abort_rebase_verified: escalation ladder abort → quit → reset --hard ORIG_HEAD
- pre_cycle_recover: detect orphan rebase/merge state at cycle start
- Integrate into pre_cycle_sync: refuse to proceed if recovery fails
- Consolidate push.py:_pull_rebase to delegate to operations.py:git_pull_rebase
- conflict_resolution module with LOCKFILE_STRATEGIES (bun/npm/pnpm/yarn/cargo/uv/poetry)
- try_auto_resolve_lockfiles: conservative — acts only when all conflicts are lockfiles
- git_pull_rebase: attempt auto-resolution before falling back to abort
2026-04-18 11:32:27 -07:00
autocommit
931c4d530a
deps-upgrade(deps): ⬆️ Update dependencies and dev-dependencies to latest stable versions in pyproject.toml
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 23:23:07 -07:00
autocommit
a905acc83d
fix(local-agent): 🐛 Add -- flag to safely unstage changes on unborn branches during git reset
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 23:16:58 -07:00
autocommit
ac86138c14
deps-upgrade(pyproject.toml-level): ⬆️ Update dependencies in pyproject.toml to latest compatible versions
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:44:08 -07:00
autocommit
b09c13d3cc
feat(local-agent): ✨ Add dry-run mode and configurable max-diff-bytes parameter for safer agent execution
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:37:32 -07:00
autocommit
9325131db3
feat(auto-commit-service): ✨ Add config options for local commit control and dry-run mode in the tray application
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:37:32 -07:00
autocommit
8db4afe869
feat(cot-commit): ✨ Implement sophisticated COT reasoning logic for auto-commit decision triggers
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
autocommit
809681f042
deploy(deploy): 🚀 Update deployment scripts, installation/upgrade processes, and documentation for improved workflow consistency
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
autocommit
3cff601331
feat(auto-commit-service): ✨ Implement AI-powered fallback recovery with Claude integration, daemon scheduling, and commit grouping strategies for intelligent commit handling
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
autocommit
72c9df974f
feat(tray): ✨ Implement tray components for commit processing pipeline with TrayClient, CommitLoop, LocalAgent, Prefilter, and tests
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
autocommit
6358be5902
feat(git): ✨ Add auto-commit service with Git operations (commits, pushes, submodules) and database-backed state tracking
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
autocommit
1cd8aa6a07
feat(llm): ✨ Introduce LLM client and validator components with test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
autocommit
c8876b1194
feat(pipeline): ✨ Implement pipeline stages (analyze, commit, discover, format, group, prefilter, publish_verify, push, recover, retrieve, version_detect) and RAG components (codebase, conventions) for enhanced code analysis and automated commit workflows
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
autocommit
a85156eccb
chore(config): 🔧 Update .gitignore to exclude build artifacts, logs, and environment variables
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
autocommit
6d79bc2753
deps-upgrade(deps): ⬆️ Update dependencies to latest stable versions in pyproject.toml
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-17 21:20:13 -07:00
Natalie
a4a2f8dd82
feat(@ml/auto-commit-service): ✨ add stalled repo notifications
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-15 22:23:55 -07:00
Natalie
3b7be20bce
feat(@ml/auto-commit-service): ✨ add cooldown logic for Claude recovery attempts
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-15 01:16:35 -07:00
Natalie
c508867e0e
fix(auto-commit): 🐛 handle claude recovery failure cases
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-14 18:00:29 -07:00
Natalie
d70b90a60b
feat(@ml/auto-commit-service): ✨ add stalled repos indicator
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-14 17:56:00 -07:00
Natalie
90f06a77aa
feat(auto-commit): ✨ add clauderecovery cooldown and stalled repo tracking
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-14 17:54:42 -07:00
Natalie
b477082c30
fix(@ml/auto-commit-service): 🐛 update stashed check to skipped_dirty
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-12 23:18:47 -07:00
Natalie
b93c3aca2d
feat(error-handling): ✨ add claudesync recovery logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-12 23:13:08 -07:00
Natalie
fa4d7adc98
🔥 remove stash operations from pre_cycle_sync
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-12 23:07:30 -07:00
Natalie
fd3511ed67
feat(@ml/auto-commit-service): ✨ add pre-cycle sync and stash operations
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-12 23:01:51 -07:00