MBTA Blue Line replay data¶
Status: retained boundary evidence. Arrival, travel-time, and dwell targets are rejected; movement-derived trunk headway advanced through the later population, task, and topology stages.
Purpose and status¶
This replay tests whether real transit operations preserve enough identity, time, Schedule provenance, and event lineage for a causal TinyMesh task. It is not a public dataset API, benchmark, or claim about MBTA service quality.
checksum-pinned LAMP performance + active Schedule
|
v
2-hour Blue Line replay
|
+-----------+-----------+
| |
mixed stop time observed move events
| |
v v
arrival / travel / dwell departure headway
rejected viable
The first audit correctly rejected observed arrival. A follow-up trace of LAMP's pinned implementation found that the rejection does not apply to every calculated field: trunk headway uses Vehicle Position movement events only.
Source, license, and citation¶
The Massachusetts Bay Transportation Authority provides the source through its
Lightweight Application for Measuring Performance
(LAMP). The retained contract uses
mbta/lamp@e266440d
and MBTA GTFS documentation at 02da961b.
Exact URLs, byte counts, and SHA-256 digests live in the fixture manifest.
Use is subject to the MassDOT Developers License Agreement recorded there. Derived use must acknowledge MassDOT as provider, comply with law, avoid affiliation or agency claims, avoid MassDOT and MBTA marks, not misrepresent the data, and not claim ownership. The source is provided as-is and may change or disappear. TinyMesh is not affiliated with or endorsed by MassDOT or MBTA.
Acquisition manifest¶
The retained slice derives from the 2026-08-18 subway performance export and
the LAMP 2026 feed_info, trips, stop_times, and stops archives. Its
active Schedule is Summer 2026, 2026-08-17T19:35:03+00:00, version D.
Raw parquet remains outside Git. The checked-in manifest pins source and
derived checksums; four CSV tables preserve the transparent projection.
Reproduction uses ephemeral duckdb==1.4.1; installed TinyMesh still depends
only on tinygrad.
Population, axes, and identity¶
The population is Blue Line revenue rail service on 2026-08-18 from 07:00
through 09:00 America/New_York, the half-open UTC interval
[1787050800, 1787058000).
One trip instance is (service_date, start_time, trip_id). One replay row adds
stop_sequence; one vehicle is vehicle_id. Trip-stop identities resolve to
the applicable Schedule. A physical departure is
(service_date, vehicle_id, parent_station, direction_id, departure_timestamp).
This identity collapses duplicate source aliases without collapsing distinct
vehicles or directions.
Missingness and provenance¶
| Field | Present | Provenance | Target decision |
|---|---|---|---|
| movement timestamp | 663 / 663 | observed Vehicle Position | event input |
| stop timestamp | 663 / 663 | Vehicle Position stop or TripUpdate prediction | reject |
| travel time | 663 / 663 | mixed stop minus observed move | reject |
| dwell time | 553 / 663 | next observed move minus mixed stop | reject |
| trunk headway | 608 / 663 | successive observed departure movements | retain |
| scheduled trunk headway | 663 / 663 | Schedule-derived | baseline candidate |
The export omits feed generation and ingestion/as-of clocks, so it cannot
support a claim about live snapshot freshness. Historical headway has its own
explicit target time: the next stop row's observed move_timestamp, which
marks departure from the current stop. A future task must use only events
strictly before that timestamp as input.
Target derivation¶
At the pinned LAMP revision:
stop = coalesce(vp_stop, trip_update_arrival)
travel = stop - move
dwell = next(move) - stop
departure = next(move)
headway = departure - previous_departure
Only the last two expressions avoid the mixed stop value. LAMP partitions trunk headway by parent station, trunk route, and direction and retains only positive values. The retained audit independently applies that formula to adjacent Schedule calls and compares exact integers.
Transformations and splits¶
The projection selects one route, service date, and two-hour interval, then joins each trip-stop row to the applicable Schedule. It performs no source deduplication, normalization, tensor lowering, train/validation split, or model aggregation. CSV order is canonical trip-instance and stop-sequence order.
The audit derives departure time from the following adjacent trip-stop movement event. It groups physical departures by station, trunk route, and direction, then differences consecutive target times. Values requiring an event outside the cut window remain boundary-only rather than being imputed.
Validation and statistics¶
| Measure | Result |
|---|---|
| replay rows / resolved Schedule rows | 663 / 663 |
| trip instances / vehicles / platform stops | 66 / 12 / 24 |
| parent stations / directed Schedule edges | 12 / 22 |
| source / internally derived headways | 608 / 575 |
| exact headway matches / mismatches | 575 / 0 |
| source labels needing an outside-window event | 33 |
| physical departures / duplicate aliases | 597 / 0 |
| five-minute headway target bins | 485 |
| bins with two targets / maximum targets | 90 / 2 |
The complete 2026-08-18 Blue Line day has 4,706 rows and 4,274 source
headways. All 4,274 reproduce exactly. A bounded seven-day source audit from
2026-08-12 through 2026-08-18 found 26,559 row labels representing 26,558
physical departures. Every physical event reproduced exactly; the one extra
row was the same departure represented under two ADDED-* trip IDs with the
same 498-second label. Issue
#150 retains the exact
source checksums and interpretation.
Intended use¶
Use this fixture to test acquisition drift, Schedule alignment, identity, missingness, provenance, topology activity, physical-event deduplication, and movement-derived headway. It justifies extending the replay before specifying a headway forecast; it does not itself justify training.
Prohibited claims¶
Do not call stop_timestamp an observed arrival; treat travel time or dwell as
pure observation; interpret audit bins as simultaneous vehicle state; report
live freshness; generalize this two-hour slice to MBTA performance; or call
LAMP's formula the uniquely correct operational definition of headway.
Limits¶
This is one line, one weekday, and two hours. The retained Schedule contains only the selected trips. Five-minute target bins contain two departures in 90 cases, so a future task must choose event-level prediction, a smaller clock, or an explicit aggregation. The upstream source calls its headway calculation incomplete and has no focused test for the metric. TinyMesh therefore claims only exact reproduction and observational lineage of the pinned formula.
Evidence¶
The standard-library audit validates artifact checksums, typed fields, canonical identities, exact Schedule joins, field-specific lineage, topology, and headway reconstruction. This evidence justified the later bounded replay and task specification for movement-derived trunk headway; it did not justify a public adapter or model from this two-hour witness.