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 v1v2 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.