appcore-sync-sqlite 0.1.0-alpha.4

Bounded SQLite persistence provider for AppCore synchronization state.
Documentation

appcore-sync-sqlite

English guide | Guia em português | Guide français

Optional post-1.0 SQLite persistence for AppCore synchronization state.

The crate implements the existing replication-log, outbox and checkpoint contracts. It also provides portable snapshots, bounded opaque tombstones, integrity inspection and verified online backup/restore. It never exposes a SQLite connection or accepts application SQL, tables, migrations or workflows.

Every database uses transactional internal schema V2, WAL, synchronous=FULL, a bounded connection pool, busy timeout, SQLite runtime limits and startup integrity validation. Unknown, unversioned and future schemas fail with NO MORE SUPPORTED PLEASE UPDATE.

Schema V2 adds bounded attempt counters and readiness timestamps to the outbox. peek and next_ready select count/byte metadata before reading BLOBs; stats contain no payload and a partial receipt deletes only an exact ordered prefix in one transaction. A known schema V1 database migrates atomically with zeroed retry metadata. Preserve a pre-migration backup for rollback.

The capability descriptor declares transactions, locking, snapshot, online_backup and multi_process. It deliberately does not declare streaming or multi_host.

This development crate is not selected by frozen V1 manifests and is not wired into appcore-bin. Direct consumers opt in explicitly. See release/sqlite-sync-provider-v1.md.

cargo test -p appcore-sync-sqlite