jtdearmon commited on
Commit
1d2bc98
·
verified ·
1 Parent(s): 13f1506

Deploy SAT & ACT Learning Lab 1.3.0

Browse files
Files changed (4) hide show
  1. DEPLOYMENT_NOTES.md +6 -6
  2. README.md +4 -4
  3. app.py +0 -0
  4. release_manifest.json +19 -15
DEPLOYMENT_NOTES.md CHANGED
@@ -1,4 +1,4 @@
1
- # Deployment notes — SAT & ACT Learning Lab 1.2.2
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_2_2_F48B2CACB56D_C9A0A3E35DD0`
10
 
11
  ## Runtime contract
12
 
@@ -61,7 +61,7 @@ Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_2_2_F48B2CACB56D_C9A0A3E35DD0`
61
 
62
  Core secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`, `TURSO_AUTH_TOKEN`,
63
  `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
64
- `SAT_ACT_APP_FERNET_V1_2_2_F48B2CACB56D_C9A0A3E35DD0`. Live avatar video additionally uses optional
65
  `SIMLI_API_KEY`.
66
 
67
  Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
@@ -78,17 +78,17 @@ Release runtime defaults include `ACCOUNT_AUTH_ENABLED=1`,
78
  `ASK_PROFESSOR_SIMLI_DEFAULT=0`. Face IDs and the pinned Simli client module are
79
  listed in `environment.example` used to prepare this deployment.
80
 
81
- ## v1.2.2 upgrade gate
82
 
83
  Finish or explicitly abandon every active timed simulation from an earlier
84
- release before installing v1.2.2. Checkpoints are intentionally bound to
85
  app/source/form versions and cannot be resumed across this release. Back up
86
  Turso, preserve `LEARNER_ID_HMAC_SECRET`, and retain prior Fernet secrets and
87
  rollback commits needed through acceptance testing.
88
 
89
  ## Key lifecycle and rollback
90
 
91
- The current loader reads only `SAT_ACT_APP_FERNET_V1_2_2_F48B2CACB56D_C9A0A3E35DD0`. A later release must generate a
92
  new versioned, fingerprinted secret name. The deployer adds that secret before
93
  the repository commit and retains earlier keys. Roll back by reverting the
94
  Space repository to the prior commit recorded in `deployment_receipt.json`.
 
1
+ # Deployment notes — SAT & ACT Learning Lab 1.3.0
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_0_530ED11365EB_0A5895DF3462`
10
 
11
  ## Runtime contract
12
 
 
61
 
62
  Core secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`, `TURSO_AUTH_TOKEN`,
63
  `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
64
+ `SAT_ACT_APP_FERNET_V1_3_0_530ED11365EB_0A5895DF3462`. Live avatar video additionally uses optional
65
  `SIMLI_API_KEY`.
66
 
67
  Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
 
78
  `ASK_PROFESSOR_SIMLI_DEFAULT=0`. Face IDs and the pinned Simli client module are
79
  listed in `environment.example` used to prepare this deployment.
80
 
81
+ ## v1.3.0 upgrade gate
82
 
83
  Finish or explicitly abandon every active timed simulation from an earlier
84
+ release before installing v1.3.0. Checkpoints are intentionally bound to
85
  app/source/form versions and cannot be resumed across this release. Back up
86
  Turso, preserve `LEARNER_ID_HMAC_SECRET`, and retain prior Fernet secrets and
87
  rollback commits needed through acceptance testing.
88
 
89
  ## Key lifecycle and rollback
90
 
91
+ The current loader reads only `SAT_ACT_APP_FERNET_V1_3_0_530ED11365EB_0A5895DF3462`. A later release must generate a
92
  new versioned, fingerprinted secret name. The deployer adds that secret before
93
  the repository commit and retains earlier keys. Roll back by reverting the
94
  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.2.2` 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
@@ -41,7 +41,7 @@ attribute-level mastery or retention records.
41
  This private Space uses the separate Turso database
