Track-as-issue items from the Milestone 7 whole-branch review — none blocking: - [ ] Pagination/limits for `/api/activities` and `/api/activity` (responses grow unbounded with many activities/learners/answers; md report length too) - [ ] Decide + document the CORS posture for `/api/*` (browser-based read-key clients) - [ ] Markdown cell/title normalizer: collapse CR/LF in interpolated labels (pipes already escaped); consider HTML-ish markdown escaping - [ ] Document JSON `dropOff` semantics when learners skip steps (raw counts can be zero/negative where HTML/MD display —) - [ ] Tidy the harmless `/dashboard` double-guard (bare-path + wildcard middleware both match) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Track-as-issue items from the Milestone 7 whole-branch review — none blocking:
/api/activitiesand/api/activity(responses grow unbounded with many activities/learners/answers; md report length too)/api/*(browser-based read-key clients)dropOffsemantics when learners skip steps (raw counts can be zero/negative where HTML/MD display —)/dashboarddouble-guard (bare-path + wildcard middleware both match)🤖 Generated with Claude Code