- Sync imported progress (completed, scored, done, reset) to composite progress model and recompute composite_percent - Prevent caching of /progress-report.json with Cache-Control: no-store and frontend cache-busting timestamp - Provide inline expected format guides in exported CSV lesson headers (e.g. [completed], [<earned>/<total>], [done:<1|0>:<earned>/N]) - Support robust slug extraction from formatted headers in CSV roundtrip import with full backward compatibility - Add example composite lesson (exercise + quiz) in examples/content/dasar/composite_test.md - Add comprehensive unit and integration tests covering progress synchronization, header formatting, and roundtrip workflows |
||
|---|---|---|
| .. | ||
| scripts | ||
| storage | ||
| tests | ||
| __init__.py | ||
| database.py | ||
| docs_service.py | ||
| evaluation.py | ||
| lesson_registry.py | ||
| lesson_service.py | ||
| models.py | ||
| progress_status.py | ||
| repositories.py | ||
| student_roundtrip.py | ||
| teacher_auth.py | ||
| teacher_bootstrap.py | ||
| token_hashing.py | ||
| token_service.py | ||