jtdearmon commited on
Commit
1d107d6
·
verified ·
1 Parent(s): f6f41ea

Deploy SAT & ACT Learning Lab 1.3.6

Browse files
Files changed (4) hide show
  1. DEPLOYMENT_NOTES.md +12 -6
  2. README.md +10 -4
  3. app.py +0 -0
  4. release_manifest.json +15 -15
DEPLOYMENT_NOTES.md CHANGED
@@ -1,4 +1,4 @@
1
- # Deployment notes — SAT & ACT Learning Lab 1.3.5
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: `SAT_ACT_APP_FERNET_V1_3_5_6C38E208CB90_7C200BA80629`
10
 
11
  ## Runtime contract
12
 
@@ -69,7 +69,7 @@ Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_3_5_6C38E208CB90_7C200BA80629`
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_5_6C38E208CB90_7C200BA80629`. Live avatar video additionally uses optional
73
  `SIMLI_API_KEY`.
74
 
75
  Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
@@ -88,17 +88,23 @@ 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.5 upgrade gate
92
 
93
  Finish or explicitly abandon every active timed simulation from an earlier
94
- release before installing v1.3.5. 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
  ## Key lifecycle and rollback
100
 
101
- The current loader reads only `SAT_ACT_APP_FERNET_V1_3_5_6C38E208CB90_7C200BA80629`. A later release must generate a
102
  new versioned, fingerprinted secret name. The deployer adds that secret before
103
  the repository commit and retains earlier keys. Roll back by reverting the
104
  Space repository to the prior commit recorded in `deployment_receipt.json`.
 
1
+ # Deployment notes — SAT & ACT Learning Lab 1.3.6
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_6_C585E3BA4A89_3656938409CB`
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_6_C585E3BA4A89_3656938409CB`. 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.6 upgrade gate
92
 
93
  Finish or explicitly abandon every active timed simulation from an earlier
94
+ release before installing v1.3.6. 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.6 must also verify the three horizontal Practice
100
+ rails, automatic Concept-tab loading after each hierarchy selection, rendered
101
+ inline Math without literal dollar delimiters, and white labels on every dark
102
+ Topic Graph surface. Near-white mastered topic tiles intentionally retain dark
103
+ text for WCAG contrast.
104
+
105
  ## Key lifecycle and rollback
106
 
107
+ The current loader reads only `SAT_ACT_APP_FERNET_V1_3_6_C585E3BA4A89_3656938409CB`. A later release must generate a
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`.
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.5` 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,6 +24,12 @@ 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
  The Printable Exam Builder requires an active demo or signed-in learner so
28
  every generated file has a cleanup owner. It creates a clean Dearmon
29
  Analytics-branded student PDF and a separate answer-key PDF from selected or
@@ -50,7 +56,7 @@ attribute-level mastery or retention records.
50
  This private Space uses the separate Turso database
51
  `dearmon-sat-act-learning-lab` and schema namespace
52
  `sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
53
- secret `SAT_ACT_APP_FERNET_V1_3_5_6C38E208CB90_7C200BA80629`.
54
 
55
  Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
56
  `TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
@@ -92,9 +98,9 @@ controls, and retention policies.
92
 
93
  ## Upgrade note
94
 
95
- Before replacing any earlier release with v1.3.5, every active timed simulation
96
  must be finished or explicitly abandoned. Saved forms are bound to the app
97
- version and encrypted-source fingerprint, so v1.3.5 intentionally rejects older
98
  checkpoints. Preserve `LEARNER_ID_HMAC_SECRET` and retain every prior versioned
99
  Fernet secret and rollback commit needed through acceptance testing.
100
 
 
14
 
15
  # Dearmon Analytics SAT & ACT Learning Lab
16
 
17
+ Release `1.3.6` 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.6 presents Practice as three horizontal hierarchy rails—Section,
28
+ Domain, then Narrow Topic—and automatically opens a fresh item-specific Concept
29
+ & Visualization lesson when any tier changes. The full-width lesson renders
30
+ question figures and KaTeX mathematics, while the dark Topic Graph uses explicit
31
+ high-contrast labels and preserves readable mastery whitening.
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
35
  Analytics-branded student PDF and a separate answer-key PDF from selected or
 
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 `SAT_ACT_APP_FERNET_V1_3_6_C585E3BA4A89_3656938409CB`.
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
 
99
  ## Upgrade note
100
 
