You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
0.6.0 — 2026-07-09
Upgrade notes for admins
Run the migration after pulling: docker compose run --rm backend python backend/manage.py migrate.
Rebuild and start the new ccc service: docker compose build ccc && docker compose up -d.
It bundles the semantic-search engine (a local sentence-transformers model — no
API key, no external DB); first build downloads the model and takes a few minutes.
New service URL wired in docker-compose.yml (CCC_SERVICE_URL=http://ccc:8004)
and a read-only ./sources/codebases mount on tdmcp and backend. No new
values needed in .env.
To add a local codebase: drop a folder under sources/codebases/<name>/ on the
server, then Console → Codebases → Add Codebase → Local and pick the folder.
Added
Local codebases: Codebase now supports a local provider alongside
GitHub/GitLab. The agent reads files live from disk (no clone, no cached
tree) from a folder under sources/codebases/, gated by Role.allowed_codebases
exactly like remote codebases.
Add Codebase gains a Local provider card; the form swaps the
repository URL for a picker of unregistered folders under sources/codebases/
(mirroring the docs "Register Folder" flow) and hides branch/token.
The codebase MCP tools dispatch on provider: get_codebase_tree and read_codebase_file walk/read the mounted filesystem for local codebases; search_codebase uses ccc semantic search.
ccc service (containers/ccc/): a reusable, content-agnostic semantic-search
service — a FastAPI wrapper around cocoindex-code, following the same pattern as
the Codex/Claude gateways. Exposes POST /index and POST /search keyed by a
project path under sources/, so future consumers (e.g. documentation search)
can reuse it without changes.
Local codebases are indexed on registration and re-indexed periodically by a new
Celery-beat task (reindex_local_codebases, every 6h); the per-codebase Sync
button re-indexes on demand.
Changed
search_codebase and the codebase model docs now describe three providers
(GitHub, GitLab, local). repo_url is optional for local codebases.
Fixed
refresh_single_chart and send_report_email_task logged their (string,
prefixed-ULID) primary keys with %d instead of %s. Chart/report data was
never affected, but every successful chart refresh spammed the celery worker
log with a spurious --- Logging error --- traceback, and — worse — a real
refresh failure would hit the same bug in the except block, throwing away
the actual error message before it could be logged.