Every rule tods-validate checks against TODS v2.1.0, one
permanent page per rule ID. These URLs are what SARIF helpUri,
editor hovers, and CI annotations link back to; rule IDs are never
renumbered once released, so a link made today keeps working.
TODS-W101 — No TODS files in package WARNINGTODS-I102 — File is not part of TODS or GTFS INFOTODS-E103 — File could not be read ERRORTODS-E104 — Row has the wrong number of values ERRORTODS-E105 — Duplicate column name ERRORTODS-E106 — Required column is missing ERRORTODS-W107 — Column is not defined by TODS WARNINGTODS-I108 — Supplement column is not defined by GTFS or TODS INFOTODS-W109 — File belongs to a different TODS spec version WARNINGTODS-E201 — Required value is missing ERRORTODS-E202 — Value is not an allowed option ERRORTODS-E203 — Value has the wrong format ERRORTODS-E204 — Duplicate primary key ERRORTODS-E205 — vehicle_assignments needs service_id to be unambiguous ERRORTODS-W206 — Value has leading or trailing spaces WARNINGTODS-E207 — Value is not a valid color ERRORTODS-E301 — Employee assignment points to a run that does not exist ERRORTODS-W302 — Referenced file is missing or was not read in full, references not checked WARNINGTODS-E303 — Vehicle assignment points to a vehicle that does not exist ERRORTODS-E304 — Supplement both deletes and redefines the same row ERRORTODS-W305 — Supplement updates the same row more than once WARNINGTODS-W306 — Deleted supplement row carries values that will be ignored WARNINGTODS-E307 — Run event points to a trip that does not exist ERRORTODS-E308 — Run uses a service that does not exist ERRORTODS-E309 — Run event starts or ends at a stop that does not exist ERRORTODS-E310 — Run event block disagrees with the trip's block ERRORTODS-E311 — Vehicle assignment points to a block that does not exist ERRORTODS-E312 — Vehicle assignment uses a service that does not exist ERRORTODS-W313 — Supplement deletes a row that is not in GTFS WARNINGTODS-E314 — Supplement row references a GTFS entity that does not exist ERRORTODS-W315 — Run event location does not match the trip's first or last stop WARNINGTODS-W316 — Run event time does not match the trip's scheduled time WARNINGTODS-E401 — Event ends before it starts ERRORTODS-E402 — Two trip events in one run overlap in time ERRORTODS-W403 — Event order disagrees with event times WARNINGTODS-W404 — Employee is assigned to overlapping runs on the same date WARNINGTODS-E405 — Run operates on dates its trip does not ERRORTODS-W406 — Employee assignment date is outside the run's service days WARNINGTODS-W407 — Vehicle assignment date is outside the service days WARNINGTODS-W408 — Identical employee assignment appears twice WARNINGTODS-W409 — Consecutive run events do not connect in space WARNINGTODS-I601 — Run has a long span with no break event INFOTODS-I602 — One value is spelled more than one way INFOOPS-W001 — A movement in this run is too far to be made in the time allowed WARNING