Summary
Add an offline-capable event path: when the device has no network (or delivery to trackers is impossible), store events safely and send them when connectivity and policy allow.
Problem
- Events can be lost during offline / flaky networks if trackers fail synchronously or the pipeline does not buffer.
- Teams need predictable semantics for ordering, caps, and consent while queued.
Goals
- Durable best-effort delivery for eligible events (policy-driven).
- Bounded memory/disk usage with explicit overflow behavior.
- Clear interaction with consent, routing, and sampling on flush.
Non-goals (MVP)
- Full “analytics database” product; start with a small, auditable queue.
Acceptance criteria
Notes / links
- Likely overlaps with deferred tracker initialization queueing — consider a shared internal “outbox” design.
Implementation hints (optional)
- Consider a pluggable **OutboxStore** (memory + optional persistent impl).
- Consider reusing / aligning with any future “pre-init queue” from deferred setup.
Summary
Add an offline-capable event path: when the device has no network (or delivery to trackers is impossible), store events safely and send them when connectivity and policy allow.
Problem
Goals
Non-goals (MVP)
Acceptance criteria
trackcalls are queued instead of dropped (per documented policy).Notes / links
Implementation hints (optional)
- Consider a pluggable **OutboxStore** (memory + optional persistent impl). - Consider reusing / aligning with any future “pre-init queue” from deferred setup.