Skip to main content

Migration Plan

:::info Source Sourced from services/assessment-service/MIGRATION_PLAN.md in the documentation repo. :::

1. Core Rules​

  • Grading rule schema versioned; old attempts use the version they started with.
  • QuizBank version bumps on question/rubric change; in-flight attempts pinned.
  • AI prompts append-only; deprecated ≥ 1 milestone.
  • Rubric grading high-risk — schema changes require EU AI Act re-documentation.

2. Database​

Add column nullable ✅. NOT NULL two-step. Indexes CONCURRENTLY. Rubric JSONB versioned via rubric.schemaVersion.

3. API​

URL major v1 → v2 on breaking. Question response schema additive.

4. Events​

EventvPolicy
assessment.quiz_bank.created.v1v1Additive
assessment.attempt_result.scored.v1v1Additive; outcome enum additive
assessment.branching_scenario.completed.v1v1Additive

5. QuizBank Versioning​

  • New version when questions/options/rubric change.
  • In-flight attempts locked to version at start.
  • Old version retained until last attempt closes.

6. AI Prompt Evolution​

  • Append-only versions per ai-gateway pattern.
  • Bias + accuracy eval gates each bump.
  • Rubric grading prompt changes require compliance sign-off.

7. Branching Scenario Migration​

  • Scenario = DAG; edits create new version; in-flight attempts locked to their start version.

8. Offline Bundle Compatibility​

  • QuizBank schema versioned; player falls back to older renderer for older versions.
  • Forced re-download on major quiz bank changes if content critical.

9. GDPR​

  • Erasure saga deletes AttemptResult, responses, appeals.
  • QuizBank retained.

10. Changelog​

Per-release: new question types, rubric schema changes, prompt versions, DAG migrations.