101
+ Before replacing any earlier release with v1.3.6, every active timed simulation
102
  must be finished or explicitly abandoned. Saved forms are bound to the app
103
+ version and encrypted-source fingerprint, so v1.3.6 intentionally rejects older
104
  checkpoints. Preserve `LEARNER_ID_HMAC_SECRET` and retain every prior versioned
105
  Fernet secret and rollback commit needed through acceptance testing.
106
 
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-30T00:47:26+00:00",
3
  "database_name": "dearmon-sat-act-learning-lab",
4
- "encrypted_payload_sha256": "59927fc17c5ad940f89bf68e270172797eba7c1d6338cfa25b109f12b6d18689",
5
  "entry_module": "sat_act_lab.app_main",
6
- "fernet_secret_name": "SAT_ACT_APP_FERNET_V1_3_5_6C38E208CB90_7C200BA80629",
7
- "key_fingerprint_sha256_prefix": "7C200BA80629",
8
- "plaintext_archive_sha256": "6c38e208cb90270b2afe08fdda1db1636cc414b4777f77b24c833d6539763d9a",
9
- "release_version": "1.3.5",
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": "426d046e94f484f4a732cd52bb4cd8434236ab98e52d9a91bd456cae3d3635de"
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": 305777,
35
- "sha256": "3024712d00f7b461229b3088d327fc029a3f7571bd1973c684b0f71b1913c61c"
36
  },
37
  "sat_act_lab/attribute_graph.py": {
38
  "bytes": 131004,
@@ -97,16 +97,16 @@
97
  "sha256": "3b1fdd8eb2e17dc4edae8387f1bc9a18a8072a8d6fae3a71041f00f0b9b04103"
98
  },
99
  "DEPLOYMENT_NOTES.md": {
100
- "bytes": 6367,
101
- "sha256": "67ef67799bb031e0a80c11afac6294dd59b97089b4e557a9d358217d60cc0c78"
102
  },
103
  "README.md": {
104
- "bytes": 5754,
105
- "sha256": "74cf786233b9bf01c141e2477e62ad4a501eff30e695f5bd0706dc7775758649"
106
  },
107
  "app.py": {
108
- "bytes": 669889,
109
- "sha256": "1af30556d5b23a7ab747a49b76486bcba933f621e8a4a583dd2fb7ef13bbf6aa"
110
  },
111
  "requirements.txt": {
112
  "bytes": 301,
 
1
  {
2
+ "built_utc": "2026-08-30T02:05:56+00:00",
3
  "database_name": "dearmon-sat-act-learning-lab",
4
+ "encrypted_payload_sha256": "8c3f19ee9e02c2f0cf0ff4a7875480c69246dec1137076411fe8d103446cb6d0",
5
  "entry_module": "sat_act_lab.app_main",
6
+ "fernet_secret_name": "SAT_ACT_APP_FERNET_V1_3_6_C585E3BA4A89_3656938409CB",
7
+ "key_fingerprint_sha256_prefix": "3656938409CB",
8
+ "plaintext_archive_sha256": "c585e3ba4a89a702d24e2c0f300e435b8d9ec82db11117794449b9894bf2138d",
9
+ "release_version": "1.3.6",
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": "b37e8dd059cfdb22183d212c4d68e33869969893a498a85517a4a7bc2d4af7bf"
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": 329231,
35
+ "sha256": "de3d981fef6d459e393677df3da50af1849c3b7316af033ef5ec9c5b040cfbbe"
36
  },
37
  "sat_act_lab/attribute_graph.py": {
38
  "bytes": 131004,
 
97
  "sha256": "3b1fdd8eb2e17dc4edae8387f1bc9a18a8072a8d6fae3a71041f00f0b9b04103"
98
  },
99
  "DEPLOYMENT_NOTES.md": {
100
+ "bytes": 6704,
101
+ "sha256": "2dab97082befe7c757cb5d05295585a2b4907acd61d781d3d57b07166233e8c9"
102
  },
103
  "README.md": {
104
+ "bytes": 6136,
105
+ "sha256": "b78b4647a67535c7f369c1cc5ced647c7e454dc8e8ccf9f8be6dcea3ddfef845"
106
  },
107
  "app.py": {
108
+ "bytes": 677564,
109
+ "sha256": "3f97115a74fb388920b7c8a7ac9bd5ff5276dd277bba9090d617e22bbaeefc9f"
110
  },
111
  "requirements.txt": {
112
  "bytes": 301,