Skip to content

Fix verified_years in programs.yaml based on audit#7716

Merged
PavelMakarchuk merged 11 commits intomainfrom
fix-verified-years
Mar 6, 2026
Merged

Fix verified_years in programs.yaml based on audit#7716
PavelMakarchuk merged 11 commits intomainfrom
fix-verified-years

Conversation

@MaxGhenis
Copy link
Contributor

@MaxGhenis MaxGhenis commented Mar 6, 2026

Summary

Replaces verified_years string with structured verified_start_year/verified_end_year integers, then updates all values based on full dependency tree audits of each program's parameter coverage.

Structural changes

  • verified_years string → verified_start_year/verified_end_year integers
  • No end year for programs with uprating or legislation-indexed params (valid indefinitely)
  • End year only for ended programs (ACP) or programs with limited params (CHIP, CSFP, Pell Grant)
  • social_security: marked partial (benefits are input variables, not computed)
  • fdpir: marked partial (parameters need expansion)

Evidence-based start year updates (from dependency tree audits)

Program Before After Evidence
SNAP 2021 2022 SUA (Standard Utility Allowance) values start FY2022; BBCE/TANF params from 2020
WIC 2021 2018 WIC benefit value params start 2018
ACA subsidies 2022 2024 formula_2024 gate in aca_ptc.py — variable returns 0 before 2024
Lifeline 2021 2017 Eligibility rules start 2016-12-01; first full calendar year is 2017
Pell Grant 2023 2024 SAI formula from 2024; EFC formula (2009-2023) uses different params
Head Start 2024 2022 State enrollment/spending data available from FY2022 (Sep 2021)
SSI 2021 1985 FBR amounts from 1975; resource limits from 1985; blind SGA param unused in code
Federal income tax 2018 2018 Confirmed by TAXSIM 2018 validation tests (PR #7717)

Methodology

For each program, traced the full variable computation tree (including all dependencies like FPG, TANF/BBCE, state-level params) and checked the earliest date with complete parameter coverage across all referenced parameter prefixes. The binding constraint (latest-starting required parameter) determines the verified_start_year.

Test plan

  • YAML syntax valid
  • Lint passes
  • Full CI suite passes (YAML-only change, no code affected)

🤖 Generated with Claude Code

MaxGhenis and others added 5 commits March 6, 2026 09:10
- Replace verified_years string with verified_start_year/verified_end_year integers
- No end year for programs with uprating (valid indefinitely forward)
- End year only for ended programs (acp) or programs with limited params (chip, csfp, pell_grant)
- social_security: remove verified_years (benefits are input variables), mark partial
- fdpir: remove verified_years (no real parameters), mark partial
- chip: narrow to 2022-2024
- pell_grant: narrow to 2023-2025
- csfp: narrow to 2024-2025
- tanf: add verified_start_year 2022

Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Replace verified_years string with verified_start_year/verified_end_year integers
- No end year for programs with uprating (valid indefinitely forward)
- End year only for ended programs (ACP) or limited params (CHIP, CSFP, Pell Grant)
- Default start year 2021 for major ongoing programs (SNAP, SSI, Medicaid, etc.)
- Federal income tax/payroll: 2018 (TCJA)
- ACA PTC: 2022 (ARPA enhanced subsidies changed rules)
- Newer programs (IRA credits, DOE rebates, clean vehicles): 2023-2024
- social_security: remove verified_years (benefits are input variables), mark partial
- fdpir: remove verified_years (no real parameters), mark partial

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Evidence-based changes from full parameter coverage analysis:
- SNAP: 2021→2022 (SUA values start FY2022)
- WIC: 2021→2018 (benefit values start 2018)
- ACA subsidies: 2022→2024 (formula_2024 gate in aca_ptc.py)
- Lifeline: 2021→2017 (eligibility rules from 2016-12)
- Pell Grant: 2023→2024 (SAI formula from 2024)
- Head Start: 2024→2022 (state enrollment data from FY2022)
- SSI: added note about blind SGA gap

Co-Authored-By: Claude Opus 4.6 <[email protected]>
SSI code exempts blind individuals from SGA entirely rather than
using gov.ssa.sga.blind. Actual binding constraint is resource
limits starting 1985; FBR amounts go back to 1975.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
PavelMakarchuk and others added 5 commits March 6, 2026 16:20
- SNAP: 2022 → 2021 (min_allotment params from 2021-01-01, SUA from
  2021-10-01 for all states; no params missing in 2021)
- Pell Grant: 2024 → 2023, remove verified_end_year (EFC path has
  full param coverage from 2023-01-01; SAI path from 2024)

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
- Medicare: 2021 → 2024 (Part A premiums, IRMAA, MSP assets all start 2024)
- Education tax credits: 2021 → 2022 (foreign_tax_credit in preceding_credits from 2022)
- DOE HEEHR: 2024 → 2023 (all IRA rebate params start 2023-01-01)
- DOE efficiency rebate: 2024 → 2023 (all substantive params start 2023-01-01)
- CO OAP: 2024 → 2023 (all params start 2023-01-01)
- CO CHP: 2024 → 2023 (child/copay params from 2023; income limit from 2022-04)
- NYC income tax: 2021 → 2022 (all credit params start 2022-01-01)

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
…g changelog

- Update FDPIR status to partial with note that benefits are input variables
- Remove .claude/worktrees files accidentally committed
- Remove unrelated changelog fragment (update-claude-md-ruff.changed.md)

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@hua7450 hua7450 self-requested a review March 6, 2026 17:30
@PavelMakarchuk PavelMakarchuk merged commit 7f985d0 into main Mar 6, 2026
7 checks passed
@PavelMakarchuk PavelMakarchuk deleted the fix-verified-years branch March 6, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants