Readiness
:::info Source
Sourced from services/sync-service/SERVICE_READINESS.md in the documentation repo.
:::
1. Level per Milestone
| M | Level | Scope |
|---|---|---|
| M0 | L3 | Protocol + cursor + delta + push/pull framework |
| M1 | L3 | Offline player sync (statements, progress, bundles, enrollments) |
| M2 | L3 | — |
| M3 | L4 | Conflict resolution UI; all entity types registered |
| M4 | L4 | Yjs CRDT for offline authoring |
| M5 | L4 | Multi-region; mobile native; AI-assisted merge |
2. Gates
G1 — Domain
- SyncRegistration, SyncCursor, LocalMutation, ConflictRecord aggregates + invariants.
- VectorClock merge semantics (F06).
- 95% unit / 80% mutation.
G2 — API
- Sync protocol (
/sync/v1/) frozen (F07). - Admin API documented.
- Pact contracts with every replicable service + client SDKs.
G3 — Events
- All sync events registered; outbox + inbox.
- Consumes events from every replicable service.
G4 — Sync (self)
- Sync conformance test suite (protocol compliance).
- All entity types registered with correct conflict policies.
- Multi-device tests pass.
G5 — AI
- AI merge suggestion (M5) via AIClient.
- Provenance on AI suggestions.
G6 — Observability
- Push/pull throughput, conflict rate, device health, projection lag dashboards.
- Full-resync alerts.
G7 — Performance
- Push p95 < 500ms (100-mutation batch).
- Pull p95 < 300ms (500-entity delta).
- Delta projection lag p99 < 30s.
- 10k concurrent devices/region.
G8 — Security
- Device binding enforced.
- HMAC integrity verification.
- Two-tenant isolation green.
- Cross-user scope isolation.
3. SLOs
| SLI | Target |
|---|---|
| Push p95 | < 500ms |
| Pull p95 | < 300ms |
| Ack p95 | < 100ms |
| Delta projection lag p99 | < 30s |
| Conflict auto-resolution rate | ≥ 95% |
| Full-resync rate | < 0.1% devices/week |
| API availability | 99.9% |
4. DoD per Story
- Unit + integration + property tests green.
- Pact contracts verified.
- Chaos tests pass.
- Multi-device test pass.
- Two-tenant iso test.
- VectorClock property tests.
- Dashboards + runbooks.
5. Release Checklists
S0 (M0 — Foundation)
- Sync protocol implemented (push/pull/ack).
- Registration framework.
- Delta projection from domain events.
- VectorClock semantics correct.
- Sync chaos tests green ≥ 2 weeks.
S1 (M1 — Offline Player)
- Progress, enrollment, certificate, bundle registered.
- Airplane-mode E2E (J-12) green.
- Multi-device E2E (J-20) green.
- 7-day offline test green.
- Device health dashboard.
S5 (M4 — Offline Authoring)
- Yjs CRDT registration + merge.
- Offline authoring E2E (J-21) green.
- AI merge suggestion integrated.
- Conflict rate < 1%.
- Side-by-side diff UI.
- 30-day pre-merge backup.