The voice picker was a dropdown in the quiz player, beside the question — the one control on that screen with nothing to do with answering it, and one a learner sets once and never touches. It is a setting now, on the user rather than in a Redis blob, with a play button beside each voice because a voice is worth hearing before it is chosen. Choosing nothing stays a real choice: it means whatever an administrator marked default, so a site that changes its default reaches everybody without a row being edited. The tutor reads figures from `question_media` rather than the two legacy path columns. Those agree exactly today, so nothing was being lost — the first question given a second figure in the editor would have been the one that broke it, silently and only for the tutor. The legacy columns remain as a fallback for anything not projected into that table yet. And the retrieval thresholds are written down in docs/retrieval-thresholds.md: the three answers, the sixteen queries they were measured against, why they are deliberately not the retrieval floor, and how to re-measure when the corpus grows. Worth keeping the headline in mind — "discuss love" scores 0.491, alongside "tell me a joke". A number in the 0.4s is noise, not a weak signal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TqXevQJhxFrM7jJg82cgZN |
||
|---|---|---|
| .. | ||
| quiz-revamp | ||
| adaptive-sessions.md | ||
| api-reference.md | ||
| architecture.md | ||
| deployment.md | ||
| frontend.md | ||
| migrations.md | ||
| quiz-revamp-plan.md | ||
| quiz-revamp-progress.md | ||
| README.md | ||
| retrieval-thresholds.md | ||
| services.md | ||
| study-recommendations.md | ||
| tied-conditions.md | ||
| TODO.md | ||
PedsHub Documentation
Deep technical documentation for the PedsHub pediatric learning platform.
Pages
| Document | Description |
|---|---|
| Architecture | System overview, database schema, multi-worker setup, vector search, auth, rate limiting, concurrent quiz protection |
| API Reference | Every endpoint: method, path, auth, request/response, notes |
| Services | Backend service layer: AI extraction, embedding, vector search, PDF processing, email, reminders |
| Frontend | React app structure, pages, components, state patterns, runtime config |
| Deployment | Docker setup, environment variables, HTTPS, rebuilding, monitoring, troubleshooting, scaling |
| Adaptive sessions | What the Adaptive toggle selects, where the code is, and what it deliberately ignores |
| Study recommendations | How focus areas are ranked and what readiness means |
Quick Links
- Main README: ../README.md
- Backend .env template: ../backend/.env.example
- Docker Compose: ../docker-compose.yml