jtdearmon's picture
Deploy SAT & ACT Learning Lab 1.3.8
b13fc20 verified
|
Raw History Blame
6.89 kB
---
title: SAT & ACT Learning Lab
emoji: 🧭
colorFrom: indigo
colorTo: yellow
sdk: gradio
sdk_version: 6.24.0
python_version: "3.12"
app_file: app.py
pinned: false
license: other
short_description: Dynamic SAT/ACT practice, mastery, and reasoning graphs
---
# Dearmon Analytics SAT & ACT Learning Lab
Release `1.3.8` provides original dynamic practice for current SAT and
ACT skill blueprints, a four-level topic graph, individual mastery tracking,
targeted practice, and test-like diagnostic sessions. It adds username/password
accounts, secure recovery, an isolated one-click demo, and the embedded teaching
avatar layer used by the Dearmon Analytics Business Calculus platform. Release
1.2.0 introduced deterministic post-miss **Break It Apart** attribute graphs.
Signed-in students can also download their complete personalized Topic Graph as
a branded PNG, printable PDF, accessible hierarchy-and-concepts CSV, and
verification manifest; demo sessions remain nonexportable.
Release 1.3.8 matches the live Dearmon Analytics palette, typography, DA mark,
and compact paper masthead, with the independent-practice disclaimer inside the
banner. Its brighter amber-outlined test chooser and Section → Domain → Narrow
Topic rails are compressed and closely stacked over translucent ink surfaces
with accessible light type. Fresh lessons automatically open Question & Your
Work; grading is joined by separate same-lesson and next-lesson actions.
The answer record freezes elapsed time and its blueprint target at grading,
then reports their exact reduced fraction and pace comparison. Learner/account
and instructor attempt CSVs expose the timing values while legacy untimed rows
remain blank. Shared math normalization serves both lesson surfaces and
printable exam/answer-key PDFs so raw LaTeX is never the learner-facing
fallback. The collapsed item-specific Concepts Needed swim lane, complete
analogous worked examples, separate hints, and mastery whitening remain.
The Printable Exam Builder requires an active demo or signed-in learner so
every generated file has a cleanup owner. It creates a clean Dearmon
Analytics-branded student PDF and a separate answer-key PDF from selected or
previously missed topics.
Both carry the same random form code. Core scored questions and their answer
keys are deterministic. After the active learner has completed every built-in
question type for an exact topic, explicit opt-in can create separately labeled,
independently reviewed AI supplemental items for printing only. They never
decide correctness or alter mastery, readiness, routing, or simulation scores.
After every incorrectly graded practice question, and for every missed
objective item reviewed after a completed simulation, Break It Apart constructs
a directed acyclic reasoning graph with the tested topic at the top. Sentence
items diagram subjects, verbs, direct objects, complements, modifiers, and
dependent clauses. Math items build from quantities and units through order of
operations and intermediate dependencies. Reading and science items connect
claims, evidence, data, variables, and conclusions. The graph is deterministic,
makes no model or provider call, and is unavailable before an incorrect grade
or completed simulation. Its attributes are explanatory scaffolds, not separate
attribute-level mastery or retention records.
## Service configuration
This private Space uses the separate Turso database
`dearmon-sat-act-learning-lab` and schema namespace
`sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
secret `SAT_ACT_APP_FERNET_V1_3_8_361A7215EF3D_B4E784D7CBC7`.
Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
`TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
the versioned Fernet secret named above. There is no default instructor
password.
`SIMLI_API_KEY` is optional and enables learner-initiated live avatar video.
The avatar defaults to the male-professor style, Oliver is selectable, and
Oliver's speech profile uses the `cedar` voice at speed `1.02`. The component is
shown by default, but speech and live video both default off until the learner
opts in. Oliver is an AI-generated teaching persona, not the real person or a
source of real-world claims. The Simli key remains server-side and must never
appear in HTML, browser state, logs, public variables, or `/healthz`. Text
tutoring remains available when Simli is absent or unavailable.
Username passwords are stored as independently salted scrypt records. Account
lockouts persist in the database, password changes revoke earlier sessions,
and verified legacy name/class/PIN profiles can be converted without moving
their mastery history. Each account receives a one-time-display offline
recovery key that rotates after use. Email one-time-code recovery is optional;
configure `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`, `AUTH_SMTP_PORT`,
`AUTH_SMTP_USERNAME`, `AUTH_SMTP_PASSWORD`, `AUTH_SMTP_FROM_EMAIL`,
`AUTH_SMTP_STARTTLS`, `AUTH_SMTP_SSL`, and optional
`AUTH_SMTP_TIMEOUT_SECONDS`; keep provider credentials as Space secrets. Email
codes expire after 15 minutes and are single-use. Without SMTP, offline
recovery remains available.
The one-click demo has a 45-minute ordinary-use window and starts with clearly
labeled sample progress. Starting a full simulation reserves its blueprint
duration plus a 45-minute completion grace period, capped at four hours. Demo
practice and simulation state remain in bounded server memory only: they are
not written to Turso, included in instructor analytics or exports, or eligible
for account recovery. Sign-out/reset or process restart removes the session
immediately; otherwise it disappears at the applicable expiry.
Audio/video are opt-in and audio retention is disabled by default. Deployments
serving minors need appropriate notice, consent, provider review, access
controls, and retention policies.
## Upgrade note
Before replacing any earlier release with v1.3.8, every active timed simulation
must be finished or explicitly abandoned. Saved forms are bound to the app
version and encrypted-source fingerprint, so v1.3.8 intentionally rejects older
checkpoints. Preserve `LEARNER_ID_HMAC_SECRET` and retain every prior versioned
Fernet secret and rollback commit needed through acceptance testing. The build
still generates its new Fernet key automatically, stores it under
`release/private/`, and reuses the validated key without prompting.
## Independent practice-content notice
This is an independent educational practice product. It is not affiliated
with, endorsed by, or sponsored by College Board or ACT, Inc. SAT is a
trademark of College Board; ACT is a trademark of ACT, Inc. All practice
questions, passages, data, explanations, and figures in this lab are original
content. Practice results are diagnostic and are not official scores.