feat(education): complete Flyway migration and atomic submit

This commit is contained in:
2026-07-30 12:06:55 +08:00
parent ce02f8acb4
commit 79a5799502
228 changed files with 32551 additions and 1376 deletions

View File

@@ -0,0 +1,37 @@
# EDU-014 — Extended student and secondary learning waves
- **Status:** blocked
- **Type:** decision map followed by implementation tickets
- **Phase:** 5
- **Blockers:** explicit product scope, EDU-004, entitlement model, AI/File/Member/System/Infra contract assessment
## Outcome
Every legacy Auth/Profile/extended Learning, scoreline, vocabulary, video, AI, notification, badge, feedback, and exam-date capability receives a traceable conclusion: replaced, migrated, retired, deferred, or product decision required.
## Required decomposition
Do not implement this as one large ticket. Create one child ticket per selected capability family after ownership is decided. At minimum assess:
- Auth compatibility and phone/OAuth binding;
- profile and education profile extensions;
- vocabulary learning/review;
- scoreline and admissions content;
- video entitlement and progress;
- recommendation and AI generation;
- notifications and reminders;
- points, badges, check-ins, feedback, exam countdowns;
- learning analytics, leaderboard, trends, and reports.
## Acceptance criteria
- [ ] Each family has target owner, reusable public capability, data disposition, API conclusion, priority, and tests.
- [ ] Member/System/Infra/AI capabilities are reused rather than copied.
- [ ] Sensitive reports and exports are redacted.
- [ ] Media and AI access follows entitlement and tenant rules.
- [ ] Retired capabilities have compatibility and data-retention conclusions.
## Risk and rollback
- **Risk:** Medium-to-high scope and entitlement risk.
- **Rollback:** Per child ticket; this parent is a planning gate.