Summary
PR #107 merged and deployed; follow-up specs carry the product cleanup
0Questions
0Links
0Comments
2PRs
Spec body
# Assignments unification Domain refactor splitting the old `StudentCourse`/`TeacherCourse` model into four cleanly separated entities: `AssignmentType`, `Assignment`, `TeacherTraining`, and `Course`. This is engineering-driven work, not PM-designed. Tracked here so PM has visibility into the change and can plan UI follow-ups (see [teacher-my-classes-dashboard-cleanup](teacher-my-classes-dashboard-cleanup.md)). ## Status Shipped in `yawp-2.0` PR #107 on 2026-05-09 (`c8e968f24a9f897d86e5a0672ae71994c08f1f1b`) and deployed to production. QA runbook lives at `docs/superpowers/runbooks/2026-04-28-assignments-unification-qa-runbook.md` in that repo. The domain refactor is live, but it intentionally creates product follow-up work: - [student-practice-documents](student-practice-documents.md) defines how AssignmentType practice drafts and official Assignment documents should coexist. - [assignment-type-visibility](assignment-type-visibility.md) defines who can see AssignmentTypes after the old StudentCourse model. - [teacher-my-classes-dashboard-cleanup](teacher-my-classes-dashboard-cleanup.md) defines the teacher dashboard surface that sits on top of the new model. May 9 legacy-document incident: PR #114 restored teacher class views for pre-refactor class-linked documents that had no `assignmentId`. No data was deleted; the issue was a visibility/query gap after class visibility moved from legacy class links toward assignment links. ## What's changing - `StudentCourse` → split into `AssignmentType` (template) + `Assignment` (instance). - `TeacherCourse` → renamed to `TeacherTraining`. Conceptually unrelated to the courses a teacher teaches. - `Course` becomes the unambiguous container for students and teachers. ## Why it matters for PM - Any feature spec that touches assignments needs to use the new vocabulary. - The teacher dashboard UI depends on this landing — the dashboard cleanup spec is gated on it. - Backward-compat migrations are in place; existing data is being dual-written during rollout. ## Engineering handoff Not applicable — this is an engineering-owned item. PM should track status and update [teacher-my-classes-dashboard-cleanup](teacher-my-classes-dashboard-cleanup.md) when this lands.
Repo sync
{
"url": "https://github.com/The-Connell-School/yawp-2.0/pull/107",
"repo": "The-Connell-School/yawp-2.0",
"draft": false,
"state": "MERGED",
"title": "Assignments unification: split StudentCourse → AssignmentType + Assignment; rename TeacherCourse → TeacherTraining",
"branch": "assignments-unification",
"checks": {
"total": 7,
"failing": 2,
"pending": 0,
"successful": 5
},
"number": 107,
"syncedAt": "2026-05-26T21:38:23.522Z",
"mergeable": "UNKNOWN"
}