Commit Graph

1 Commits

Author SHA1 Message Date
a2nr c911908316 feat(progress): sinkronisasi evaluasi & recompute progress saat publish
- Publish konten langsung menyinkronkan lesson registry dan merekomputasi
  composite/state siswa bila jenis evaluasi (latihan/kuis) berubah, tanpa
  menunggu restart server.
- TTL cache (`LESSON_LIST_CACHE_TTL`, default 30 detik) untuk daftar lesson
  agar worker gunicorn lain ikut segar tanpa invalidasi lintas proses.
- Endpoint POST /content/sync-registry (teacher-only) + tombol Sinkronisasi di
  /teacher/progress untuk menangkap perubahan konten di luar webapp.
- Notifikasi editor saat progress siswa dihitung ulang pasca-publish.
- `recompute_lesson_progress()`: skor historis tetap disimpan; state legacy
  completed/scored tidak disentuh.
- Test unit (TTL cache + signature evaluasi) dan integrasi (publish recompute,
  sync registry, endpoint auth) + dokumentasi.

Tanpa perubahan schema DB.
2026-10-27 00:50:02 +07:00