Fold three concept-spelling duplicate lineages; defer entity-drift splits - #147
Merged
Merged
Conversation
…lits Curation pass over the 10 duplicate-lineage families flagged after the v3 catalog rebuild. Three same-dimension concept-spelling pairs fold cleanly (identical geography and entity, disjoint or continuous observations): - dol.eta.initial_claims.sa -> survivor 830e68bb (us.dol spelling retired binding 330ec66b) - us.census.housing_starts.total_saar -> survivor d0212a1e (retired d542cb8d) - us.frb.industrial_production.total.mom_sa -> survivor d5634fc4 (retired b5a74252) Three noted retire events append to the UUID registry; no surviving UUID changes, no observation is lost (171/171 preserved), and all 83 docket- pinned UUIDs remain live. Catalog: 209 -> 206 series, byte-idempotent under regeneration, suspects=0, ambiguous_aliases=0. The seven entity-drift families (May/June observations disagreeing on entity) cannot fold without moving observations across entity keys, which alias inheritance is dimension-scoped to forbid; a disposable-copy experiment confirmed regeneration restores the split. They are recorded with blockers in docs/catalog-curation-backlog.md, alongside the us.dol.initial_claims.sa weekly/monthly split that awaits upstream cadence metadata correction. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
Adversarial review round 1 — verdict: MERGE (risk LOW, zero findings)Reviewer: gpt-5.6-sol (ultra reasoning), read-only worktree, diff vs Highlights of the reviewer's independent verification (full validation record in the review transcript):
Zero findings; merging on MERGE verdict + green CI per the standing gate. |
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.
Curation pass over the 10 duplicate-lineage families flagged after the v3 catalog rebuild (follow-up chip from #128's merge disposition).
What folds
Three same-dimension concept-spelling pairs — identical geography and entity key, so alias inheritance is in-dimension and no observation moves across identity slices:
dol.eta.initial_claims.sa(330ec66b)us.census.housing_starts.total_saar(d542cb8d)us.frb.industrial_production.total.mom_sa(b5a74252)Catalog: 209 → 206 series. Registry: +3 noted retire appends (216 entries), append-only. No surviving UUID changes; 171/171 observations preserved; all 83 docket-pinned UUIDs remain live. The identity-map sha256 anchor moves in this same diff, per its contract.
What does not fold, and why
The seven entity-drift families (May/June observations disagreeing on entity) would require moving observations across entity keys — exactly what dimension-scoped alias inheritance forbids, and a disposable-copy experiment confirmed regeneration restores the split. They are recorded with per-family blockers in
docs/catalog-curation-backlog.md, alongside theus.dol.initial_claims.saweekly/monthly split that awaits upstream cadence-metadata correction (the "monthly" rows carry week-ending identifiers and weekly-thousands values).Verification
pytest tests/test_build_series_catalog.py: 153 passed (on top of Builder plans re-enrichment; succeeds schema errors are clean findings #145's builder)minted=0, superseded=0, suspects=0, ambiguous_aliases=0)build_series_catalog.py --check: current at 206ruff check: cleanAdversarial review to follow before merge, per the standing gate (MERGE verdict + green CI).
🤖 Generated with Claude Code