Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Deploy SAT & ACT Learning Lab 1.3.7
Browse files- DEPLOYMENT_NOTES.md +15 -11
- README.md +13 -9
- app.py +0 -0
- release_manifest.json +19 -19
DEPLOYMENT_NOTES.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# Deployment notes — SAT & ACT Learning Lab 1.3.
|
| 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 |
|
|
@@ -69,7 +69,7 @@ Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_3_6_C585E3BA4A89_3656938409CB`
|
|
| 69 |
|
| 70 |
Core secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`, `TURSO_AUTH_TOKEN`,
|
| 71 |
`LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
| 72 |
-
`
|
| 73 |
`SIMLI_API_KEY`.
|
| 74 |
|
| 75 |
Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
|
|
@@ -88,23 +88,27 @@ Release runtime defaults include `ACCOUNT_AUTH_ENABLED=1`,
|
|
| 88 |
`OPENAI_OVERFLOW_REVIEW_MODEL=gpt-5-mini`. Face IDs and the pinned Simli client module are
|
| 89 |
listed in `environment.example` used to prepare this deployment.
|
| 90 |
|
| 91 |
-
## v1.3.
|
| 92 |
|
| 93 |
Finish or explicitly abandon every active timed simulation from an earlier
|
| 94 |
-
release before installing v1.3.
|
| 95 |
app/source/form versions and cannot be resumed across this release. Back up
|
| 96 |
Turso, preserve `LEARNER_ID_HMAC_SECRET`, and retain prior Fernet secrets and
|
| 97 |
rollback commits needed through acceptance testing.
|
| 98 |
|
| 99 |
-
Acceptance testing for v1.3.
|
| 100 |
-
rails,
|
| 101 |
-
inline Math without literal dollar delimiters
|
| 102 |
-
Topic Graph
|
| 103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
|
| 105 |
## Key lifecycle and rollback
|
| 106 |
|
| 107 |
-
The current loader reads only `
|
| 108 |
new versioned, fingerprinted secret name. The deployer adds that secret before
|
| 109 |
the repository commit and retains earlier keys. Roll back by reverting the
|
| 110 |
Space repository to the prior commit recorded in `deployment_receipt.json`.
|
|
|
|
| 1 |
+
# Deployment notes — SAT & ACT Learning Lab 1.3.7
|
| 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_3_7_6BE7EEBD2633_CF494C1151F2`
|
| 10 |
|
| 11 |
## Runtime contract
|
| 12 |
|
|
|
|
| 69 |
|
| 70 |
Core secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`, `TURSO_AUTH_TOKEN`,
|
| 71 |
`LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
| 72 |
+
`SAT_ACT_APP_FERNET_V1_3_7_6BE7EEBD2633_CF494C1151F2`. Live avatar video additionally uses optional
|
| 73 |
`SIMLI_API_KEY`.
|
| 74 |
|
| 75 |
Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
|
|
|
|
| 88 |
`OPENAI_OVERFLOW_REVIEW_MODEL=gpt-5-mini`. Face IDs and the pinned Simli client module are
|
| 89 |
listed in `environment.example` used to prepare this deployment.
|
| 90 |
|
| 91 |
+
## v1.3.7 upgrade gate
|
| 92 |
|
| 93 |
Finish or explicitly abandon every active timed simulation from an earlier
|
| 94 |
+
release before installing v1.3.7. Checkpoints are intentionally bound to
|
| 95 |
app/source/form versions and cannot be resumed across this release. Back up
|
| 96 |
Turso, preserve `LEARNER_ID_HMAC_SECRET`, and retain prior Fernet secrets and
|
| 97 |
rollback commits needed through acceptance testing.
|
| 98 |
|
| 99 |
+
Acceptance testing for v1.3.7 must also verify the three horizontal Practice
|
| 100 |
+
rails; the collapsed, expandable, question-specific Concept swim lane; rendered
|
| 101 |
+
inline Math without literal dollar delimiters; and the softened AA-contrast
|
| 102 |
+
charcoal/neon rails and Topic Graph. Each generated item must expose a full,
|
| 103 |
+
distinct analogous worked example and a separate learner-invoked hint for the
|
| 104 |
+
active item. Confused-word items must exercise the expanded deterministic
|
| 105 |
+
surfaces without a model call.
|
| 106 |
+
Near-white mastered topic tiles intentionally retain dark text for WCAG
|
| 107 |
+
contrast.
|
| 108 |
|
| 109 |
## Key lifecycle and rollback
|
| 110 |
|
| 111 |
+
The current loader reads only `SAT_ACT_APP_FERNET_V1_3_7_6BE7EEBD2633_CF494C1151F2`. A later release must generate a
|
| 112 |
new versioned, fingerprinted secret name. The deployer adds that secret before
|
| 113 |
the repository commit and retains earlier keys. Roll back by reverting the
|
| 114 |
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.3.
|
| 18 |
ACT skill blueprints, a four-level topic graph, individual mastery tracking,
|
| 19 |
targeted practice, and test-like diagnostic sessions. It adds username/password
|
| 20 |
accounts, secure recovery, an isolated one-click demo, and the embedded teaching
|
|
@@ -24,11 +24,15 @@ Signed-in students can also download their complete personalized Topic Graph as
|
|
| 24 |
a branded PNG, printable PDF, accessible hierarchy-and-concepts CSV, and
|
| 25 |
verification manifest; demo sessions remain nonexportable.
|
| 26 |
|
| 27 |
-
Release 1.3.
|
| 28 |
-
Domain, then Narrow Topic—and
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
The Printable Exam Builder requires an active demo or signed-in learner so
|
| 34 |
every generated file has a cleanup owner. It creates a clean Dearmon
|
|
@@ -56,7 +60,7 @@ attribute-level mastery or retention records.
|
|
| 56 |
This private Space uses the separate Turso database
|
| 57 |
`dearmon-sat-act-learning-lab` and schema namespace
|
| 58 |
`sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
|
| 59 |
-
secret `
|
| 60 |
|
| 61 |
Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
|
| 62 |
`TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
|
@@ -98,9 +102,9 @@ controls, and retention policies.
|
|
| 98 |
|
| 99 |
## Upgrade note
|
| 100 |
|
| 101 |
-
Before replacing any earlier release with v1.3.
|
| 102 |
must be finished or explicitly abandoned. Saved forms are bound to the app
|
| 103 |
-
version and encrypted-source fingerprint, so v1.3.
|
| 104 |
checkpoints. Preserve `LEARNER_ID_HMAC_SECRET` and retain every prior versioned
|
| 105 |
Fernet secret and rollback commit needed through acceptance testing.
|
| 106 |
|
|
|
|
| 14 |
|
| 15 |
# Dearmon Analytics SAT & ACT Learning Lab
|
| 16 |
|
| 17 |
+
Release `1.3.7` provides original dynamic practice for current SAT and
|
| 18 |
ACT skill blueprints, a four-level topic graph, individual mastery tracking,
|
| 19 |
targeted practice, and test-like diagnostic sessions. It adds username/password
|
| 20 |
accounts, secure recovery, an isolated one-click demo, and the embedded teaching
|
|
|
|
| 24 |
a branded PNG, printable PDF, accessible hierarchy-and-concepts CSV, and
|
| 25 |
verification manifest; demo sessions remain nonexportable.
|
| 26 |
|
| 27 |
+
Release 1.3.7 presents Practice as three horizontal hierarchy rails—Section,
|
| 28 |
+
Domain, then Narrow Topic—and loads each fresh item's Concepts Needed path in a
|
| 29 |
+
collapsed, expandable, question-specific swim lane. Rails and the
|
| 30 |
+
Topic Graph use softened AA-contrast charcoal surfaces, brighter neon accents,
|
| 31 |
+
and explicit light type while preserving readable mastery whitening. Every
|
| 32 |
+
generated practice item includes a complete, distinct analogous worked example
|
| 33 |
+
and a separate learner-invoked hint for the active item. Deterministic
|
| 34 |
+
confused-word practice covers an expanded set of commonly confused pairs and
|
| 35 |
+
groups without a model call.
|
| 36 |
|
| 37 |
The Printable Exam Builder requires an active demo or signed-in learner so
|
| 38 |
every generated file has a cleanup owner. It creates a clean Dearmon
|
|
|
|
| 60 |
This private Space uses the separate Turso database
|
| 61 |
`dearmon-sat-act-learning-lab` and schema namespace
|
| 62 |
`sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
|
| 63 |
+
secret `SAT_ACT_APP_FERNET_V1_3_7_6BE7EEBD2633_CF494C1151F2`.
|
| 64 |
|
| 65 |
Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
|
| 66 |
`TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
|
|
|
| 102 |
|
| 103 |
## Upgrade note
|
| 104 |
|
| 105 |
+
Before replacing any earlier release with v1.3.7, every active timed simulation
|
| 106 |
must be finished or explicitly abandoned. Saved forms are bound to the app
|
| 107 |
+
version and encrypted-source fingerprint, so v1.3.7 intentionally rejects older
|
| 108 |
checkpoints. Preserve `LEARNER_ID_HMAC_SECRET` and retain every prior versioned
|
| 109 |
Fernet secret and rollback commit needed through acceptance testing.
|
| 110 |
|
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-08-
|
| 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.3.
|
| 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,
|
|
@@ -31,8 +31,8 @@
|
|
| 31 |
"sha256": "9f557aea11cc2796e011031c70776dfd9cf3f4c0f8255fcbff9ded341580a4e4"
|
| 32 |
},
|
| 33 |
"sat_act_lab/app_main.py": {
|
| 34 |
-
"bytes":
|
| 35 |
-
"sha256": "
|
| 36 |
},
|
| 37 |
"sat_act_lab/attribute_graph.py": {
|
| 38 |
"bytes": 131004,
|
|
@@ -71,16 +71,16 @@
|
|
| 71 |
"sha256": "bc32af89d411d8ff8918d74e026421707004adbf0e64e61d49706e3062526167"
|
| 72 |
},
|
| 73 |
"sat_act_lab/learning_concepts.py": {
|
| 74 |
-
"bytes":
|
| 75 |
-
"sha256": "
|
| 76 |
},
|
| 77 |
"sat_act_lab/practice_exam_planner.py": {
|
| 78 |
"bytes": 6731,
|
| 79 |
"sha256": "96dda3ddb76bc2d837769865fdbe177ad650bfd21cd158d161e5cb13123fa6a9"
|
| 80 |
},
|
| 81 |
"sat_act_lab/question_engine.py": {
|
| 82 |
-
"bytes":
|
| 83 |
-
"sha256": "
|
| 84 |
},
|
| 85 |
"sat_act_lab/topic_graph_report.py": {
|
| 86 |
"bytes": 19837,
|
|
@@ -97,16 +97,16 @@
|
|
| 97 |
"sha256": "3b1fdd8eb2e17dc4edae8387f1bc9a18a8072a8d6fae3a71041f00f0b9b04103"
|
| 98 |
},
|
| 99 |
"DEPLOYMENT_NOTES.md": {
|
| 100 |
-
"bytes":
|
| 101 |
-
"sha256": "
|
| 102 |
},
|
| 103 |
"README.md": {
|
| 104 |
-
"bytes":
|
| 105 |
-
"sha256": "
|
| 106 |
},
|
| 107 |
"app.py": {
|
| 108 |
-
"bytes":
|
| 109 |
-
"sha256": "
|
| 110 |
},
|
| 111 |
"requirements.txt": {
|
| 112 |
"bytes": 301,
|
|
|
|
| 1 |
{
|
| 2 |
+
"built_utc": "2026-08-30T11:47:39+00:00",
|
| 3 |
"database_name": "dearmon-sat-act-learning-lab",
|
| 4 |
+
"encrypted_payload_sha256": "c32bd13c204dc1ac17efff0a30377844d0c4680e03d8c8ac7a15e15550fd48f3",
|
| 5 |
"entry_module": "sat_act_lab.app_main",
|
| 6 |
+
"fernet_secret_name": "SAT_ACT_APP_FERNET_V1_3_7_6BE7EEBD2633_CF494C1151F2",
|
| 7 |
+
"key_fingerprint_sha256_prefix": "CF494C1151F2",
|
| 8 |
+
"plaintext_archive_sha256": "6be7eebd263324339ddcaa161529377350e148f8d6bafbc21270f6fdd0c814ce",
|
| 9 |
+
"release_version": "1.3.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": "34d993b7900b03a44147017a479e04644aa27cc202f4e2b05aa15c9061006b98"
|
| 16 |
},
|
| 17 |
"sat_act_lab/act_english_bank.py": {
|
| 18 |
"bytes": 79622,
|
|
|
|
| 31 |
"sha256": "9f557aea11cc2796e011031c70776dfd9cf3f4c0f8255fcbff9ded341580a4e4"
|
| 32 |
},
|
| 33 |
"sat_act_lab/app_main.py": {
|
| 34 |
+
"bytes": 349363,
|
| 35 |
+
"sha256": "6e69cb964a3dfb2561307159c1bbed74ddd19efdc249013984fdf883be439eed"
|
| 36 |
},
|
| 37 |
"sat_act_lab/attribute_graph.py": {
|
| 38 |
"bytes": 131004,
|
|
|
|
| 71 |
"sha256": "bc32af89d411d8ff8918d74e026421707004adbf0e64e61d49706e3062526167"
|
| 72 |
},
|
| 73 |
"sat_act_lab/learning_concepts.py": {
|
| 74 |
+
"bytes": 51827,
|
| 75 |
+
"sha256": "cf32579466f8a97f1d299c78ace4a0fef16c6db51685dce0f164f160e910d06c"
|
| 76 |
},
|
| 77 |
"sat_act_lab/practice_exam_planner.py": {
|
| 78 |
"bytes": 6731,
|
| 79 |
"sha256": "96dda3ddb76bc2d837769865fdbe177ad650bfd21cd158d161e5cb13123fa6a9"
|
| 80 |
},
|
| 81 |
"sat_act_lab/question_engine.py": {
|
| 82 |
+
"bytes": 236611,
|
| 83 |
+
"sha256": "13e4f9055e0b856fe67b62682478e6e7229578c1b248e2dbd7a32a99e43811c7"
|
| 84 |
},
|
| 85 |
"sat_act_lab/topic_graph_report.py": {
|
| 86 |
"bytes": 19837,
|
|
|
|
| 97 |
"sha256": "3b1fdd8eb2e17dc4edae8387f1bc9a18a8072a8d6fae3a71041f00f0b9b04103"
|
| 98 |
},
|
| 99 |
"DEPLOYMENT_NOTES.md": {
|
| 100 |
+
"bytes": 6943,
|
| 101 |
+
"sha256": "698ed5f0b61712fc753f541fcbff65ee5699d0374e222b9a15134e8d4673fdc2"
|
| 102 |
},
|
| 103 |
"README.md": {
|
| 104 |
+
"bytes": 6392,
|
| 105 |
+
"sha256": "5fc3eb15ca91ae46dca856dc2a5e76d5f7c96acb851b264631a365b3163992ff"
|
| 106 |
},
|
| 107 |
"app.py": {
|
| 108 |
+
"bytes": 693367,
|
| 109 |
+
"sha256": "8046d0b3e2973199a9ea1759e9100ebf018b9c0f21690733863eb9a2033c988f"
|
| 110 |
},
|
| 111 |
"requirements.txt": {
|
| 112 |
"bytes": 301,
|