Repository navigation
Conversation
…pr-header-crosswalks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TAPR preparation depended on narrowed spreadsheets and separate year-specific scripts. This change uses one strict native reader and staged producer, preserving publisher codes, original labels, canonical Python field names, identity roles and source annotations. It retires two prior producer implementations.
Current 2024 Student/Staff sources preserve all 709 columns across both levels. Retained PROF keeps 407 campus and 420 district columns, including 38/42 codes absent from the selected three-family union. Graduation profiles retain 42 metrics per scope for both 2024 and 2025. Field periods come from selected Config or frozen catalog metadata; mixed, undocumented and unresolved meanings remain explicit.
The refreshed 2025 Staff observations contain 106 campus and 118 district columns, adding 15/17 fields to the pinned inputs without dropping a prior code. Four source-only Config branches register Student and Staff separately for campus and district preparation. The same Staff resource moves into referenced runtime schemas and its proposal path is removed; Student mappings come from the existing reviewed tuples and exact retained headers/dictionaries. Historical composite contracts, prior Config entries/options, enrichment bindings, prepared defaults and release 0.0.126 remain unchanged. These contracts cover the selected source tables, not every annual TAPR family.
One typed HTML dictionary extractor retains ordered duplicates, complete definitions, independently unknown components and source anchors. The existing dictionary_records contract remains the sole occurrence authority. Only a complete occurrence can document a field; partial occurrences are never combined, and conflicting known components fail. Researchers retain the existing code/label/field mapping APIs. An offline dictionary command reads capped, explicitly decoded bytes, binds their actual SHA and length to the acquisition receipt, and records append-only provenance.
The historical refresh CLI acquires or replays explicit public GET/POST controls, including repeated names and source order. New acquisitions require explicit SHA-pinned metadata. Data requests also validate the registered dataset, exact configured year and edition before HTTP; references use an explicit documentation section. Config parsing reuses one canonical captured-byte loader, preserves ordinary fallback behavior, and never supplies scientific policies or periods to observation metadata. Selected documentation closures are verified before requests, and optional redirect blocking keeps a request at its literal URL. Immutable observations retain original dates, bytes, annual references and predecessor history. Native keyed comparison separates structural drift, raw-token changes and exact decimal-spelling relations, with bounded entity examples and truncation flags. Scientific statuses remain unbound unless an explicit field policy is selected. Shared codes or values do not establish renames or methodological comparability. No command activates Config.
The existing staged producer accepts explicit processing dependencies keyed by selected dataset ID. It verifies their typed closures before reading source tables, copies them through the same provenance store, and includes them in each selected derivation. This retains corrections without placing processing IDs in acquisition-only metadata. Annual eligibility now comes from exact registered Config year/version checks instead of a fixed 2024/2025 allowlist; generic Config fallback semantics stay unchanged. No real 2026 input was added.
Validation at
d27553c1:Other families and further annual refreshes remain separate work. The branch inherits #46's catalog projection and read-only SQLite fixes through the same original commits. Draft stacked on #46; distribution still requires a new versioned bundle and consumer qualification. The app continues using immutable release 0.0.126.