Results & Scoring Roadmap
This checklist tracks the backend-first milestones for Evalium’s scoring, feedback, and results experience. Each milestone ships with a dedicated shell test that exercises the relevant API using realistic questions/evaluations so we keep parity with real-world usage.
✅ Foundations (current status)
- Section/bucket/passage authoring + preview (
backend/tests/evaluations_preview.sh) - Bucket dry-run endpoint (
backend/tests/evaluations_buckets.sh) - Evaluation validation + publish gating (
backend/tests/evaluations_validate.sh)
🚧 Milestones
1. Runtime Session & Submission Model
- Add
delivery_sessions,submissions, andsubmission_itemstables with timestamps, seed, device/IP metadata. - Create ingestion APIs:
POST /sessions,POST /sessions/\{id\}/answers,POST /sessions/\{id\}/submit. - Shell test:
backend/tests/delivery_session.shsimulates a full candidate flow (start session, answer items, submit).
2. Scoring Engine & Configs
- Attach
scoringConfig,feedbackPolicy, andexposurePolicyfields toevaluation_versions(JSONB or tables). - Implement pluggable scorers per question type; “check answer” endpoint uses same engine.
- Shell test:
backend/tests/scoring_check_answer.shcreates an eval in practice mode, runs check-answer, verifies feedback policy.
3. Submission Results API
- Compute canonical results on submission (overall, per section, per tag, per item).
- Expose
/submissions/\{id\}/resultswith stakeholder-aware projections (candidate view vs. admin view). - Shell test:
backend/tests/submission_results.shsubmits answers and asserts scores & tag breakdowns.
4. Feedback Blocks & Routing
- Introduce
feedback_blocks(evaluation-level, tag-level, question-level) with visibility rules. - Wire results API to attach feedback blocks according to policies; add “next step” routing hooks.
- Shell test:
backend/tests/feedback_blocks.shconfigures feedback + verifies candidate results.
5. Certificates & Outcome Automation
- Add certificate templates + issuance rules to evaluation config.
- Implement
POST /submissions/\{id\}/certificate(auto-triggered on passing results). - Shell test:
backend/tests/certificates.shpublishes an evaluation with certificate rules, submits passing attempt, validates certificate issuance.
6. Analytics & Psychometrics (stretch)
- Persist per-item stats (difficulty, discrimination, distractor counts) derived from submission_items.
- Expose admin analytics endpoints/dashboards.
- Shell/ETL test:
backend/tests/item_stats.shseeds historical submissions and validates computed metrics.
Testing Guidelines
- Keep each
.shscript self-contained: create real questions/evaluations, run the workflow, and clean up resources. - Prefer representative data (multiple tags, sections, buckets) so tests approximate real usage.
- Scripts live under
backend/tests/and double as runnable documentation for the API surface.
This roadmap ensures scoring, feedback, and results evolve systematically while preserving our backend-first contract. The frontend can light up each capability as the corresponding milestone lands.