A newer version of the Gradio SDK is available: 6.20.0
Architecture — Plane Mode Scholar
Agent pipeline (Best Agent)
User message
→ classify_intent
→ retrieve_chunks (vector search on pack)
→ retrieve_memories (hybrid filter + rerank)
→ pack_prompt (budget: chunks + memories + working memory)
→ generate (Qwen3.5-9B, streaming)
→ extract_candidates (regex + LLM JSON)
→ persist / consolidate / index_memory
Memory types
| Type | Written when |
|---|---|
| misconception | Quiz miss, teach-back gap, user states confusion |
| review_item | SRS scheduler after miss or gap |
| session_summary | End session |
| study_goal / deadline | Pack create or chat extraction |
| user_preference | Chat patterns |
Spaced repetition
SM-2 lite in memory/scheduler.py. First review is due immediately after a quiz miss so the Home dashboard and recall banner work within the same demo session.
Storage
- SQLite: packs, sessions, turns, memories, logs
- Vector stores:
pack_{id}for chunks,memory_{pack_id}for memories - Persistent disk on HF Space:
/data/plane_mode_scholar
Judge automation
docs/readiness_cases.jsonl— 5 scripted scenariosscripts/readiness_check.py— automated SRS + trace shape checkstests/test_scheduler.py— unit tests for due-now scheduling