Skip to content

Select source metadata without inheriting legacy interpretation - #51

Draft
adpena wants to merge 2 commits into
codex/tapr-prepared-selectionfrom
codex/source-profile-metadata
Draft

adpena wants to merge 2 commits into
codex/tapr-prepared-selectionfrom
codex/source-profile-metadata

Conversation

@adpena

@adpena adpena commented Nov 1, 2026 •

Copy link
Copy Markdown
Owner

Full source readers can now select a complete DatasetMetadata record through the existing reader_profile argument. The selected record replaces base metadata and supplies the single reference authority used by headers, preparation and build recording. This lets the 2024 campus and district PROF sources preserve raw fields with unknown periods and no applied value policy, while keeping their original observations and annual documentation accessible.

Existing default metadata and reader behavior remain pinned. Applied policies still require reviewed methodology through the unchanged shared validator; raw-only metadata does not qualify masking, units or measurement meaning. Existing public error contracts are preserved. Six immutable acquisition receipts are packaged as metadata; source artifacts are not duplicated. Builds on #50.

Validation:

  • Locked local checks on Python 3.14.10 and 3.15.2: 943 passed, one optional external PostgreSQL check skipped; Ruff, typing and dependency checks passed.
  • Independent adversarial review passed for the final metadata change and default-contract golden projection, including baseline equality and rejected invalid profiles or competing references.
  • The default contract goldens retain the complete base metadata, path and effective default reader; opt-in source-profile changes have separate coverage.
  • Actual 2024 PROF preparation and raw-store output passed at both levels: 407 campus and 420 district columns, complete native raw-value readback, genuine new local dictionary observations and selected offline reads on both interpreters. Independent output review passed; all 827 variable periods, units and policies remain explicitly unknown.

Scientific interpretation, remaining TAPR families and app adoption remain separate gates. Generated cohorts are unpublished; published data and app pins are unchanged.

This branch has not been deployed

No deployments
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.

1 participant