42
  `dearmon-sat-act-learning-lab` and schema namespace
43
  `sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
44
- secret `SAT_ACT_APP_FERNET_V1_2_2_F48B2CACB56D_C9A0A3E35DD0`.
45
 
46
  Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
47
  `TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
@@ -83,9 +83,9 @@ controls, and retention policies.
83
 
84
  ## Upgrade note
85
 
86
- Before replacing any earlier release with v1.2.2, every active timed simulation
87
  must be finished or explicitly abandoned. Saved forms are bound to the app
88
- version and encrypted-source fingerprint, so v1.2.2 intentionally rejects older
89
  checkpoints. Preserve `LEARNER_ID_HMAC_SECRET` and retain every prior versioned
90
  Fernet secret and rollback commit needed through acceptance testing.
91
 
 
14
 
15
  # Dearmon Analytics SAT & ACT Learning Lab
16
 
17
+ Release `1.3.0` 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
 
41
  This private Space uses the separate Turso database
42
  `dearmon-sat-act-learning-lab` and schema namespace
43
  `sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
44
+ secret `SAT_ACT_APP_FERNET_V1_3_0_530ED11365EB_0A5895DF3462`.
45
 
46
  Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
47
  `TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
 
83
 
84
  ## Upgrade note
85
 
86
+ Before replacing any earlier release with v1.3.0, every active timed simulation
87
  must be finished or explicitly abandoned. Saved forms are bound to the app
88
+ version and encrypted-source fingerprint, so v1.3.0 intentionally rejects older
89
  checkpoints. Preserve `LEARNER_ID_HMAC_SECRET` and retain every prior versioned
90
  Fernet secret and rollback commit needed through acceptance testing.
91
 
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-29T21:32:04+00:00",
3
  "database_name": "dearmon-sat-act-learning-lab",
4
- "encrypted_payload_sha256": "624ee6c73861cb1664781dea08df4acf727f0d93e4e04186947f777520d5fab1",
5
  "entry_module": "sat_act_lab.app_main",
6
- "fernet_secret_name": "SAT_ACT_APP_FERNET_V1_2_2_F48B2CACB56D_C9A0A3E35DD0",
7
- "key_fingerprint_sha256_prefix": "C9A0A3E35DD0",
8
- "plaintext_archive_sha256": "f48b2cacb56d10f6d361cfdf5e01a4a4c4637f1b6b1ec01aab32bdbede584904",
9
- "release_version": "1.2.2",
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": "31ffa487949f215cc8112867e1a4e0d3f371a63865950dd364a6b5f0fa999877"
16
  },
17
  "sat_act_lab/act_english_bank.py": {
18
  "bytes": 79622,
@@ -27,12 +27,12 @@
27
  "sha256": "5959db1e6a007f9384978c2a65af82e9bfd81216db939a1d852a91852badef8e"
28
  },
29
  "sat_act_lab/app_main.py": {
30
- "bytes": 240007,
31
- "sha256": "ae4c6090cfded3affe6830fe04869d6a85868eaa6f8e54f763aa737134ad8929"
32
  },
33
  "sat_act_lab/attribute_graph.py": {
34
- "bytes": 119752,
35
- "sha256": "be633962117561ae8ee2f02cf43c1b1612d7faf79916d2af52c5596db1ec8b0a"
36
  },
37
  "sat_act_lab/auth.py": {
38
  "bytes": 52719,
@@ -58,6 +58,10 @@
58
  "bytes": 100384,
59
  "sha256": "2abb720cd5a0a5a459cbcdc7ec1a8919ea50d7203cc809adccdefed4317e3a7f"
60
  },
 
 
 
 
61
  "sat_act_lab/question_engine.py": {
62
  "bytes": 221287,
63
  "sha256": "929d8e424bbb845e69cab76f6e591f9bfb1f825c00733cd90efce089ea1a89a2"
@@ -74,15 +78,15 @@
74
  },
75
  "DEPLOYMENT_NOTES.md": {
76
  "bytes": 5663,
77
- "sha256": "75c5b9f2879c7d8c3edf341a9193651d35fc803480cb03082ab94e09bd495057"
78
  },
79
  "README.md": {
80
  "bytes": 5113,
81
- "sha256": "834bcec62692addb45ba46e4936455adf94b202cc5ff9fce0c046b5474684e4e"
82
  },
83
  "app.py": {
84
- "bytes": 556664,
85
- "sha256": "22acd56b8e17e47ab11c2eeea2ba2fc5f20e6a24db71f1d069f7fdc54f23e8f8"
86
  },
87
  "requirements.txt": {
88
  "bytes": 287,
 
1
  {
2
+ "built_utc": "2026-08-29T22:32:47+00:00",
3
  "database_name": "dearmon-sat-act-learning-lab",
4
+ "encrypted_payload_sha256": "98e56749f08fcce8fb612d85b8c11ae9c01e626f50fb26dab52528d124127bca",
5
  "entry_module": "sat_act_lab.app_main",
6
+ "fernet_secret_name": "SAT_ACT_APP_FERNET_V1_3_0_530ED11365EB_0A5895DF3462",
7
+ "key_fingerprint_sha256_prefix": "0A5895DF3462",
8
+ "plaintext_archive_sha256": "530ed11365eb79e0f0fdfb306594a7a316c95ac5e2ada567c5bbd87e8c0ba5ad",
9
+ "release_version": "1.3.0",
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": "ef21e2c2be0c32fa808b92839e04419e7ccaf2292f74c260631ffc779a69b511"
16
  },
17
  "sat_act_lab/act_english_bank.py": {
18
  "bytes": 79622,
 
27
  "sha256": "5959db1e6a007f9384978c2a65af82e9bfd81216db939a1d852a91852badef8e"
28
  },
29
  "sat_act_lab/app_main.py": {
30
+ "bytes": 265227,
31
+ "sha256": "415448d1c144174d3c44b03c0755106c60a26f4a1e9c64dafd869027543418ae"
32
  },
33
  "sat_act_lab/attribute_graph.py": {
34
+ "bytes": 131004,
35
+ "sha256": "8188d65e7894a4c69aed1fdf9f8f4a0c7e90ca6055be44776fac8a39a7bb4dea"
36
  },
37
  "sat_act_lab/auth.py": {
38
  "bytes": 52719,
 
58
  "bytes": 100384,
59
  "sha256": "2abb720cd5a0a5a459cbcdc7ec1a8919ea50d7203cc809adccdefed4317e3a7f"
60
  },
61
+ "sat_act_lab/learning_concepts.py": {
62
+ "bytes": 51335,
63
+ "sha256": "202212791dc80fcc20b2dcc5d662c98e43f53db1e39b2b9992c8289183263346"
64
+ },
65
  "sat_act_lab/question_engine.py": {
66
  "bytes": 221287,
67
  "sha256": "929d8e424bbb845e69cab76f6e591f9bfb1f825c00733cd90efce089ea1a89a2"
 
78
  },
79
  "DEPLOYMENT_NOTES.md": {
80
  "bytes": 5663,
81
+ "sha256": "a7230ac72d71b5a18b9f4edfb119bdd0b0d00ac12b28124c271a88867abd8385"
82
  },
83
  "README.md": {
84
  "bytes": 5113,
85
+ "sha256": "65a80c1d285d961b284528d8cd2e001737887ae1bcfff7c3fad24a3835da34fe"
86
  },
87
  "app.py": {
88
+ "bytes": 595623,
89
+ "sha256": "c1b7e44eda4e80344fa7171883ac66a69cdb125be8026e80e15f03cb7afda0b1"
90
  },
91
  "requirements.txt": {
92
  "bytes": 287,