Upgrade Note
Bitloops has moved to a daemon-first architecture. This release intentionally breaks the older repo-local JSON configuration model.
What Changed
bitloops startnow owns default daemon-config bootstrap.- First-run telemetry consent now belongs to
bitloops startwhen that default daemon config is created. bitloops initnow bootstraps project policy and hook installation again.bitloops initcan optionally queue an initial DevQL current-state sync after hook setup.bitloops enableandbitloops disablenow toggle capture only.bitloops uninstallis now the command for machine-wide cleanup.bitloops statusnow reports daemon status and sync queue summary.bitloops devql tasks enqueue --kind syncnow queues sync tasks by default; use--statusto follow one to completion.- Repo/session status moved to
bitloops checkpoints status. bitloops dashboardis now a browser launcher instead of the server command.- The always-on service is now the global user-level service
com.bitloops.daemon.
Removed Defaults
The older repo-local defaults are no longer used automatically for configured relational, event, blob, cache, and scratch paths:
config.jsonconfig.local.jsonsettings.jsonsettings.local.json.bitloops/stores/relational/....bitloops/stores/event/....bitloops/stores/blob/....bitloops/embeddings/....bitloops/tmp/....bitloops/metadata/...~/.bitloops/dashboard/bundle
There is no automatic migration and no silent legacy fallback.
Bitloops does still keep repo-scoped workflow runtime state locally in <config root>/stores/runtime/runtime.sqlite.
New Configuration Model
Use:
- Global daemon config:
config.tomlin the platform config directory - Shared repo policy:
.bitloops.toml - Local repo override:
.bitloops.local.toml
Default path categories now follow platform app directories:
- Config directory: daemon config
- Data directory: relational DB, event DB, blob store
- Cache directory: embedding model downloads, dashboard bundle
- State directory: daemon runtime metadata, daemon runtime SQLite, and hook scratch files
- Repo runtime directory:
<config root>/stores/runtime/runtime.sqlite
What To Update
- Move daemon settings, store paths, provider credentials, and dashboard defaults into the global daemon config.
- Move repo capture policy into
.bitloops.toml. - Move local repo overrides into
.bitloops.local.toml. - Run
bitloops startinteractively on each machine, orbitloops start --create-default-config --telemetryin non-interactive setups, to create the default daemon config and default local store files. - If you use an explicit repo-scoped or test config, run
bitloops start --config /path/to/config.toml --bootstrap-local-storesto create the matching local file-backed stores before the first start. - Answer the telemetry prompt during that first
start, or pass an explicit telemetry flag. - Run
bitloops init --sync=trueorbitloops init --sync=falsein each repo or subproject to create.bitloops.local.tomland install hooks. Usebitloops init --install-default-daemonif you want init to bootstrap the default daemon service first; when embeddings are not already configured, that path now asks whether to use Bitloops cloud, the local runtime, or skip embeddings for now. - Use
bitloops enableandbitloops disableto toggle capture in project policy. Usebitloops enable --install-embeddingsorbitloops daemon enable --install-embeddingswhen you also want the default local embeddings profile set up in the effective daemon config. - Use
bitloops devql tasks enqueue --kind ingestfor checkpoint/history ingestion, andbitloops devql tasks enqueue --kind sync --statuswhen you want to queue and follow a current-state reconciliation. - Use
bitloops uninstall --fullif you need to clear the new platform-directory installation completely.
Examples
Old shared repo JSON:
{
"settings": {
"stores": {
"relational": {
"sqlite_path": ".bitloops/stores/relational/relational.db"
}
}
}
}
New global daemon TOML:
[stores.relational]
sqlite_path = "/Users/alex/.local/share/bitloops/stores/relational/relational.db"
New shared repo policy TOML:
[capture]
enabled = true
strategy = "manual-commit"