Child nutrition connector
A decision record · child-nutrition-connector · cited by 1 page
A fourteenth connector, dew-child-nutrition, wired for eleven Octobers — and the source it retrieves is not the source the catalog said it was for fifteen phases.
2 claims in this record have been withdrawn or superseded Contents
A decision record is kept as it was written and corrected in place rather than rewritten, so that the reasoning that led somewhere wrong stays legible. What follows is where.
Context Contents
Stream D of the working audit is historical depth: the corpus declares 1851-to-present and every
committed fixture began at FY2020. Two routes were tractable. The first, extending census-f33
backwards, was taken in the preceding phase and produced ten years of per-district finance. This
is the second.
The MR-81 archive had a catalog entry describing “October enrollment by district, as reported on the MR-81 form”, seventeen consecutive years of it, recorded as retrievable, unparsed and explicitly deferred: “taking it up properly is a phase of its own.”
Opening a file made that a different phase. MR-81 is the Office for Child Nutrition’s free and reduced-price lunch report — one row per school site, grouped by sponsor, carrying an enrollment column because a lunch claim needs a denominator. The entry had been written from a directory listing.
The decision Contents
Add dew-child-nutrition as a connector in its own right rather than folding it into
dew-foundation. Different publisher unit, different purpose, and a wholly different set of
failure modes: dew-foundation retrieves the department’s funding model, and this retrieves a
meal-program administrative return that happens to be the longest poverty series Ohio has.
Wire the sponsor-centric era, 2001 through 2011 — eleven consecutive Octobers behind one column map. Record the other two eras as blockers on the connector rather than half-extracting them.
Rewrite the catalog entry from the files before building anything against it.
Consequences Contents
The series. Free and reduced-price applications as a share of the meal-program denominator, over Public sponsors, rises from 27.7% in 2001 to 46.3% in 2011 — 18.6 points in eleven years. That is the closest available long run of the measure Ohio’s disadvantaged pupil funding is actually paid on, since R.C. 3317.03(B)(21) hands the definition of “economically disadvantaged” to the department and free-lunch eligibility has been its operative test.
Three breaks, all carried rather than smoothed. The denominator is renamed AdmCount to
CECount in 2010 and redefined with it — CE is “the highest daily number of students with
access to the program”, which is neither ADM nor what preceded it — so enrollment_basis is a
column. Sponsors are not districts: “Public” includes county boards of developmental
disabilities and community schools, and the sponsor count rising from 730 to 944 is mostly
community schools opening. And IRNs are zero-padded in some years and not others, which would
have made the panel fail to join to itself.
Two published defects, found by a plausibility check rather than by reading. FY2005 gives
Wilson Elementary School an AdmCount of 342,332, putting Portsmouth City at 344,048 students
across nine sites. FY2001 leaks what look like identifiers into the count column for three
residential and juvenile sponsors. The extractor transcribes both, because an extractor that
repairs its source is worse than one that ships a visible error, and implausible_sponsors
names them so an aggregate can exclude them by name. Only the Portsmouth row is Public and only
it ever reached the poverty series.
CORRECTED by “The three streams of MR-81”. The second of those is not a published defect. FY2001 is the only comma-delimited file in the series and nine of its rows carry a comma inside a school name; read positionally, those rows put site IRNs in the enrollment column. Three of them happened to be residential and juvenile sponsors, which is why they read as a pattern in the source. Two more were Cleveland City SD, Public, and did reach the poverty series — 192,147 pupils against a true 73,562, holding the FY2001 share at 27.7% where the file says 29.5%.
implausible_sponsorsmissed them because 192,147 across 118 sites is 1,628 a site. Only the Portsmouth row was ever the department’s.
And this phase introduced a defect of its own, which is why the writer changed. The first
build shipped 99 corrupted rows: write_csv does not quote, every consumer splits on the comma,
and Ohio has sponsors called “Holy Trinity, Swanton Ele Sch” and “Edge Academy, The”. write_csv
now refuses any field containing the delimiter, so the next fixture to try this fails the
rebuild instead of shipping shifted columns that look like data. That guard protects all
fifteen fixtures, not only this one.
What stays blocked, with the reason on the record. The 1998-2000 files are a different, school-centric column set whose unquoted district names push three rows past the last column, so the era needs a last-field rule rather than an index. And from 2012 the report splits into Traditional, Provision 2 and Community Eligibility streams — the Traditional file states that it “Excludes Provision 2 and Community Eligibility Option (CEO) sponsors”, which are the highest-poverty districts and a growing share of them. A series continued from Traditional alone would fall, and the fall would be adoption rather than poverty.
RESOLVED by “The three streams of MR-81”. The first blocker was never real: those files are fixed-width, 170 bytes to the row with the separators at identical offsets, so nothing splits on the comma and nothing shifts. The second was, and the extension answers it by refusing to publish a share for FY2012-FY2014 — community eligibility collects no applications at all, so the years carry a band and the chart stops at FY2011.
Alternatives considered Contents
Fold it into dew-foundation. Rejected for the reason payment-reports-connector gave for
the same question: that connector retrieves the department’s model, and this is an
administrative return from a different office, with different vintages and different failure
modes.
Extract all seventeen years. Rejected as scoped, not as wrong. The 1998-2000 map is genuinely a second reader and the 2012-2014 era needs three streams joined; doing either badly produces a series that looks continuous and is not. Eleven unbroken years with two named gaps is worth more than seventeen with a silent discontinuity in the middle.
Treat it as the enrollment archive the catalog described and fix the projection prior. This was the stated plan and it does not survive the correction. CE and ADM are different quantities, the meal-program denominator excludes sponsors that do not participate, and a variability estimate drawn from it and applied to an ADM projection would be an inference resting on a source that was never measuring the thing. The projection prior stays as it is.
Repair the two published defects in the extractor. Rejected. The digest manifest pins what the department published; a fixture that silently disagrees with it breaks the one property that makes the whole retrieval layer checkable.