PolicyEngine / PolicyEngine/chronicle

Six CBO revenue-projection ty2023 rows carry duplicate source_record_ids in consumer exports

Open
#119 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
1
Avg merge
11h 48m
Merged PRs (30d)
45

Description

Found during the populace feed v9.4 cut: the assembled consumer stream carries exactly six duplicated source_record_ids, each appearing twice — the cbo.revenue_projection.ty2023.income_by_source.*.projected_amount family (adjusted_gross_income, wages_and_salaries, taxable_interest_and_ordinary_dividends_excluding_qualified_dividends, qualified_dividend_income, net_capital_gain, +1). Same srid, different aggregate_fact_keys — presumably the same series minted in two suite vintages. They have ridden through the M/N/O feeds harmlessly (registry fact selection tolerates them), but duplicate srids are an ambiguity hazard for any consumer that keys on srid rather than the aggregate key, and the bundle coverage report's duplicate diagnostics exist precisely to catch this class. Worth either a ledgered supersession of the stale pair-halves or a uniqueness gate on the export path. Feed receipts: v9.3 61b115c0… and v9.4 b3c08356… both carry the six pairs; no NEW duplicates were introduced by the v9.4 supersession (checked).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the six duplicate source_record_id pairs using the v9.3 and v9.4 feed receipts, then inspect the bundle coverage report's duplicate diagnostics and the export path. Done means the consumer export no longer carries these duplicate pairs and the duplicate diagnostics pass, with the chosen handling documented for the stale suite-vintage records.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.