Skip to content

feat(validation): validate ES uploads with bronze dataio converters and Pandera#273

Merged
vishpillai123 merged 5 commits into
developfrom
feat/es-upload-bronze-dataio-validation
Jul 21, 2026
Merged

feat(validation): validate ES uploads with bronze dataio converters and Pandera#273
vishpillai123 merged 5 commits into
developfrom
feat/es-upload-bronze-dataio-validation

Conversation

@vishpillai123

@vishpillai123 vishpillai123 commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • For ES (edvise_id) uploads, fetch school training_inputs/dataio.py from the institution bronze volume and load converter_func_cohort / converter_func_course under isolated module names (no shared dataio / sys.path mutation).
  • Validate via read_raw_es_* + ES Pandera schemas for parity with Databricks ES data-audit jobs; soft-fallback when dataio is missing; fail closed on converter runtime errors.
  • PDP and Legacy paths unchanged (Legacy remains any-format + PII guard).

Asana task

https://app.asana.com/1/6325821815997/project/1208486153653829/task/1216726403243098?focus=true

Test plan

  • pytest src/webapp/validation_es_test.py src/webapp/validation_test.py src/webapp/validation_pdp_read_path_test.py src/webapp/databricks_test.py
  • Confirm ES upload with a school dataio.py converter that renames/fixes columns passes Pandera
  • Confirm missing dataio.py still validates via read_raw_es_* without converter
  • Confirm two institutions with different dataio.py contents do not reuse each other’s converters
  • Confirm PDP STUDENT/COURSE and Legacy any-format + PII behavior unchanged
  • Confirm Pandera / malformed CSV failures return 400 (HardValidationError)

Made with Cursor

Load school-specific converters from bronze training_inputs/dataio.py under
isolated module names, then validate via read_raw_es_* for parity with ES
Databricks jobs. Soft-fallback when dataio is missing; fail closed on converter
runtime errors. PDP and Legacy paths unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vishpillai123 vishpillai123 changed the title feat(api): validate ES uploads with bronze dataio converters and Pandera feat(validation): validate ES uploads with bronze dataio converters and Pandera Jul 20, 2026
Vishakh Pillai and others added 4 commits July 20, 2026 12:49
Fetch training_inputs/config.toml alongside dataio and chain
resolve_es_grade_map + apply_raw_course_grade_map before the school
course converter, matching ES data-audit order. Missing config soft-falls
back to platform grade_map defaults.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vishpillai123
vishpillai123 merged commit 00944cb into develop Jul 21, 2026
10 checks passed
@vishpillai123
vishpillai123 deleted the feat/es-upload-bronze-dataio-validation branch July 21, 2026 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants