docs-internal/engine/sqlite/components.md
Depot is split into the conveyer hot path plus workflow compaction. Workflow compaction is the only compaction publish/delete authority.
The conveyer is the request path used by the SQLite VFS.
Responsibilities:
BR/{database_id}/DELTA/{txid}/{chunk}.COMMITS/{txid} and VTX/{versionstamp} in the same commit transaction.META/head, quota counters, and access-touch manifest fields.SQLITE_CMP_DIRTY/{database_branch_id} and send throttled DeltasAvailable workflow wakeups when hot lag crosses compaction thresholds.PinStatus::Ready.Lease ownership: none. Correctness relies on Pegboard single-writer exclusivity for a live database plus FDB transaction fences. The conveyer must not take compactor leases.
The workflow compaction path uses one persistent DB manager plus hot and reclaim companion workflows per database branch.
Responsibilities:
SQLITE_CMP_DIRTY/{database_branch_id} and DeltasAvailable signals.CMP/stage/{job_id}/hot_shard.SHARD, advancing CMP/root, and compare-and-clearing expected PIDX rows.DestroyDatabaseBranch when a database branch is no longer live.Lease ownership: none. Gasoline workflow uniqueness uses only the database branch id tag.
| Component | Main writes | Lease |
|---|---|---|
| Conveyer | META/head, COMMITS, VTX, PIDX, DELTA, branch records, restore points | None |
| Workflow DB manager | CMP/root, live SHARD, PITR_INTERVAL, matching PIDX clears | None |
| Workflow companions | Staged hot output and manager-authorized FDB cleanup | None |
The components share branch metadata and pin counters, but each mutable manifest field has one owner.