# Story 2.3: Exam Summary Read API key: 2-3-exam-summary-read-api status: drafted phase: backend-planning note: Non-implementasi — kontrak read-only ringkasan ujian. ## Ringkasan Endpoint read-only untuk ringkasan hasil ujian. ## Scope Backend - Fields: totalScore, duration, perQuestion [{id, score}], startedAt, endedAt - Access: by sessionId ## Acceptance Gate - Format ringkasan disetujui - Akses kontrol diverifikasi ## Kontrak (Outline) - Route: GET /api/exam-session/{sessionId}/summary - Response: 200 ``` { "sessionId":"es1", "totalScore":85, "duration":1800, "perQuestion":[{"id":"q1","score":5}] } ```