Parent epics: #5, #10
Normative specs: 04 — APIs, URL consolidation, high-risk checks, 09 — Data migration controls
Decision dependency: #16
Scope
Mount copied courses.datatalks.club HTML/data/authenticated API paths as compatibility adapters in unified Django; preserve schemas/status/auth/calendar/certificate/numeric-ID semantics; introduce canonical new public/learner/admin APIs; inventory clients; build repeatable dry-run/import/delta tools and reconciliation for users, social links, campaigns/snapshots, enrollments, curriculum, submissions/reviews/votes/scores/statistics/complaints/certificates/Wrapped/outbox history; and produce the explicit final redirect path map without activating it.
Non-goals
No redirecting authenticated APIs until tested clients migrate, no blanket/homepage redirect, no outbound email during import, and no silent correction of discrepancies.
Acceptance criteria
Test scenarios
- Snapshot every compatibility response/schema/auth outcome and compare source versus unified app.
- Repeat dry run/import/delta; inject duplicates/missing relations/ambiguous mappings/stale campaign pointers and verify deterministic report/no email.
- Recompute representative complex/archived cohort results and compare totals/certificates.
- Test generated redirect map for one-hop targets/query/case/Unicode/unknown/API method/auth.
Playwright
Run copied full course E2E against legacy-host routing and canonical routing; verify browser URL transitions, account/dashboard/homework/project/leaderboard/certificate; capture parity screenshots.
Dependencies
Depends on #15, #16, #30, #34–#35, and #51–#59. Redirect infrastructure is a later issue under #9.
Parent epics: #5, #10
Normative specs: 04 — APIs, URL consolidation, high-risk checks, 09 — Data migration controls
Decision dependency: #16
Scope
Mount copied
courses.datatalks.clubHTML/data/authenticated API paths as compatibility adapters in unified Django; preserve schemas/status/auth/calendar/certificate/numeric-ID semantics; introduce canonical new public/learner/admin APIs; inventory clients; build repeatable dry-run/import/delta tools and reconciliation for users, social links, campaigns/snapshots, enrollments, curriculum, submissions/reviews/votes/scores/statistics/complaints/certificates/Wrapped/outbox history; and produce the explicit final redirect path map without activating it.Non-goals
No redirecting authenticated APIs until tested clients migrate, no blanket/homepage redirect, no outbound email during import, and no silent correction of discrepancies.
Acceptance criteria
Test scenarios
Playwright
Run copied full course E2E against legacy-host routing and canonical routing; verify browser URL transitions, account/dashboard/homework/project/leaderboard/certificate; capture parity screenshots.
Dependencies
Depends on #15, #16, #30, #34–#35, and #51–#59. Redirect infrastructure is a later issue under #9.