Wave 1 · Phase 1 · Spec §4 (intro), §8 (schema check) · Decision D11 · Feeds L06, L08
Know every column of every file in scope, and account for each one exactly once in config/schema_map.yaml: mapped to a unified column or explicitly ignored.
pipeline/discover.py, pipeline/schema_map.py (loader + resolver), config/schema_map.yamlreports/schema_discovery.md (generated, committed)tests/test_discover.py, tests/test_schema_map.pymake discover: DESCRIBE every fhvhv, yellow and green file from 2024-01 to the latest month. Use remote footer reads if D11 is agreed; otherwise local files fetched by L02 one month at a timeschema_map.yaml: per dataset, ranges with valid_from / valid_to, each holding {raw_column: unified_column}, the expected type, and an ignore: list with a one-line reason per column (for example dispatching_base_num, VendorID, passenger_count)resolve(dataset, month, raw_columns) -> mapping: case-insensitive; raises UnmappedColumnError naming file and column for anything neither mapped nor ignored; also raises when a required source column is missingpython -m pipeline.discover --check: the SPEC §8 schema check; L08 calls itAirport_fee and airport_fee both resolve--check exits 0 over every file in scopeOnly this lane writes here. Newest first.
| Date | State | Note |
|---|---|---|
| not started |
Blocked: none
Hand-off