Skip to main content

Readiness

:::info Source Sourced from services/sync-service/SERVICE_READINESS.md in the documentation repo. :::

1. Level per Milestone

MLevelScope
M0L3Protocol + cursor + delta + push/pull framework
M1L3Offline player sync (statements, progress, bundles, enrollments)
M2L3
M3L4Conflict resolution UI; all entity types registered
M4L4Yjs CRDT for offline authoring
M5L4Multi-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

SLITarget
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 availability99.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.