v0.6.0
v0.6.0 - 2026-06-29
New surfaces for working with a feed live (--watch, browser playground),
acting on findings (fix), and sharing results (stats --format markdown,
conformance corpus), plus a new cross-feed operational check (TODS-W315).
Added:
tods-validate validate --watchre-validates whenever the feed changes
(polls the files), the cheap interim ahead of editor/LSP integration.- A browser playground (
web/) that validates a feed entirely in the browser
via Pyodide, with no upload, deployable to GitHub Pages. The Python it calls
is guarded by tests; the page itself needs a browser to verify. - TODS-W315: a run event that works a trip end to end should start at the
trip's first stop and end at its last stop (in the supplemented
stop_times.txt); a mismatch is a warning, skipped for mid-trip events. The
companion GTFS now ingestsstop_times, so this checks an operational
consistency constraint no GTFS-only validator can see. tods-validate fixapplies safe, deterministic fixes — currently trimming the
TODS-W206 whitespace padding that stops IDs from matching. It is a dry run by
default and writes a cleaned, UTF-8/no-BOM package with-o.tods-validate stats --format markdownprints a feed profile (now including a
date range and a file-presence list) suitable for pasting into an issue or a
working-group thread.- A downloadable conformance corpus, attached to each release: every fixture
plus anexpectations.jsonmapping each to the rule IDs it should produce, so
another validator can run the suite without cloning the repo
(scripts/build_conformance_corpus.py).