PolicyEngine / PolicyEngine/chronicle
Six CBO revenue-projection ty2023 rows carry duplicate source_record_ids in consumer exports
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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