Skip to content

Stream TAPR source preparation within explicit byte budgets - #57

Draft
adpena wants to merge 2 commits into
codex/tapr-comp4-sourcesfrom
codex/tapr-bounded-intake
Draft

adpena wants to merge 2 commits into
codex/tapr-comp4-sourcesfrom
codex/tapr-bounded-intake

Conversation

@adpena

@adpena adpena commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Raw TAPR preparation previously decoded entire CSV inputs, retained full campus and district tables, and read the complete Parquet output back into memory. Replace that path with one logical-record scanner and byte-admitted native Arrow batches. The public eager API collects the same batches, preserving exact strings, reviewed headers and annotations, source hashes, strict identities and provenance.

Validate every selected raw source before writers or archives, then stage scopes sequentially with one admitted batch per Parquet row group and exact bounded readback. The producer accepts one physical table per source. Existing eager multi-table APIs remain available explicitly; the historical two-table 2025 combined profiles are rejected by bounded preparation. Documentation uses the existing separate student/staff profiles and fresh output directories. Scientific interpretation, defaults and published snapshots are unchanged.

Stacked on #56. Independent review cleared the implementation and the narrow corrective test/documentation migration. The initial full check on 41f8233 failed on obsolete combined-table/eager-writer fixtures; those failures remain recorded. The corrective commit changes only tests and documentation, preserving the three core implementation modules.

Validation on corrected commit 4d0522bdcdbc41cb4570d0a0050ea3a9c8160d8d: locked scripts/check and explicit matching receipt verification passed on Python 3.14.10 and 3.15.2. Each run passed Ruff, ty, deptry and 1,051 tests, with one optional external-PostgreSQL skip and one expected optional-dependency warning.

Synthetic narrow/wide and adversarial coverage verifies the admission and exact-read contracts. Actual School Progress processing, peak RSS, throughput and production capacity remain separately gated; this PR makes no resource or data-release qualification claim.

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