Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Re-pinning Chronicle past chronicle#350 adds state charitable targets

Open
#1,245 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
38/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
python

Research direction

Read tools/build_us_chronicle_feed.py and us_runtime/fiscal_targets.py, then review the listed tools/us_acs_local_cd_surface.py behavior and the impact analysis at ~/PolicyEngine/_reviews/chronicle-ht2-state-schedule-a/microcosm-impact.md. Re-pin the Chronicle feed and inspect the 408 added facts, target bindings, district rebasing, and updated surface documentation and goldens; done means the target-surface changes are explicit in the re-pin PR.

Written by the indexing model from the issue text.

Description

PolicyEngine/chronicle#350 adds eight IRS Historic Table 2 measures to every state row of soi-historic-table-2-state-broad-2022, for TY2022: 408 facts.

Columns Line Measure ids
N00700/A00700 Schedule 1 line 1 taxable_state_local_income_tax_refunds_*
N18300/A18300 Schedule A line 7 taxes_paid_deduction_*
N19300/A19300 line 8a mortgage_interest_paid_*
N19700/A19700 line 14 charitable_*

It also moves the congressional-district charitable_* concept to Table 2.1's irs_soi.contributions_deduction. measure_id is unchanged.

What happens on the next re-pin, as read at microcosm 7253402fb:

  • Feed. tools/build_us_chronicle_feed.py selects record sets and periods, not measures. All 408 facts therefore enter the rebuilt feed. us/chronicle_feed.json rows and facts_sha256 move, and so does target_parity_feed_families.json: HT2 6,674 → 7,082 if nothing else changes.
  • charitable_amount / charitable_returns. These map to charitable_deduction (itemizers only) in us_runtime/fiscal_targets.py:151,234. They become state targets with role soi_fiscal_distribution, which enters state, full and state_cd and survives national_state. In state_cd, tools/us_acs_local_cd_surface.py replaces the charitable sibling bridges (itemized_deductions_amount, return_count) with these HT2 state parents. District blocks are then rebased to them, subject to the 1.25× band.
  • docs/us-acs-local-soi-target-surface.md. It lists charitable_* as HT2 gaps, so that section and the surface goldens need updating.
  • The other six ids. mortgage_interest_paid_* (unmapped on purpose, fiscal_targets.py:176), taxes_paid_deduction_* and taxable_state_local_income_tax_refunds_* map to nothing. They bind no target.

This is a target-surface change. Review it in the re-pin PR rather than taking it in silently. Analysis: ~/PolicyEngine/_reviews/chronicle-ht2-state-schedule-a/microcosm-impact.md.

Dominant language
Python
Stars
0
Forks
5
Avg merge
1d 10h
Merged PRs (30d)
143

Getting set up

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.

More from PolicyEngine/microcosm

All issues in PolicyEngine/microcosm

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.