Summary
On the Essays page, Submission History includes non-submission resources (rubrics/reference criteria) for the selected essay, causing confusing rows with:
- "Evaluation not available"
- labels that look like student submissions but are actually criteria content
User impact
- Teachers/students cannot reliably identify real historical essay evaluations.
- UI appears misconfigured even when backend connectivity is healthy.
Root cause
Frontend history mapping in EssaySubmission was ingesting all /api/essays/resources rows for an essay, without filtering to actual student submissions.
Corrective action
- Filter history rows to submission resources only:
- objective includes student_submission, or
- metadata contains uploaded_at, or
- explicit submission timestamp exists.
Validation
- Frontend build succeeds after patch.
- History now excludes rubric/reference-only resources from the submission timeline.
Related: #139, #141