chore(canonical-key): retire legacy {date}.parquet/{date}.json fallback shims (ROADMAP L178)#271
Merged
Merged
Conversation
…ck shims (ROADMAP L178)
Wave-1 canonical-shape gate fired 2026-05-18: `latest.json` sidecars
produced for all three substrates on 2026-05-16 (~08:17–08:20 UTC); zero
`legacy` log emissions in the research-runner Lambda over the last 7 days.
Safe to drop the fallback branches.
Removed:
- `read_news_aggregates_parquet` legacy date-key fallback branch + the
now-unused `aggregate_date` param.
- `read_snapshot_document` legacy `{ticker}/{date}.json` fallback.
- `s3_key_for` dead helper (zero callers in or outside this repo; its
docstring lied — returned legacy shape labeled 'Canonical').
- "Tolerates the legacy {ticker}/{date}.json shape" docstring claim on
`load_snapshot_time_series` (code body was already shape-agnostic —
reads by snapshot_date field inside the JSON body).
Added:
- 2 regression-guard tests pinning canonical-only behavior:
`test_legacy_date_keyed_parquet_is_ignored` (news_aggregates) and
`test_legacy_date_keyed_json_is_ignored` (analyst_substrate).
Suite: 1389 passed (+2), 1 skipped.
Cross-repo blast radius verified zero: no caller of the three readers
outside this repo, and no caller of `s3_key_for` anywhere.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ROADMAP: L178 — Retire canonical-key backward-compat shims (Wave-1 cleanup, P2)
Gate fired 2026-05-18. Per the 2026-05-16 close-out DECISION, the weekend Saturday SF completed for gating purposes. Canonical
latest.jsonsidecars produced on 2026-05-16 ~08:17–08:20 UTC for all three Wave-1 substrates (news_aggregates / analyst_revisions / insider_transactions). Zerolegacylog emissions in the research-runner Lambda over the last 7 days.Removed
data/derived/news_aggregates.py::read_news_aggregates_parquet— legacy{aggregate_date}.parquetfallback branch + now-unusedaggregate_datekwarg.data/snapshotter/analyst_daily.py::read_snapshot_document— legacy{ticker}/{date}.jsonfallback.data/snapshotter/analyst_daily.py::s3_key_for— dead helper (zero callers in or outside this repo; docstring lied — returned legacy shape labeled "Canonical").data/derived/analyst_revisions.py::load_snapshot_time_series— "Tolerates the legacy {ticker}/{date}.json shape" docstring claim (code body is shape-agnostic — indexes bysnapshot_dateparsed from JSON body).Added
test_legacy_date_keyed_parquet_is_ignored— plants{prefix}/{date}.parquetwith nolatest.jsonsidecar; asserts the reader returns empty.test_legacy_date_keyed_json_is_ignored— plants{prefix}/{ticker}/YYYY-MM-DD.json(pre-migration shape); assertsread_snapshot_documentreturns None.Cross-repo blast radius
Zero hits. No external consumer touches these functions — the research substrate reader (
data/substrate/reader.py) does its own S3 I/O.Tests
Suite 1389 passed (+2 regression guards), 1 skipped, 7 unrelated FutureWarnings.
Composes with
🤖 Generated with Claude Code