Repository navigation
StudySprint v0.5.0
Pre-release
Pre-release
·
140 commits
to main
since this release
[0.5.0] — 2026-11-03
Fifth versioned state: MINOR feature batch (v0.5.0 batch, parts 1+2+3+4 of 4) — the calendar core
(build A, issue #4157) + maps and temple routes (build B,
issue #4158) + state recall and hardening (build C, issue
#4159) + ingestion on every surface (build D, issue #4242)
of RFP-D1-6.
Provider credit: command-dispatch (Swarm Optimizations &
Implementation Assurance seat), session
6628d41d-9519-4881-9063-3afe501df815.
Added
- Calendar core (
study_calendar.py), RFP-D1-6 items 1-3:
(1) calendar intake — class meetings {days, times,
building/room} + assessments {quiz/midterm/final, date, time,
location} normalized into records; (2) assessment-frequency
engine — deterministic frequency ramps as an assessment
approaches, with an explicit ramp + briefing for assessments at
a SHIFTED time or place vs the class pattern; (3) quiet hours —
notifications landing inside a scheduled class are suppressed
and batched to the block's end. Claims ceiling (in receipts +
FEATURES): logistics support — pacing, timing, no-surprises;
no learning-gain claim. - Tests:
tests/test_study_calendar.pycovers every public
function instudy_calendar.py. - Geography (
study_geo.py), RFP-D1-6 items 4-5, consuming the
calendar core's records: (4) location records for classes +
assessments (from the student's own calendar — open data first)- route/travel-time assistance to the assessment room (injected
travel provider; offline coordinate estimate by default);
(5) temple routes on real geography — the method of loci over
the student's actual campus path, an audio-cue script for the
walk, and voice-input customization (rename/move) as data.
Ceilings: logistics support + the loci ceiling (ordered/concrete
recall, not understanding).
- route/travel-time assistance to the assessment room (injected
- Tests:
tests/test_study_geo.pycovers every public function
instudy_geo.py. - State recall + hardening (
study_hardening.py), RFP-D1-6
item 6 as its own mode: varied-context practice rotation +
the Smith (1979) mental-reinstatement script (encoding
specificity; context effect modest, meta d~0.28 — NOT
single-room matching), and adaptive hardening as graduated
stress-inoculation drills (SIT phases 1-3) — OPT-IN ONLY, off
by default, the flag in every receipt; NO-GUILT by
construction (no score/penalty fields exist; pressure never
carries penalties). Ceiling: performance under
stress/anxiety, not recall gains. - Tests:
tests/test_study_hardening.pycovers every public
function instudy_hardening.py, incl. the opt-in refusal and
the no-guilt field ban. - Ingestion on every surface (build D, issue #4242), one core
path (study_pipeline.ingest_any/run_syllabus_upload):
syllabus text — typed or OCR'd from a photographed page
(provenancesource: ocr) — parses intostudy_calendar
records {times · buildings · kinds} and places ONLY on the
student's confirm (confirm-gated placement; no confirm ⇒ no
placement); textbook uploads run the content flow (structure
→ term bank → SR cards). Surface legs: CLIingestcommand
on the demo/agent entry; a TUI Ingest screen (file-path entry- Confirm placement); the webApp Ingest view (file picker +
camera capture — text parses in-browser under the same line
grammar; photographs are recorded as awaiting core OCR, OCR
does not run in the browser); the APK shell wires the system
file chooser / camera to the bundle's inputs
(WebChromeClient.onShowFileChooser).
- Confirm placement); the webApp Ingest view (file picker +
- Tests: syllabus parse + confirm gate + OCR provenance +
per-surface legs intests/test_study_pipeline.py,
tests/test_tui.py,tests/test_web_surface.py,
tests/test_android_surface.py.