What is in this directory, where it came from, and what it may be used for.
reporter-coverage-ry2024.csv — one row per NTD reporter that operated at least
one fixed-route mode in Report Year 2024, with the match tier the inverted join
placed it in and the evidence for that tier. 1,253 rows.
reporter-coverage-ry2024.json — the counts, the tier breakdown, the source
hashes, and the retrieval timestamp for the run that produced the CSV.
Both are regenerated by pipeline/scripts/ntd_reporter_coverage.py. Neither is
read by the pipeline, the site, or the public API. They are analysis output, and
docs/findings/2026-08-15-ntd-reporters-without-a-discoverable-feed.md is the
write-up.
| Source | Retrieved | Terms |
|---|---|---|
FTA NTD Annual Database, Agency Information (Socrata dataset ccvf-fykn) |
2026-08-15 | Public domain, US Government work. Attribution: Federal Transit Administration. |
FTA NTD Annual Data View, Service by Mode (Socrata dataset 4fir-qbim) |
2026-08-15 | Public domain, US Government work. Attribution: Federal Transit Administration. |
Transitland Atlas, main branch tarball |
2026-08-15 | CC-BY 4.0, Interline Technologies and contributors. |
Mobility Database catalog, storage.googleapis.com copy of sources.csv |
2026-08-15 | mobilitydatabase.org terms; per-feed licences vary. |
The Mobility Database leg reads the storage.googleapis.com catalog that
scorecard discover already reads on a weekly schedule. It does not read
files.mobilitydatabase.org/feeds_v2.csv, whose host serves
User-agent: * / Disallow: / (checked 2026-08-15). The v2 catalog is the better
data and would widen the join; the write-up records how much by, and PR #276 is
where that access decision belongs.
The two FTA tables are the Socrata mirrors of the annual-database products on transit.dot.gov. That host sits behind an edge filter that returns HTTP 403 to non-browser clients, verified on 2026-08-15 with and without a browser user-agent string. The Socrata copies are the same products, are documented as such by FTA, and are machine-readable, so the script pins those.
The exact SHA-256 of each retrieved body is recorded in the JSON. A caution on reading those hashes: the Socrata CSV export is not byte-stable between requests, so two downloads minutes apart can hash differently while carrying identical rows. The hash records what one run read. It is not a stable identifier for the dataset, and a changed hash is not evidence that FTA published anything new. Row counts and report year are the fields to compare.
Every count in these files is a count of NTD reporters. The GTFS Scorecard registry counts feed records, which is a different unit: a regional feed, a modal variant, and a retired alias are separate feed records for what a reader would call one agency. The two are never added, never subtracted, and never put in the same sentence as though they measured the same thing.
A reporter in the no_candidate tier has no feed this run could find in three
open catalogues. That is a statement about catalogue coverage. It is not a
finding that the agency publishes nothing, and it is not a compliance
determination. Nobody is graded on it, and no score moves because of it.