# Story 2.2: Exam Scoring API key: 2-2-exam-scoring-api status: drafted phase: backend-planning note: Non-implementasi — hanya aturan penilaian & format. ## Ringkasan Kontrak endpoint penilaian jawaban ujian. ## Scope Backend - Input: { sessionId, answers: [{questionId, choice}...] } - Output: skor per soal & total - Mode: batch/stream (disepakati di kontrak) ## Acceptance Gate - Aturan penilaian disepakati - Integritas data & audit logging ## Kontrak (Outline) - Route: POST /api/exam-session/{sessionId}/score - Response: 200 ``` { "sessionId":"es1", "totalScore":85, "perQuestion":[{"q":"q1","score":5}] } ```