# Story 1.4: Assignment Submission Persist key: 1-4-assignment-submission-persist status: drafted phase: backend-planning note: Non-implementasi — definisi metadata & audit trail. ## Ringkasan Draft kontrak penyimpanan submission tugas. ## Scope Backend - Payload: { userId, assignmentId, submittedAt, contentRef, metadata } - Storage: metadata & referensi konten (file/cloud) - Audit: who/when, immutable log ## Acceptance Gate - Keamanan & privasi diluluskan - Audit & retention policy disetujui ## Kontrak (Outline) - Route: POST /api/assignments/{assignmentId}/submit - Response: 201 ``` { "submissionId":"s1", "status":"received", "submittedAt":"..." } ```