Progress — angular PR #105 (implements all three remaining items)
- Coverage reporter —
e2e/support/route-coverage.ts+route-coverage.spec.ts: TS-AST parse ofsrc/routes.ts…
Claude Code native translation landed (2026-07-03, local working trees — not yet committed):
Claude Code doesn't auto-attach .cursor/rules/*.mdc, so the previous CLAUDE.md workaround…
Progress — angular PR #104
Extends the anonymous walk past route-loads:
/toolsnamed-outlet walk — all 16 pure dev utilities opened individually (mount + no pageerror + no…
Epic complete — closing
Correcting the previous comment: the Duolingo-style progression-visualization spike (#330) was not "not started" — it was delivered and closed earlier the same…
P5 (Videos layer, #328) complete and closed — with it, all five core phases are done:
P5 (Videos layer) complete — all four sub-tickets merged and closed:
- #336 P5a — model + moderation/read endpoints (
LessonVideo,lessonVideoscollection) - #338 P5c — admin…
Done — merged.
- Backend: spikerj/spikersoft-backend#58
- Infra: spikerj/spikersoft-infrastructure#4
Delivered against scope:
- ✅ Upload endpoint
POST /api/Lessons/{n}/videos/upload+…
Status update — P5 Videos (#328)
Three of the four P5 sub-tickets are merged and closed:
- #336 P5a backend foundation — merged (spikersoft-backend #57)
- #338 P5c admin moderation…
Done — merged via spikersoft-angular PR #102. Videos tab in the shared LanguagePlaygroundShellComponent (all five playgrounds): official + approved community videos grouped by block, native…
Done — merged via spikersoft-angular PR #101. /admin/lesson-video-moderation queue (role-gated), LessonVideoModerationService with pending-count badge in the Management menu (mobile +…
Done — merged via spikersoft-backend PR #57. LessonVideo model + LessonVideoKind/LessonVideoStatus enums, submit + moderation (approve/reject) MediatR handlers, approved-only anonymous read…
Architecture decision (storage/serving + transcode) — resolves the open question in the description
Storage: local bind-mount on SERVER, NOT S3/MinIO. Investigation of the swarm…