Skip to main content

Durable local outbox + opportunistic Nexus sync for Lattice consumers.

Project description

lattice-recall

lattice-recall is the durable local outbox and opportunistic Nexus sync layer for the Lattice family. It provides a synchronous SQLite write path (WAL mode) for zero-loss local capture, paired with an asynchronous background coroutine that syncs records to the Nexus POST /api/recall endpoint when connectivity allows. All records are UUID-keyed for idempotent delivery, retried with exponential backoff on transient failures, and vacuumed after a configurable retention window (default 30 days).

Quickstart

pip install lattice-recall
import lattice_recall
await lattice_recall.persist(record)

Local-Only Mode

By default, lattice-recall requires Nexus connectivity. For early consumers or offline-first workflows, disable Nexus sync:

store = RecallStore(nexus_enabled=False)
await store.persist(record)

Local-only mode uses SQLite for all durability. Full details on the Nexus dependency and migration path: docs/NEXUS_DEPENDENCY.md.

Spec

The complete design specification for v0.1.0 lives in the Lattice vault:

02_Projects/Lattice/lattice-recall/Specifications/2026-04-27 lattice-recall v1 - Design Spec.md

Acceptance Gates

All gates covered by tests. See vault spec for full detail on each gate.

Gate Test Path
G1 sync local write durability tests/test_store_persist.py
G2 async Nexus sync tests/test_sync_worker.py
G3 reachability gating tests/test_nexus_client.py
G4 burst on reconnect tests/test_net_up_event.py + smoke B2
G5 idempotency tests/test_idempotency.py + tests/test_nexus_client.py
G6 cross-device ordering tests/test_store_fetch_local.py
G7 retention tests/test_retention.py
G8 multi-source tests/test_store_fetch_local.py + smoke B4
G9 multi-tenant slot covered via Record.tenant_id
G10 failure visibility tests/test_telemetry.py
G11 manual drain tests/test_store_lifecycle.py
G12 local-only retrieval tests/test_store_fetch_local.py
A1-A10 unit tests tests/test_*.py per gate
B1-B5 smoke gates tests/smoke/test_smoke_b1_to_b5.py
C1-C3 perf gates tests/perf/test_perf_c1_c3.py

License

Proprietary. All rights reserved.

Version: 0.1.0 (2026-04-27)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lattice_recall-0.1.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lattice_recall-0.1.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file lattice_recall-0.1.0.tar.gz.

File metadata

  • Download URL: lattice_recall-0.1.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for lattice_recall-0.1.0.tar.gz
Algorithm Hash digest
SHA256 73fd4286c766107117d90e46885ac84ba87a7325087316762409952ebb0d53dd
MD5 ede545119ee5042ec3d99a5d86767ca5
BLAKE2b-256 3af07aa9ded8c457f0e10f289bd3be3b6d0208d7b2866d2b94b001d7b4e9c856

See more details on using hashes here.

File details

Details for the file lattice_recall-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: lattice_recall-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for lattice_recall-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d62af7808e80e13405965101cdc1e7562410f732247bf4cad462b456357d60a
MD5 8b922731c0afa6efb901d06c47471b38
BLAKE2b-256 5b75421e233f5c96c8251729f6b23baf0e2542d066b5e61433d08053d90b9835

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page