Skip to content

M: Week 9 - Cascade delete course from Core to QM and AI Tutor #802

Description

@evanbones

Summary

When a course is deleted in Core, all related data in Question Maker and AI Tutor must be cleaned up automatically. Core is the SSOT for courses, so deletions should propagate through the API to both extensions — no orphaned records.

Scope

  • Core → QM: When a course is deleted in Core, trigger deletion (or deactivation) of all QM data tied to that course (question banks, questions, modules, topics linked to that course)
  • Core → AI Tutor: When a course is deleted in Core, remove all AI Tutor data tied to that course (session history, vector embeddings, topic/module mappings for that course)
  • Extensions should handle the delete event via the Core API (webhook, event, or explicit API call — follow the existing integration pattern)
  • Validate that no orphaned records remain in QM or AI Tutor after a course is deleted from Core

Acceptance Criteria

  • Deleting a course in Core triggers cleanup in QM (all linked questions, banks, modules, topics removed or flagged inactive)
  • Deleting a course in Core triggers cleanup in AI Tutor (session history, vectors, and course mappings removed)
  • No orphaned course references remain in QM or AI Tutor databases after deletion
  • Cascade behavior is covered by at least one integration or E2E test
  • Soft-delete vs. hard-delete behavior is consistent with the existing Core deletion policy

Part of: #58

EPIC: #58

Metadata

Metadata

Assignees

Labels

Platform Centralizationhttps://github.com/EduAI-Lab/EduAICore/issues/58Week 9June 29 – July 5, 2026

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions