Deploy SAT & ACT Learning Lab 1.8.5+hfbuild3
Browse files- DEPLOYMENT_NOTES.md +6 -6
- README.md +10 -8
- app.py +0 -0
- release_manifest.json +22 -22
DEPLOYMENT_NOTES.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# Deployment notes — SAT & ACT Learning Lab 1.8.
|
| 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_8_2_HFBUILD3_24633A60E6F3_FA3D24
|
|
| 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.8.
|
| 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.8.
|
| 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.8.5+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_8_5_HFBUILD3_1429F1B51EF0_34785BFEEC65`
|
| 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_8_5_HFBUILD3_1429F1B51EF0_34785BFEEC65`. 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.8.5+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.8.5+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_8_5_HFBUILD3_1429F1B51EF0_34785BFEEC65`. 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.8.
|
| 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.8.
|
| 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.8.
|
| 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.8.
|
| 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
|
|
@@ -155,10 +155,12 @@ 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`
|
| 159 |
-
|
| 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
|
|
@@ -179,7 +181,7 @@ controls, and retention policies.
|
|
| 179 |
|
| 180 |
## Upgrade note
|
| 181 |
|
| 182 |
-
Version 1.8.
|
| 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
|
|
|
|
| 14 |
|
| 15 |
# Dearmon Analytics SAT & ACT Learning Lab
|
| 16 |
|
| 17 |
+
Release `1.8.5+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.8.5+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.8.5+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.8.5+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_8_5_HFBUILD3_1429F1B51EF0_34785BFEEC65`.
|
| 130 |
|
| 131 |
Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
|
| 132 |
`TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
|
|
|
| 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=jacob@dearmonanalytics.com`,
|
| 159 |
+
`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 |
+
The consumer Resend sender is jacob@dearmonanalytics.com. Setup repairs a
|
| 163 |
+
different saved sender while preserving the existing Resend Secret.
|
| 164 |
Provider credentials belong in Secrets, never public Variables or source.
|
| 165 |
Use the code from your most recent request: codes expire 15 minutes after
|
| 166 |
the request, work once, and are replaced by a newly requested code. Delayed
|
|
|
|
| 181 |
|
| 182 |
## Upgrade note
|
| 183 |
|
| 184 |
+
Version 1.8.5+hfbuild3 uses immutable item/timing/scoring snapshots and explicit recovery
|
| 185 |
compatibility contracts. Resume only a saved contract that is explicitly supported;
|
| 186 |
legacy checkpoints follow the tested compatibility allowlist. Incompatible work
|
| 187 |
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,25 +1,25 @@
|
|
| 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 |
"public_runtime_overrides": {
|
| 10 |
"AUTH_EMAIL_FROM": "jacob@dearmonanalytics.com"
|
| 11 |
},
|
| 12 |
-
"release_version": "1.8.
|
| 13 |
"schema_namespace": "sat_act_learning_lab_v1",
|
| 14 |
"schema_version": "dearmon-sat-act-release-v1",
|
| 15 |
"source_members": {
|
| 16 |
"sat_act_lab/__init__.py": {
|
| 17 |
"bytes": 71,
|
| 18 |
-
"sha256": "
|
| 19 |
},
|
| 20 |
"sat_act_lab/account_browser.py": {
|
| 21 |
-
"bytes":
|
| 22 |
-
"sha256": "
|
| 23 |
},
|
| 24 |
"sat_act_lab/act_english_bank.py": {
|
| 25 |
"bytes": 79622,
|
|
@@ -42,8 +42,8 @@
|
|
| 42 |
"sha256": "e2e964945f7eb773ac6a4b47a9e2568b61ef738dce0ccf131895b76037e42acf"
|
| 43 |
},
|
| 44 |
"sat_act_lab/app_main.py": {
|
| 45 |
-
"bytes":
|
| 46 |
-
"sha256": "
|
| 47 |
},
|
| 48 |
"sat_act_lab/assessment_checkpoint.py": {
|
| 49 |
"bytes": 9801,
|
|
@@ -54,8 +54,8 @@
|
|
| 54 |
"sha256": "4e1064938705964b668ed9c4bcc1dda8e88049c1229b754df9d8487a99ddeebf"
|
| 55 |
},
|
| 56 |
"sat_act_lab/auth.py": {
|
| 57 |
-
"bytes":
|
| 58 |
-
"sha256": "
|
| 59 |
},
|
| 60 |
"sat_act_lab/avatar.py": {
|
| 61 |
"bytes": 80369,
|
|
@@ -174,8 +174,8 @@
|
|
| 174 |
"sha256": "a3d5797b58cebe13bd2736771da1ebff6bc236d658450b128bf2b9f0ecff2109"
|
| 175 |
},
|
| 176 |
"sat_act_lab/practice_navigation.py": {
|
| 177 |
-
"bytes":
|
| 178 |
-
"sha256": "
|
| 179 |
},
|
| 180 |
"sat_act_lab/provider_execution.py": {
|
| 181 |
"bytes": 4378,
|
|
@@ -254,8 +254,8 @@
|
|
| 254 |
"sha256": "f151d8839bd6124c44d589eb61da57a1c99f4bcc1f77a46e5b80f1a7e77ad061"
|
| 255 |
},
|
| 256 |
"sat_act_lab/tracking.py": {
|
| 257 |
-
"bytes":
|
| 258 |
-
"sha256": "
|
| 259 |
}
|
| 260 |
},
|
| 261 |
"space_file_hashes": {
|
|
@@ -265,19 +265,19 @@
|
|
| 265 |
},
|
| 266 |
"DEPLOYMENT_NOTES.md": {
|
| 267 |
"bytes": 18324,
|
| 268 |
-
"sha256": "
|
| 269 |
},
|
| 270 |
"README.md": {
|
| 271 |
-
"bytes":
|
| 272 |
-
"sha256": "
|
| 273 |
},
|
| 274 |
"THIRD_PARTY_NOTICES.md": {
|
| 275 |
"bytes": 73850,
|
| 276 |
"sha256": "288997d5002f0932271a0a7173a2cf074f63e3c2ad0cd9195a6c32e4c29e452b"
|
| 277 |
},
|
| 278 |
"app.py": {
|
| 279 |
-
"bytes":
|
| 280 |
-
"sha256": "
|
| 281 |
},
|
| 282 |
"pre-requirements.txt": {
|
| 283 |
"bytes": 44842,
|
|
|
|
| 1 |
{
|
| 2 |
+
"built_utc": "2026-09-12T13:55:37+00:00",
|
| 3 |
"database_name": "dearmon-sat-act-learning-lab",
|
| 4 |
+
"encrypted_payload_sha256": "19f26f53df9e2cee41a5e9af7be0367c1fd6d80e4da1b8fa396420bdbd68375d",
|
| 5 |
"entry_module": "sat_act_lab.app_main",
|
| 6 |
+
"fernet_secret_name": "SAT_ACT_APP_FERNET_V1_8_5_HFBUILD3_1429F1B51EF0_34785BFEEC65",
|
| 7 |
+
"key_fingerprint_sha256_prefix": "34785BFEEC65",
|
| 8 |
+
"plaintext_archive_sha256": "1429f1b51ef0f1908c7cb8a255dbfbd4f42237b76a512793074042465d8fe2ab",
|
| 9 |
"public_runtime_overrides": {
|
| 10 |
"AUTH_EMAIL_FROM": "jacob@dearmonanalytics.com"
|
| 11 |
},
|
| 12 |
+
"release_version": "1.8.5+hfbuild3",
|
| 13 |
"schema_namespace": "sat_act_learning_lab_v1",
|
| 14 |
"schema_version": "dearmon-sat-act-release-v1",
|
| 15 |
"source_members": {
|
| 16 |
"sat_act_lab/__init__.py": {
|
| 17 |
"bytes": 71,
|
| 18 |
+
"sha256": "4aea80faa54231d284a3493419434790be52b6f5f67f8a5c900388605cb2c262"
|
| 19 |
},
|
| 20 |
"sat_act_lab/account_browser.py": {
|
| 21 |
+
"bytes": 37693,
|
| 22 |
+
"sha256": "904bd0bdae0feca8a16a8a92c1023ba19d82972cea5d9dd9ce8332f1bd02d3b5"
|
| 23 |
},
|
| 24 |
"sat_act_lab/act_english_bank.py": {
|
| 25 |
"bytes": 79622,
|
|
|
|
| 42 |
"sha256": "e2e964945f7eb773ac6a4b47a9e2568b61ef738dce0ccf131895b76037e42acf"
|
| 43 |
},
|
| 44 |
"sat_act_lab/app_main.py": {
|
| 45 |
+
"bytes": 575292,
|
| 46 |
+
"sha256": "7a9d890cb28901879436142aa731953acdc9d8c81ffbaf60670cb145f2f6e7ca"
|
| 47 |
},
|
| 48 |
"sat_act_lab/assessment_checkpoint.py": {
|
| 49 |
"bytes": 9801,
|
|
|
|
| 54 |
"sha256": "4e1064938705964b668ed9c4bcc1dda8e88049c1229b754df9d8487a99ddeebf"
|
| 55 |
},
|
| 56 |
"sat_act_lab/auth.py": {
|
| 57 |
+
"bytes": 128008,
|
| 58 |
+
"sha256": "ac52e9a6f6081ee0bf97953ddb5e1eee178f7d3bae3d325cbee3843daf78e843"
|
| 59 |
},
|
| 60 |
"sat_act_lab/avatar.py": {
|
| 61 |
"bytes": 80369,
|
|
|
|
| 174 |
"sha256": "a3d5797b58cebe13bd2736771da1ebff6bc236d658450b128bf2b9f0ecff2109"
|
| 175 |
},
|
| 176 |
"sat_act_lab/practice_navigation.py": {
|
| 177 |
+
"bytes": 13033,
|
| 178 |
+
"sha256": "95f6db37e1498007d1e50efd41086248cc5a53c91283ebab20c5893c511ae2ae"
|
| 179 |
},
|
| 180 |
"sat_act_lab/provider_execution.py": {
|
| 181 |
"bytes": 4378,
|
|
|
|
| 254 |
"sha256": "f151d8839bd6124c44d589eb61da57a1c99f4bcc1f77a46e5b80f1a7e77ad061"
|
| 255 |
},
|
| 256 |
"sat_act_lab/tracking.py": {
|
| 257 |
+
"bytes": 308104,
|
| 258 |
+
"sha256": "73b3217cbf2d6d49fc64691f88b9b14737153c94fe8d51c3a66a822472f1c249"
|
| 259 |
}
|
| 260 |
},
|
| 261 |
"space_file_hashes": {
|
|
|
|
| 265 |
},
|
| 266 |
"DEPLOYMENT_NOTES.md": {
|
| 267 |
"bytes": 18324,
|
| 268 |
+
"sha256": "32032e103d15afc882349936c56ec49cab8a1ed476e9ae1525f6ee391a750263"
|
| 269 |
},
|
| 270 |
"README.md": {
|
| 271 |
+
"bytes": 15836,
|
| 272 |
+
"sha256": "c70c622f206eef84f15ca0b6e66ac321d2910de6edc67024fa29cf20ff61f316"
|
| 273 |
},
|
| 274 |
"THIRD_PARTY_NOTICES.md": {
|
| 275 |
"bytes": 73850,
|
| 276 |
"sha256": "288997d5002f0932271a0a7173a2cf074f63e3c2ad0cd9195a6c32e4c29e452b"
|
| 277 |
},
|
| 278 |
"app.py": {
|
| 279 |
+
"bytes": 2112428,
|
| 280 |
+
"sha256": "2c2f541853ad1ff99485a54ad3b38ac47071ddb128958611baebedcef0c53957"
|
| 281 |
},
|
| 282 |
"pre-requirements.txt": {
|
| 283 |
"bytes": 44842,
|