Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Deploy SAT & ACT Learning Lab 1.7.7+hfbuild3
Browse files- DEPLOYMENT_NOTES.md +6 -6
- README.md +17 -13
- app.py +0 -0
- release_manifest.json +18 -18
DEPLOYMENT_NOTES.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# Deployment notes — SAT & ACT Learning Lab 1.7.
|
| 2 |
|
| 3 |
Target private Space: `DearmonAnalytics/SAT_ACT_Learning_Lab`
|
| 4 |
|
|
@@ -6,7 +6,7 @@ Turso database: `dearmon-sat-act-learning-lab`
|
|
| 6 |
|
| 7 |
Schema namespace: `sat_act_learning_lab_v1`
|
| 8 |
|
| 9 |
-
Encrypted-source secret: `
|
| 10 |
|
| 11 |
## Runtime contract
|
| 12 |
|
|
@@ -95,7 +95,7 @@ Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_7_6_HFBUILD3_E5866A94B4E1_6BE5E0
|
|
| 95 |
|
| 96 |
Core secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`, `TURSO_AUTH_TOKEN`,
|
| 97 |
`LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
| 98 |
-
`
|
| 99 |
`SIMLI_API_KEY`.
|
| 100 |
|
| 101 |
Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
|
|
@@ -117,7 +117,7 @@ packaged Simli client route, and transport settings are listed in
|
|
| 117 |
`environment.example` used to prepare this deployment. Remote avatar-client
|
| 118 |
module overrides are intentionally rejected.
|
| 119 |
|
| 120 |
-
Version 1.7.
|
| 121 |
compatibility contracts. Resume only a saved contract that is explicitly supported;
|
| 122 |
legacy checkpoints follow the tested compatibility allowlist. Incompatible work
|
| 123 |
stays blocked and requires an approved transition or learner choice, never silent
|
|
@@ -133,7 +133,7 @@ validated application patch. This Space explicitly selects python_version:
|
|
| 133 |
"3.12.13"; the builder verifies agreement with runtime.txt and the loader.
|
| 134 |
Health verification records the actual interpreter before deployment succeeds.
|
| 135 |
|
| 136 |
-
Acceptance testing for v1.7.
|
| 137 |
ink, blue, teal, and coral palette; compact 1,240-pixel workspace; bundled
|
| 138 |
same-origin Inter, Source Serif 4, and Geist Mono; and one crisp DA gradient rule
|
| 139 |
across the compact chooser and three shadow-free horizontal Practice rails.
|
|
@@ -210,7 +210,7 @@ safe retries without prompting the deployer operator.
|
|
| 210 |
|
| 211 |
## Key lifecycle and rollback
|
| 212 |
|
| 213 |
-
The current loader reads only `
|
| 214 |
new versioned, fingerprinted secret name. The deployer adds that secret before
|
| 215 |
the repository commit and retains earlier keys. Roll back by reverting the
|
| 216 |
Space repository to the prior commit recorded in `deployment_receipt.json`.
|
|
|
|
| 1 |
+
# Deployment notes — SAT & ACT Learning Lab 1.7.7+hfbuild3
|
| 2 |
|
| 3 |
Target private Space: `DearmonAnalytics/SAT_ACT_Learning_Lab`
|
| 4 |
|
|
|
|
| 6 |
|
| 7 |
Schema namespace: `sat_act_learning_lab_v1`
|
| 8 |
|
| 9 |
+
Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_7_7_HFBUILD3_067CBFE1E7D0_C1A4FBDDCEB8`
|
| 10 |
|
| 11 |
## Runtime contract
|
| 12 |
|
|
|
|
| 95 |
|
| 96 |
Core secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`, `TURSO_AUTH_TOKEN`,
|
| 97 |
`LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
| 98 |
+
`SAT_ACT_APP_FERNET_V1_7_7_HFBUILD3_067CBFE1E7D0_C1A4FBDDCEB8`. Live avatar video additionally uses optional
|
| 99 |
`SIMLI_API_KEY`.
|
| 100 |
|
| 101 |
Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
|
|
|
|
| 117 |
`environment.example` used to prepare this deployment. Remote avatar-client
|
| 118 |
module overrides are intentionally rejected.
|
| 119 |
|
| 120 |
+
Version 1.7.7+hfbuild3 uses immutable item/timing/scoring snapshots and explicit recovery
|
| 121 |
compatibility contracts. Resume only a saved contract that is explicitly supported;
|
| 122 |
legacy checkpoints follow the tested compatibility allowlist. Incompatible work
|
| 123 |
stays blocked and requires an approved transition or learner choice, never silent
|
|
|
|
| 133 |
"3.12.13"; the builder verifies agreement with runtime.txt and the loader.
|
| 134 |
Health verification records the actual interpreter before deployment succeeds.
|
| 135 |
|
| 136 |
+
Acceptance testing for v1.7.7+hfbuild3 must verify the exact Dearmon Analytics paper,
|
| 137 |
ink, blue, teal, and coral palette; compact 1,240-pixel workspace; bundled
|
| 138 |
same-origin Inter, Source Serif 4, and Geist Mono; and one crisp DA gradient rule
|
| 139 |
across the compact chooser and three shadow-free horizontal Practice rails.
|
|
|
|
| 210 |
|
| 211 |
## Key lifecycle and rollback
|
| 212 |
|
| 213 |
+
The current loader reads only `SAT_ACT_APP_FERNET_V1_7_7_HFBUILD3_067CBFE1E7D0_C1A4FBDDCEB8`. A later release must generate a
|
| 214 |
new versioned, fingerprinted secret name. The deployer adds that secret before
|
| 215 |
the repository commit and retains earlier keys. Roll back by reverting the
|
| 216 |
Space repository to the prior commit recorded in `deployment_receipt.json`.
|
README.md
CHANGED
|
@@ -14,7 +14,7 @@ short_description: Dynamic SAT/ACT practice, mastery, and reasoning graphs
|
|
| 14 |
|
| 15 |
# Dearmon Analytics SAT & ACT Learning Lab
|
| 16 |
|
| 17 |
-
Release `1.7.
|
| 18 |
ACT skill blueprints, a complete eight-level question-skill hierarchy,
|
| 19 |
individual mastery tracking, targeted practice, and test-like diagnostic
|
| 20 |
sessions with separate raw results and unofficial practice-score estimates. It adds username/password
|
|
@@ -25,7 +25,7 @@ Signed-in students can also download their complete personalized Topic Graph as
|
|
| 25 |
a branded PNG, printable PDF, accessible hierarchy-and-concepts CSV, and
|
| 26 |
verification manifest; demo sessions remain nonexportable.
|
| 27 |
|
| 28 |
-
Release 1.7.
|
| 29 |
coral system established in v1.4.4 for the compact 1,240-pixel workspace. Bundled Inter, Source Serif 4, and
|
| 30 |
Geist Mono fonts are served from same-origin routes. The compact test chooser
|
| 31 |
and closely stacked Section → Domain → Narrow Topic rails use one restrained DA
|
|
@@ -45,7 +45,7 @@ printable exam/answer-key PDFs so raw LaTeX is never the learner-facing
|
|
| 45 |
fallback. The collapsed item-specific Concepts Needed swim lane, complete
|
| 46 |
analogous worked examples, separate hints, and mastery whitening remain.
|
| 47 |
|
| 48 |
-
Release 1.7.
|
| 49 |
Exam → Section → Official Domain → Official Skill Family → Narrow Exam
|
| 50 |
Target → Prerequisite Bundle → Atomic Skill → Observable Failure Attribute
|
| 51 |
path. Each stable profile contains its complete ancestor and transitive-
|
|
@@ -73,7 +73,7 @@ pretest/EFT items and AI supplemental printable items are excluded. Fewer than
|
|
| 73 |
eight observed items or less than one quarter of a standard section remains a
|
| 74 |
preliminary, very-low-confidence result below the reporting threshold.
|
| 75 |
|
| 76 |
-
Release 1.7.
|
| 77 |
explanation and a signed-in cross-question Learning Diagnostic. The diagnostic
|
| 78 |
unlocks only after strict majority coverage of both Reading and Math for the
|
| 79 |
same exam. It sends OpenAI only allowlisted aggregate performance evidence—not
|
|
@@ -126,7 +126,7 @@ attribute-level mastery or retention records.
|
|
| 126 |
This private Space uses the separate Turso database
|
| 127 |
`dearmon-sat-act-learning-lab` and schema namespace
|
| 128 |
`sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
|
| 129 |
-
secret `
|
| 130 |
|
| 131 |
Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
|
| 132 |
`TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
|
@@ -153,13 +153,17 @@ Username passwords are stored as independently salted scrypt records. Account
|
|
| 153 |
lockouts persist in the database, password changes revoke earlier sessions,
|
| 154 |
and verified legacy name/class/PIN profiles can be converted without moving
|
| 155 |
their mastery history. Each account receives a one-time-display offline
|
| 156 |
-
recovery key that rotates after use.
|
| 157 |
-
|
| 158 |
-
`
|
| 159 |
-
|
| 160 |
-
`
|
| 161 |
-
|
| 162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 163 |
|
| 164 |
The one-click demo has a 45-minute ordinary-use window and starts with clearly
|
| 165 |
labeled sample progress. Starting a full simulation reserves its blueprint
|
|
@@ -175,7 +179,7 @@ controls, and retention policies.
|
|
| 175 |
|
| 176 |
## Upgrade note
|
| 177 |
|
| 178 |
-
Version 1.7.
|
| 179 |
compatibility contracts. Resume only a saved contract that is explicitly supported;
|
| 180 |
legacy checkpoints follow the tested compatibility allowlist. Incompatible work
|
| 181 |
stays blocked and requires an approved transition or learner choice, never silent
|
|
|
|
| 14 |
|
| 15 |
# Dearmon Analytics SAT & ACT Learning Lab
|
| 16 |
|
| 17 |
+
Release `1.7.7+hfbuild3` provides original dynamic practice for current SAT and
|
| 18 |
ACT skill blueprints, a complete eight-level question-skill hierarchy,
|
| 19 |
individual mastery tracking, targeted practice, and test-like diagnostic
|
| 20 |
sessions with separate raw results and unofficial practice-score estimates. It adds username/password
|
|
|
|
| 25 |
a branded PNG, printable PDF, accessible hierarchy-and-concepts CSV, and
|
| 26 |
verification manifest; demo sessions remain nonexportable.
|
| 27 |
|
| 28 |
+
Release 1.7.7+hfbuild3 retains the exact Dearmon Analytics paper, ink, blue, teal, and
|
| 29 |
coral system established in v1.4.4 for the compact 1,240-pixel workspace. Bundled Inter, Source Serif 4, and
|
| 30 |
Geist Mono fonts are served from same-origin routes. The compact test chooser
|
| 31 |
and closely stacked Section → Domain → Narrow Topic rails use one restrained DA
|
|
|
|
| 45 |
fallback. The collapsed item-specific Concepts Needed swim lane, complete
|
| 46 |
analogous worked examples, separate hints, and mastery whitening remain.
|
| 47 |
|
| 48 |
+
Release 1.7.7+hfbuild3 assigns all 1,983 trusted built-in question profiles their full
|
| 49 |
Exam → Section → Official Domain → Official Skill Family → Narrow Exam
|
| 50 |
Target → Prerequisite Bundle → Atomic Skill → Observable Failure Attribute
|
| 51 |
path. Each stable profile contains its complete ancestor and transitive-
|
|
|
|
| 73 |
eight observed items or less than one quarter of a standard section remains a
|
| 74 |
preliminary, very-low-confidence result below the reporting threshold.
|
| 75 |
|
| 76 |
+
Release 1.7.7+hfbuild3 retains one OpenAI-assisted follow-up beneath each graded
|
| 77 |
explanation and a signed-in cross-question Learning Diagnostic. The diagnostic
|
| 78 |
unlocks only after strict majority coverage of both Reading and Math for the
|
| 79 |
same exam. It sends OpenAI only allowlisted aggregate performance evidence—not
|
|
|
|
| 126 |
This private Space uses the separate Turso database
|
| 127 |
`dearmon-sat-act-learning-lab` and schema namespace
|
| 128 |
`sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
|
| 129 |
+
secret `SAT_ACT_APP_FERNET_V1_7_7_HFBUILD3_067CBFE1E7D0_C1A4FBDDCEB8`.
|
| 130 |
|
| 131 |
Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
|
| 132 |
`TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
|
|
|
| 153 |
lockouts persist in the database, password changes revoke earlier sessions,
|
| 154 |
and verified legacy name/class/PIN profiles can be converted without moving
|
| 155 |
their mastery history. Each account receives a one-time-display offline
|
| 156 |
+
recovery key that rotates after use. Account email on Hugging Face uses Resend
|
| 157 |
+
over HTTPS because standard SMTP ports are blocked. Set
|
| 158 |
+
`AUTH_EMAIL_PROVIDER=resend`, `AUTH_EMAIL_FROM` to an address on your verified
|
| 159 |
+
sending domain, `AUTH_RESEND_API_KEY` as a Space Secret, and
|
| 160 |
+
`AUTH_RECOVERY_EMAIL_ENABLED=1`. The private kit includes `SETUP_EMAIL.bat`
|
| 161 |
+
and `docs/EMAIL_RECOVERY_SETUP.md` for configuration and delivery checks.
|
| 162 |
+
Provider credentials belong in Secrets, never public Variables or source.
|
| 163 |
+
Use the code from your most recent request: codes expire 15 minutes after
|
| 164 |
+
the request, work once, and are replaced by a newly requested code. Delayed
|
| 165 |
+
emails may arrive out of order. A saved offline recovery key remains available
|
| 166 |
+
when email is unavailable.
|
| 167 |
|
| 168 |
The one-click demo has a 45-minute ordinary-use window and starts with clearly
|
| 169 |
labeled sample progress. Starting a full simulation reserves its blueprint
|
|
|
|
| 179 |
|
| 180 |
## Upgrade note
|
| 181 |
|
| 182 |
+
Version 1.7.7+hfbuild3 uses immutable item/timing/scoring snapshots and explicit recovery
|
| 183 |
compatibility contracts. Resume only a saved contract that is explicitly supported;
|
| 184 |
legacy checkpoints follow the tested compatibility allowlist. Incompatible work
|
| 185 |
stays blocked and requires an approved transition or learner choice, never silent
|
app.py
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
release_manifest.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
| 1 |
{
|
| 2 |
-
"built_utc": "2026-09-
|
| 3 |
"database_name": "dearmon-sat-act-learning-lab",
|
| 4 |
-
"encrypted_payload_sha256": "
|
| 5 |
"entry_module": "sat_act_lab.app_main",
|
| 6 |
-
"fernet_secret_name": "
|
| 7 |
-
"key_fingerprint_sha256_prefix": "
|
| 8 |
-
"plaintext_archive_sha256": "
|
| 9 |
-
"release_version": "1.7.
|
| 10 |
"schema_namespace": "sat_act_learning_lab_v1",
|
| 11 |
"schema_version": "dearmon-sat-act-release-v1",
|
| 12 |
"source_members": {
|
| 13 |
"sat_act_lab/__init__.py": {
|
| 14 |
"bytes": 71,
|
| 15 |
-
"sha256": "
|
| 16 |
},
|
| 17 |
"sat_act_lab/act_english_bank.py": {
|
| 18 |
"bytes": 79622,
|
|
@@ -35,8 +35,8 @@
|
|
| 35 |
"sha256": "e2e964945f7eb773ac6a4b47a9e2568b61ef738dce0ccf131895b76037e42acf"
|
| 36 |
},
|
| 37 |
"sat_act_lab/app_main.py": {
|
| 38 |
-
"bytes":
|
| 39 |
-
"sha256": "
|
| 40 |
},
|
| 41 |
"sat_act_lab/assessment_checkpoint.py": {
|
| 42 |
"bytes": 9801,
|
|
@@ -47,8 +47,8 @@
|
|
| 47 |
"sha256": "4e1064938705964b668ed9c4bcc1dda8e88049c1229b754df9d8487a99ddeebf"
|
| 48 |
},
|
| 49 |
"sat_act_lab/auth.py": {
|
| 50 |
-
"bytes":
|
| 51 |
-
"sha256": "
|
| 52 |
},
|
| 53 |
"sat_act_lab/avatar.py": {
|
| 54 |
"bytes": 80369,
|
|
@@ -87,8 +87,8 @@
|
|
| 87 |
"sha256": "56a701be1dd14e4c03677f839172098f677a6d9793131a9814aee6a22fbcc6eb"
|
| 88 |
},
|
| 89 |
"sat_act_lab/deployment_readiness.py": {
|
| 90 |
-
"bytes":
|
| 91 |
-
"sha256": "
|
| 92 |
},
|
| 93 |
"sat_act_lab/diagnostic_reports.py": {
|
| 94 |
"bytes": 75654,
|
|
@@ -246,19 +246,19 @@
|
|
| 246 |
},
|
| 247 |
"DEPLOYMENT_NOTES.md": {
|
| 248 |
"bytes": 18324,
|
| 249 |
-
"sha256": "
|
| 250 |
},
|
| 251 |
"README.md": {
|
| 252 |
-
"bytes":
|
| 253 |
-
"sha256": "
|
| 254 |
},
|
| 255 |
"THIRD_PARTY_NOTICES.md": {
|
| 256 |
"bytes": 73850,
|
| 257 |
"sha256": "288997d5002f0932271a0a7173a2cf074f63e3c2ad0cd9195a6c32e4c29e452b"
|
| 258 |
},
|
| 259 |
"app.py": {
|
| 260 |
-
"bytes":
|
| 261 |
-
"sha256": "
|
| 262 |
},
|
| 263 |
"pre-requirements.txt": {
|
| 264 |
"bytes": 44842,
|
|
|
|
| 1 |
{
|
| 2 |
+
"built_utc": "2026-09-10T02:40:34+00:00",
|
| 3 |
"database_name": "dearmon-sat-act-learning-lab",
|
| 4 |
+
"encrypted_payload_sha256": "784cb86efec55e74284d27a0fe06f7de139ded20c07134a25ec393529f0ebea2",
|
| 5 |
"entry_module": "sat_act_lab.app_main",
|
| 6 |
+
"fernet_secret_name": "SAT_ACT_APP_FERNET_V1_7_7_HFBUILD3_067CBFE1E7D0_C1A4FBDDCEB8",
|
| 7 |
+
"key_fingerprint_sha256_prefix": "C1A4FBDDCEB8",
|
| 8 |
+
"plaintext_archive_sha256": "067cbfe1e7d05138b561196e01a3a714de69cae3ca6b76817b20e8263c49361e",
|
| 9 |
+
"release_version": "1.7.7+hfbuild3",
|
| 10 |
"schema_namespace": "sat_act_learning_lab_v1",
|
| 11 |
"schema_version": "dearmon-sat-act-release-v1",
|
| 12 |
"source_members": {
|
| 13 |
"sat_act_lab/__init__.py": {
|
| 14 |
"bytes": 71,
|
| 15 |
+
"sha256": "c3c48266f6a0a5dd410ecd9d961bd92a4b656f3da748faa07f48ce3d103b0687"
|
| 16 |
},
|
| 17 |
"sat_act_lab/act_english_bank.py": {
|
| 18 |
"bytes": 79622,
|
|
|
|
| 35 |
"sha256": "e2e964945f7eb773ac6a4b47a9e2568b61ef738dce0ccf131895b76037e42acf"
|
| 36 |
},
|
| 37 |
"sat_act_lab/app_main.py": {
|
| 38 |
+
"bytes": 545433,
|
| 39 |
+
"sha256": "dd4fb4e8d9a010c1643db6d5e3d2477773830d2e21b4f5765117059da456fb33"
|
| 40 |
},
|
| 41 |
"sat_act_lab/assessment_checkpoint.py": {
|
| 42 |
"bytes": 9801,
|
|
|
|
| 47 |
"sha256": "4e1064938705964b668ed9c4bcc1dda8e88049c1229b754df9d8487a99ddeebf"
|
| 48 |
},
|
| 49 |
"sat_act_lab/auth.py": {
|
| 50 |
+
"bytes": 92254,
|
| 51 |
+
"sha256": "45af9ab18f32688485669c1404d48d6ca05b7e51b57dc632f4c2310971b2af4b"
|
| 52 |
},
|
| 53 |
"sat_act_lab/avatar.py": {
|
| 54 |
"bytes": 80369,
|
|
|
|
| 87 |
"sha256": "56a701be1dd14e4c03677f839172098f677a6d9793131a9814aee6a22fbcc6eb"
|
| 88 |
},
|
| 89 |
"sat_act_lab/deployment_readiness.py": {
|
| 90 |
+
"bytes": 16863,
|
| 91 |
+
"sha256": "af9a4bb1911c9a1adbc96784e14c76167ade0b91b7c5920e69d68f44f4280912"
|
| 92 |
},
|
| 93 |
"sat_act_lab/diagnostic_reports.py": {
|
| 94 |
"bytes": 75654,
|
|
|
|
| 246 |
},
|
| 247 |
"DEPLOYMENT_NOTES.md": {
|
| 248 |
"bytes": 18324,
|
| 249 |
+
"sha256": "80abdb1d7d8476954ae908e0a29a82d1def8a411a9901c491bbfa9c05ddc88ba"
|
| 250 |
},
|
| 251 |
"README.md": {
|
| 252 |
+
"bytes": 15713,
|
| 253 |
+
"sha256": "7a132d952c1919e1e96db1981851a338d0e24fa5ea963e5467dcaa36d3fe0051"
|
| 254 |
},
|
| 255 |
"THIRD_PARTY_NOTICES.md": {
|
| 256 |
"bytes": 73850,
|
| 257 |
"sha256": "288997d5002f0932271a0a7173a2cf074f63e3c2ad0cd9195a6c32e4c29e452b"
|
| 258 |
},
|
| 259 |
"app.py": {
|
| 260 |
+
"bytes": 2040137,
|
| 261 |
+
"sha256": "910fe7eba3f194c69c1ba4bd70aa4310ee202b7a9356ea1d8d43d657a613fec2"
|
| 262 |
},
|
| 263 |
"pre-requirements.txt": {
|
| 264 |
"bytes": 44842,
|