Skip to main content

Readiness

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

1. Level per Milestone

MLevelScope
M0Block schema RFC, Prompt eval corpus, Author research
M1L1 (skeleton)Block runtime exists (learner side); no authoring UI yet
M2L3Block editor + AI co-author MVP + publish saga + SCORM 1.2 import
M3L3Branching scenarios + SCORM 2004 additions
M4L4Live collab (Yjs) + offline authoring + full GA
M5L4Localization, i18n polish

2. Gates

G1 — Domain

  • CourseDraft aggregate with invariants (CrossTenant, AIProvenanceRequired, BlockOrderContiguous, DraftPublishReadiness).
  • State machine enforced: editing → in_review → approved → publishing → published_idle.
  • Unit coverage ≥ 95%, mutation ≥ 80%.

G2 — API

  • OpenAPI published.
  • Idempotency-Key on writes; problem+json; cursor pagination.
  • Pact contracts: content, catalog, media, ai-gateway.

G3 — Events

  • authoring.course_draft.*, authoring.block.*, authoring.publish_saga.* registered.
  • Outbox + inbox.
  • Pact consumer contracts.

G4 — Sync

  • CourseDraft, Block, Module registered for offline (M4+); crdt_yjs policy.
  • Sync conformance test green.

G5 — AI

  • All AI via AIClient port.
  • AIProvenance on every AI block (invariant).
  • Prompt registry: block-generation, quiz-generation, text-improvement, translation, summarization.
  • Prompt regression + safety eval suites.
  • HITL enforced: draft_ai status cannot be required: true.

G6 — Observability

  • SLO: block preview p95 < 100ms, publish saga p95 < 60s, AI accept-rate ≥ 50%.
  • Dashboards: saga state, AI accept/reject per prompt, collab active sessions.

G7 — Performance

  • Block preview < 100ms p95.
  • Publish saga p95 < 60s.
  • HTML export < 3s.
  • 500 active collab sessions/pod.

G8 — Security

  • Answer keys encrypted at rest.
  • Embed provider allowlist per tenant.
  • Cross-tenant block reference rejected by invariant.
  • SCORM import sandboxed.
  • Two-tenant isolation suite green.

3. SLOs

SLITarget
API availability99.95%
Block write p95< 200ms
Publish saga success rate> 99%
AI accept-rate≥ 50%
AI refusal rate< 2%
Collab connection uptime99.9%

4. DoD

  • Unit + integration + contract tests green.
  • OpenAPI updated.
  • Event schemas registered.
  • Migrations fwd+back.
  • AI changes: prompt regression + safety eval pass.
  • Block kind changes: forward-compat test (S1 bundle loads in latest player).
  • Two-tenant isolation test.
  • Dashboards + runbooks updated.

5. Release Checklists

S2 Release (M2 — Authoring MVP + Co-Author)

  • Block editor + 8 core block kinds shipped.
  • AI co-author ≥ 50% accept-rate across 5 core prompts.
  • Publish saga p95 < 60s; compensations tested.
  • SCORM 1.2 import → publish → play E2E green.
  • Provenance badge visible + clickable in UI.
  • Authoring guide (≥ 30 help articles).

S5 Release (M4 — Live Collab + Offline)

  • Live collab stable (5+ authors in one draft, 2-hour session).
  • Offline authoring conflict rate < 1%.
  • Yjs merge correctness tested with adversarial edit vectors.
  • Side-by-side diff UI for conflicts.
  • 30-day retention for pre-merge backups.