← Home

Corrections

Grades this scorecard published and has taken back. Each one is listed with what it said, how long it was up, why it was wrong, and what replaces it.

What went wrong

A grade is built from four categories. Two of them read the feed's own tables. When an archive could not be read, those two reported 0.0 rather than reporting that they had read nothing, and the letter beside them was computed from those zeros. The result was a public F for agencies whose feeds had never actually been opened. Some of those feeds are healthy and describe real service.

The scorer was fixed on 1 September 2026 and no longer produces a grade from an archive it cannot read. That stopped the next one. It did not take back the ones already published, which is what this page is for.

A second kind of mistake is listed here too. When an agency's own feed could not be downloaded, the scorer could grade an old copy kept by the Mobility Database catalog instead, even after the catalog had marked that copy deprecated. The grade then described an export the agency had already replaced. That fallback was stopped on 2 October 2026.

The withdrawn grades

Withdrawn grades, by agency
AgencyGrade publishedPeriodWhy it was wrongWhat stands in its place
Beloit Transitbeloit-transitF (37.8 out of 100)2026-06-19 to 2026-09-05the archive carries no stops and no trips, so there was no service to measurethis feed still cannot be read, so nothing replaces the grade. Not measured is the answer, not a different number
Beloit Transitbeloit-transit-392F (37.8 out of 100)2026-06-30 to 2026-09-05the archive carries no stops and no trips, so there was no service to measurethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
Boxcar Commuter BusboxcarC (73.0 out of 100)2026-08-06 to 2026-09-06the archive carries no stops and no trips, so there was no service to measurethis feed still cannot be read, so nothing replaces the grade. Not measured is the answer, not a different number
Catalina Expresscatalina-expressF (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis feed still cannot be read, so nothing replaces the grade. Not measured is the answer, not a different number
Citrus County Transitcitrus-county-transit-630F (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
Cobb Community Transit (CCT)cobb-community-transit-cct-354F (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
Detroit People Moverdetroit-people-mover-417F (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
HUT Airport Shuttlehut-airport-shuttleF (31.5 out of 100)2026-06-19 to 2026-09-05the archive carries no stops and no trips, so there was no service to measurethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
HUT Airport Shuttlehut-airport-shuttle-635F (31.5 out of 100)2026-07-10 to 2026-09-05the archive carries no stops and no trips, so there was no service to measurethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
High Desert Pointhigh-desert-pointF (31.3 out of 100)2026-06-19 to 2026-09-05the archive carries no stops and no trips, so there was no service to measurethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
High Desert Pointhigh-desert-point-636F (31.3 out of 100)2026-07-10 to 2026-09-05the archive carries no stops and no trips, so there was no service to measurethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
JAUNT Incjaunt-inc-1324F (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
LakeXpresslakexpress-342F (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
Massachusetts Area Express (MAX)massachusetts-area-express-maxF (31.3 out of 100)2026-06-19 to 2026-09-05the archive carries no stops and no trips, so there was no service to measurethis feed still cannot be read, so nothing replaces the grade. Not measured is the answer, not a different number
Massachusetts Area Express (MAX)massachusetts-area-express-max-431F (31.3 out of 100)2026-06-30 to 2026-09-05the archive carries no stops and no trips, so there was no service to measurethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
Miami-Dade Transitmiami-dade-transit-331F (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
Sacramento Regional Transit (SacRT)sacramento-regional-transit-sacrtF (51.1 out of 100)from 2026-10-02the agency's own feed could not be downloaded, and the scorer graded an old catalog copy from a record the Mobility Database had marked deprecated instead of the agency's current feedthis feed still cannot be read, so nothing replaces the grade. Not measured is the answer, not a different number
Santa Clarita Transitsanta-clarita-transitF (26.2 out of 100)2026-06-16 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis feed still cannot be read, so nothing replaces the grade. Not measured is the answer, not a different number
Santa Clarita Transitsanta-clarita-transit-812F (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
Staten Island Ferrystaten-island-ferry-518F (26.2 out of 100)2026-06-30 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis record is no longer a current listing, so its scorecard is withdrawn and not replaced
Xpressxpress-2355F (26.2 out of 100)2026-06-19 to 2026-09-05the archive wraps its GTFS tables in a folder, and the reader looked for them at the top level and found nonethis feed still cannot be read, so nothing replaces the grade. Not measured is the answer, not a different number

Dated score records from those days stay available as the historical record of what this project published, including when it was wrong. They are not presented as any agency's current condition.

What each one rests on

Beloit Transit beloit-transit
The archive has all 26 GTFS files at the top level and every one of them holds a header row and nothing else: stops.txt, trips.txt, calendar.txt and calendar_dates.txt each have 0 data rows. Confirmed on 2026-09-05 by fetching the same bytes the grade was computed from (sha256 2f047947b9b6, 5,878 bytes, unchanged). The published artifact's own validator findings agree: missing_required_column and no subfolder notice. There is no service here to measure, so no grade replaces this one.
Beloit Transit beloit-transit-392
The same empty archive as beloit-transit, published a second time under a catalog-derived id. This record is not in the registry, so no run will revisit it and its scorecard is withdrawn rather than re-scored.
Boxcar Commuter Bus boxcar
Re-fetched from the agency's own URL on 2026-09-06 (HTTP 200, 5,544 bytes): stops.txt, routes.txt, trips.txt, stop_times.txt and shapes.txt each hold a header row and nothing else, while calendar.txt holds 89 rows and agency.txt one. The archive describes no service. This record is the clearest reading of why an empty archive must not be graded at all: the same feed was measured with 84 stops and 94 trips through 2026-07-10 and scored D (70.0); on 2026-08-06 the tables emptied and the published letter went UP, to C (73.0), because the two categories that read the feed had almost nothing left to deduct for. A grade that rises when the feed disappears is not a measurement of the feed. This entry was held back on 2026-09-05 under not_yet_corrected on the stated ground that `score_feed_content` does not refuse this feed and that withdrawing the C would let the next run publish an A. That was checked on 2026-09-06 and is not true of the code it was written against: the same commit already carried `FeedDates.has_service_content` (#331, merged 2026-09-02), which returns None from freshness for an archive with no stops and no trips regardless of how many calendar rows it has, and the freshness docstring names this feed as the case it was added for. Scoring the archive above on origin/main raises UnreadableFeedError, so no run can publish an A, or anything else, here. The scoring decision the hold-back was waiting on had already been made and shipped; only the withdrawal was outstanding. tests/test_unmeasurable_feed.py now pins the refusal against this exact archive shape so the claim cannot go stale again unnoticed. Boxcar is in the registry and keeps its 23 dated artifacts, so a run that reads a real feed here supersedes this withdrawal on its own.
Catalina Express catalina-express
The published artifact carries the validator's own invalid_input_files_in_subfolder error. The archive is a GitLab source export whose tables sit two folders down, at gtfs_lax-master-catalina_express/catalina_express/. Confirmed on 2026-09-05 against the same bytes the grade was computed from (sha256 1c28629a2932): stops.txt holds 4 rows and trips.txt 28. This is a real feed describing real service. The reader resolves one wrapping folder, not two (issue #333), so it still cannot be read here and the answer is that it is not measured.
Citrus County Transit citrus-county-transit-630
The published artifact carries invalid_input_files_in_subfolder. The feed served today wraps its tables in a single CitrusCountyTransit/ folder and holds 80 stops and 24 trips, so this is a real feed that reads correctly under the current reader. The grade predates that reader. This record is not in the registry, so its scorecard is withdrawn rather than re-scored.
Cobb Community Transit (CCT) cobb-community-transit-cct-354
The published artifact carries invalid_input_files_in_subfolder over a 1.4 MB archive, which is far too large to hold no service. The source URL returns 403 as of 2026-09-05, so the archive could not be re-read. This record is not in the registry, so its scorecard is withdrawn.
Detroit People Mover detroit-people-mover-417
The published artifact carries invalid_input_files_in_subfolder. The source URL returns 404 as of 2026-09-05, so the archive could not be re-read. This record is not in the registry, so its scorecard is withdrawn.
HUT Airport Shuttle hut-airport-shuttle
A 1,635-byte archive whose published findings are five missing_required_file errors with no subfolder notice: no GTFS tables. The registry has since marked this record deprecated, so it is no longer a current listing and its scorecard is withdrawn.
HUT Airport Shuttle hut-airport-shuttle-635
The same 1,635-byte archive as hut-airport-shuttle, published a second time under a catalog-derived id. Not in the registry, so its scorecard is withdrawn.
High Desert Point high-desert-point
A 733-byte archive whose published findings are five missing_required_file errors and one unknown file, with no subfolder notice: there are no GTFS tables in it at all. The registry has since marked this record deprecated, so it is no longer a current listing and its scorecard is withdrawn.
High Desert Point high-desert-point-636
The same 733-byte archive as high-desert-point, published a second time under a catalog-derived id. Not in the registry, so its scorecard is withdrawn.
JAUNT Inc jaunt-inc-1324
The published artifact carries invalid_input_files_in_subfolder over a 212 KB archive. The source URL returns 404 as of 2026-09-05, so the archive could not be re-read. Not in the registry, so its scorecard is withdrawn.
LakeXpress lakexpress-342
The published artifact carries invalid_input_files_in_subfolder. The feed served today wraps its tables in a single folder and holds 490 stops and 930 trips, so this is a real feed that reads correctly under the current reader. The grade predates that reader. Not in the registry, so its scorecard is withdrawn rather than re-scored.
Massachusetts Area Express (MAX) massachusetts-area-express-max
The archive is 192 bytes and contains exactly one file, service_canceled.txt. Confirmed on 2026-09-05 against the same bytes the grade was computed from (sha256 28e972b743f8, unchanged). There is no GTFS table here to read, so no grade replaces this one.
Massachusetts Area Express (MAX) massachusetts-area-express-max-431
The same 192-byte archive as massachusetts-area-express-max, published a second time under a catalog-derived id. Not in the registry, so its scorecard is withdrawn.
Miami-Dade Transit miami-dade-transit-331
The published artifact carries invalid_input_files_in_subfolder over an 8.4 MB archive. The feed served today has its tables at the top level and holds 6,973 stops and 24,285 trips, so this is one of the larger feeds in the corpus and it was graded F on none of it. Not in the registry, so its scorecard is withdrawn rather than re-scored.
Sacramento Regional Transit (SacRT) sacramento-regional-transit-sacrt
The published artifact's fetch record names source mirror, origin_error SSLError, and final_url files.mobilitydatabase.org/mdb-1296/latest.zip. The certificate on iportal.sacrt.com expired on 2026-09-20, so the download failed its certificate check, and the fetch scored the catalog's hosted copy of mdb-1296 instead, a record the catalog marks deprecated. That copy is SacRT's September 2024 export (feed_version "SEP24 GTFS", service 2024-08-18 to 2025-01-04, last modified 2024-10-17), which is why the grade said service data ended 636 days ago. Confirmed on 2026-10-02: the copy's bytes hash to the published sha256 (14b96b9834df, 2,694,731 bytes), and the feed at SacRT's own URL is feed_version "SEP26 GTFS", service 2026-08-09 to 2027-01-02. The grade described the scorer's fallback, not SacRT's current data. Until a run downloads SacRT's own feed, it is not measured.
Santa Clarita Transit santa-clarita-transit
The published artifact carries the validator's own invalid_input_files_in_subfolder error. The archive is a GitLab source export whose tables sit two folders down, at gtfs_lax-master-santa_clarita/santa_clarita/. Confirmed on 2026-09-05 against the same bytes the grade was computed from (sha256 8f4b6006ba4e): stops.txt holds 364 rows and trips.txt 898. The reader resolves one wrapping folder, not two (issue #333), so it still cannot be read here and the answer is that it is not measured.
Santa Clarita Transit santa-clarita-transit-812
The same two-folder-deep archive as santa-clarita-transit, published a second time under a catalog-derived id, and carrying 364 real stops. Not in the registry, so its scorecard is withdrawn.
Staten Island Ferry staten-island-ferry-518
The published artifact carries invalid_input_files_in_subfolder. Confirmed on 2026-09-05 against the same bytes the grade was computed from (sha256 1440b73f7ebb): the tables sit in a single siferry-gtfs_2026.1/ folder and hold 2 stops and 416 trips. A feed that reads correctly under the current reader; the grade predates it. Not in the registry, so its scorecard is withdrawn rather than re-scored.
Xpress xpress-2355
The published artifact carries invalid_input_files_in_subfolder over a 2.8 MB archive, which is far too large to hold no service. The source URL returns 404 as of 2026-09-05, so the archive could not be re-read and the feed cannot be measured today.

If your agency is on this list

Nothing is required of you. Where a feed wraps its files in a folder, that is a packaging detail the scorecard should have handled, not a fault in your data. Where the scorecard graded a catalog copy in place of your own feed, the copy was its choice, not yours. If anything here is wrong, or you would rather not be listed at all, the listing and removal policy says how to correct or remove an entry, and we act on those without argument.