Summary
uprating: blocks written as a sibling of values: (rather than nested under metadata:) are silently ignored by the parameter loader, freezing those parameters at their last explicit value. The working form is the one gov/irs/credits/eitc/max.yaml uses (values: + metadata: uprating: inside the bracket node); the broken form places uprating: directly beside values:.
A YAML-tree audit of all 5,444 parameter files finds 103 nodes across ~25 files with the broken placement.
Confirmed frozen (runtime probes on current main)
The gov.irs.uprating index itself resolves correctly at runtime (158.87 in 2023 → 167.95 in 2024 → 172.80 in 2025), so these are placement failures, not index failures:
Parameter
Probe
Expected behavior
gov/irs/credits/retirement_saving/rate/joint.yaml
thresholds [43,500/47,500/73,000] for 2023–2026
IRS Notices publish 46,000/50,000/76,500 (2024) etc. — fixed with explicit values in #8903
gov/states/ne/tax/income/rates/*.yaml
single thresholds [4,030/24,120/38,870] identical 2025→2027
Neb. Rev. Stat. § 77-2715.03 indexes brackets annually
gov/states/me/tax/income/main/*.yaml
single thresholds [26,800/63,450] identical 2025→2027
36 M.R.S. § 5403 indexes annually
gov/states/ri/tax/income/deductions/standard/amount.yaml
JOINT 21,800 in both 2025 and 2026
R.I. Gen. Laws § 44-30-2.6 indexes annually
gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml
SINGLE 313,200 flat 2025→2026
verify whether NY indexes these before fixing
gov/states/oh/tax/income/rates.yaml also carries the dead config but is hand-maintained with explicit entries (2026 flat-tax phase-in present), so it is latent rather than currently wrong.
Full audit list (file @ node):
Details
- `gov/contrib/states/ny/wftc/reduction/married.yaml` @ `/brackets[1]/threshold`
- `gov/contrib/states/ny/wftc/reduction/single.yaml` @ `/brackets[1]/threshold`
- `gov/contrib/states/ri/high_earner_tax/brackets.yaml` @ `/brackets[1]/threshold`
- `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/SINGLE`
- `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/SEPARATE`
- `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/JOINT`
- `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/SURVIVING_SPOUSE`
- `gov/irs/credits/retirement_saving/rate/joint.yaml` @ `/brackets[1]/threshold`
- `gov/irs/credits/retirement_saving/rate/joint.yaml` @ `/brackets[2]/threshold`
- `gov/irs/credits/retirement_saving/rate/joint.yaml` @ `/brackets[3]/threshold`
- `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/SINGLE`
- `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/SEPARATE`
- `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/JOINT`
- `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/SINGLE`
- `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/JOINT`
- `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/SEPARATE`
- `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/SINGLE`
- `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/SEPARATE`
- `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/JOINT`
- `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/SINGLE`
- `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/SEPARATE`
- `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/JOINT`
- `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/SINGLE`
- `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/SEPARATE`
- `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/JOINT`
- `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/me/tax/income/main/head_of_household.yaml` @ `/brackets[1]/threshold`
- `gov/states/me/tax/income/main/head_of_household.yaml` @ `/brackets[2]/threshold`
- `gov/states/me/tax/income/main/joint.yaml` @ `/brackets[1]/threshold`
- `gov/states/me/tax/income/main/joint.yaml` @ `/brackets[2]/threshold`
- `gov/states/me/tax/income/main/separate.yaml` @ `/brackets[1]/threshold`
- `gov/states/me/tax/income/main/separate.yaml` @ `/brackets[2]/threshold`
- `gov/states/me/tax/income/main/single.yaml` @ `/brackets[1]/threshold`
- `gov/states/me/tax/income/main/single.yaml` @ `/brackets[2]/threshold`
- `gov/states/me/tax/income/main/surviving_spouse.yaml` @ `/brackets[1]/threshold`
- `gov/states/me/tax/income/main/surviving_spouse.yaml` @ `/brackets[2]/threshold`
- `gov/states/nd/tax/income/rates/head_of_household.yaml` @ `/brackets[1]/threshold`
- `gov/states/nd/tax/income/rates/head_of_household.yaml` @ `/brackets[2]/threshold`
- `gov/states/nd/tax/income/rates/joint.yaml` @ `/brackets[1]/threshold`
- `gov/states/nd/tax/income/rates/joint.yaml` @ `/brackets[2]/threshold`
- `gov/states/nd/tax/income/rates/separate.yaml` @ `/brackets[1]/threshold`
- `gov/states/nd/tax/income/rates/separate.yaml` @ `/brackets[2]/threshold`
- `gov/states/nd/tax/income/rates/single.yaml` @ `/brackets[1]/threshold`
- `gov/states/nd/tax/income/rates/single.yaml` @ `/brackets[2]/threshold`
- `gov/states/nd/tax/income/rates/surviving_spouse.yaml` @ `/brackets[1]/threshold`
- `gov/states/nd/tax/income/rates/surviving_spouse.yaml` @ `/brackets[2]/threshold`
- `gov/states/ne/tax/income/rates/head_of_household.yaml` @ `/brackets[1]/threshold`
- `gov/states/ne/tax/income/rates/head_of_household.yaml` @ `/brackets[2]/threshold`
- `gov/states/ne/tax/income/rates/head_of_household.yaml` @ `/brackets[3]/threshold`
- `gov/states/ne/tax/income/rates/joint.yaml` @ `/brackets[1]/threshold`
- `gov/states/ne/tax/income/rates/joint.yaml` @ `/brackets[2]/threshold`
- `gov/states/ne/tax/income/rates/joint.yaml` @ `/brackets[3]/threshold`
- `gov/states/ne/tax/income/rates/separate.yaml` @ `/brackets[1]/threshold`
- `gov/states/ne/tax/income/rates/separate.yaml` @ `/brackets[2]/threshold`
- `gov/states/ne/tax/income/rates/separate.yaml` @ `/brackets[3]/threshold`
- `gov/states/ne/tax/income/rates/single.yaml` @ `/brackets[1]/threshold`
- `gov/states/ne/tax/income/rates/single.yaml` @ `/brackets[2]/threshold`
- `gov/states/ne/tax/income/rates/single.yaml` @ `/brackets[3]/threshold`
- `gov/states/ne/tax/income/rates/surviving_spouse.yaml` @ `/brackets[1]/threshold`
- `gov/states/ne/tax/income/rates/surviving_spouse.yaml` @ `/brackets[2]/threshold`
- `gov/states/ne/tax/income/rates/surviving_spouse.yaml` @ `/brackets[3]/threshold`
- `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/SINGLE`
- `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/JOINT`
- `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/SEPARATE`
- `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/oh/tax/income/rates.yaml` @ `/brackets[1]/threshold`
- `gov/states/oh/tax/income/rates.yaml` @ `/brackets[2]/threshold`
- `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/JOINT`
- `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/SINGLE`
- `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/SEPARATE`
- `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/JOINT`
- `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/SINGLE`
- `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/SEPARATE`
- `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/SINGLE`
- `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/JOINT`
- `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/SEPARATE`
- `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/SINGLE`
- `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/JOINT`
- `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/SEPARATE`
- `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/SURVIVING_SPOUSE`
- `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/SINGLE`
- `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/JOINT`
- `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/HEAD_OF_HOUSEHOLD`
- `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/SEPARATE`
- `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/SURVIVING_SPOUSE`
Suggested fixes
Per file: either move the block under metadata: (per-bracket, EITC-max style) so projections uprate, or replace with explicit published values where an official annual release exists (the Fix Saver's Credit AGI thresholds for 2024-2026 #8903 approach — preferable for exactness where notices publish rounded figures).
Upstream (policyengine-core): the loader should reject or warn on unknown keys alongside values: instead of silently discarding them — this class of bug is invisible until an oracle comparison catches a stale year.
Audit script: parse each parameter YAML, flag any dict node containing both values and uprating keys at the same level.
Related: #8889 (the Saver's Credit instance, fixed by #8903 ).
Summary
uprating:blocks written as a sibling ofvalues:(rather than nested undermetadata:) are silently ignored by the parameter loader, freezing those parameters at their last explicit value. The working form is the onegov/irs/credits/eitc/max.yamluses (values:+metadata: uprating:inside the bracket node); the broken form placesuprating:directly besidevalues:.A YAML-tree audit of all 5,444 parameter files finds 103 nodes across ~25 files with the broken placement.
Confirmed frozen (runtime probes on current main)
The
gov.irs.upratingindex itself resolves correctly at runtime (158.87 in 2023 → 167.95 in 2024 → 172.80 in 2025), so these are placement failures, not index failures:gov/irs/credits/retirement_saving/rate/joint.yamlgov/states/ne/tax/income/rates/*.yamlgov/states/me/tax/income/main/*.yamlgov/states/ri/tax/income/deductions/standard/amount.yamlgov/states/ny/tax/income/deductions/itemized/phase_out/start.yamlgov/states/oh/tax/income/rates.yamlalso carries the dead config but is hand-maintained with explicit entries (2026 flat-tax phase-in present), so it is latent rather than currently wrong.Full audit list (file @ node):
Details
- `gov/contrib/states/ny/wftc/reduction/married.yaml` @ `/brackets[1]/threshold` - `gov/contrib/states/ny/wftc/reduction/single.yaml` @ `/brackets[1]/threshold` - `gov/contrib/states/ri/high_earner_tax/brackets.yaml` @ `/brackets[1]/threshold` - `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/SINGLE` - `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/SEPARATE` - `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/JOINT` - `gov/contrib/states/ri/social_security_exemption/income_limit.yaml` @ `/SURVIVING_SPOUSE` - `gov/irs/credits/retirement_saving/rate/joint.yaml` @ `/brackets[1]/threshold` - `gov/irs/credits/retirement_saving/rate/joint.yaml` @ `/brackets[2]/threshold` - `gov/irs/credits/retirement_saving/rate/joint.yaml` @ `/brackets[3]/threshold` - `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/SINGLE` - `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/SEPARATE` - `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/JOINT` - `gov/states/me/tax/income/agi/subtractions/pension_exclusion/phaseout/start.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/SINGLE` - `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/JOINT` - `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/SEPARATE` - `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/me/tax/income/credits/fairness/sales_tax/amount/base.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/SINGLE` - `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/SEPARATE` - `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/JOINT` - `gov/states/me/tax/income/credits/fairness/sales_tax/reduction/start.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/SINGLE` - `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/SEPARATE` - `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/JOINT` - `gov/states/me/tax/income/deductions/personal_exemption/phaseout/start.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/SINGLE` - `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/SEPARATE` - `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/JOINT` - `gov/states/me/tax/income/deductions/phase_out/start.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/me/tax/income/main/head_of_household.yaml` @ `/brackets[1]/threshold` - `gov/states/me/tax/income/main/head_of_household.yaml` @ `/brackets[2]/threshold` - `gov/states/me/tax/income/main/joint.yaml` @ `/brackets[1]/threshold` - `gov/states/me/tax/income/main/joint.yaml` @ `/brackets[2]/threshold` - `gov/states/me/tax/income/main/separate.yaml` @ `/brackets[1]/threshold` - `gov/states/me/tax/income/main/separate.yaml` @ `/brackets[2]/threshold` - `gov/states/me/tax/income/main/single.yaml` @ `/brackets[1]/threshold` - `gov/states/me/tax/income/main/single.yaml` @ `/brackets[2]/threshold` - `gov/states/me/tax/income/main/surviving_spouse.yaml` @ `/brackets[1]/threshold` - `gov/states/me/tax/income/main/surviving_spouse.yaml` @ `/brackets[2]/threshold` - `gov/states/nd/tax/income/rates/head_of_household.yaml` @ `/brackets[1]/threshold` - `gov/states/nd/tax/income/rates/head_of_household.yaml` @ `/brackets[2]/threshold` - `gov/states/nd/tax/income/rates/joint.yaml` @ `/brackets[1]/threshold` - `gov/states/nd/tax/income/rates/joint.yaml` @ `/brackets[2]/threshold` - `gov/states/nd/tax/income/rates/separate.yaml` @ `/brackets[1]/threshold` - `gov/states/nd/tax/income/rates/separate.yaml` @ `/brackets[2]/threshold` - `gov/states/nd/tax/income/rates/single.yaml` @ `/brackets[1]/threshold` - `gov/states/nd/tax/income/rates/single.yaml` @ `/brackets[2]/threshold` - `gov/states/nd/tax/income/rates/surviving_spouse.yaml` @ `/brackets[1]/threshold` - `gov/states/nd/tax/income/rates/surviving_spouse.yaml` @ `/brackets[2]/threshold` - `gov/states/ne/tax/income/rates/head_of_household.yaml` @ `/brackets[1]/threshold` - `gov/states/ne/tax/income/rates/head_of_household.yaml` @ `/brackets[2]/threshold` - `gov/states/ne/tax/income/rates/head_of_household.yaml` @ `/brackets[3]/threshold` - `gov/states/ne/tax/income/rates/joint.yaml` @ `/brackets[1]/threshold` - `gov/states/ne/tax/income/rates/joint.yaml` @ `/brackets[2]/threshold` - `gov/states/ne/tax/income/rates/joint.yaml` @ `/brackets[3]/threshold` - `gov/states/ne/tax/income/rates/separate.yaml` @ `/brackets[1]/threshold` - `gov/states/ne/tax/income/rates/separate.yaml` @ `/brackets[2]/threshold` - `gov/states/ne/tax/income/rates/separate.yaml` @ `/brackets[3]/threshold` - `gov/states/ne/tax/income/rates/single.yaml` @ `/brackets[1]/threshold` - `gov/states/ne/tax/income/rates/single.yaml` @ `/brackets[2]/threshold` - `gov/states/ne/tax/income/rates/single.yaml` @ `/brackets[3]/threshold` - `gov/states/ne/tax/income/rates/surviving_spouse.yaml` @ `/brackets[1]/threshold` - `gov/states/ne/tax/income/rates/surviving_spouse.yaml` @ `/brackets[2]/threshold` - `gov/states/ne/tax/income/rates/surviving_spouse.yaml` @ `/brackets[3]/threshold` - `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/SINGLE` - `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/JOINT` - `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/SEPARATE` - `gov/states/ny/tax/income/deductions/itemized/phase_out/start.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/oh/tax/income/rates.yaml` @ `/brackets[1]/threshold` - `gov/states/oh/tax/income/rates.yaml` @ `/brackets[2]/threshold` - `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/JOINT` - `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/SINGLE` - `gov/states/ri/tax/income/agi/subtractions/social_security/limit/income.yaml` @ `/SEPARATE` - `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/JOINT` - `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/SINGLE` - `gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/income_limit.yaml` @ `/SEPARATE` - `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/SINGLE` - `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/JOINT` - `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/SEPARATE` - `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/ri/tax/income/credits/ctc/phase_out/increment.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/SINGLE` - `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/JOINT` - `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/SEPARATE` - `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/ri/tax/income/credits/ctc/phase_out/threshold.yaml` @ `/SURVIVING_SPOUSE` - `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/SINGLE` - `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/JOINT` - `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/HEAD_OF_HOUSEHOLD` - `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/SEPARATE` - `gov/states/ri/tax/income/deductions/standard/amount.yaml` @ `/SURVIVING_SPOUSE`Suggested fixes
metadata:(per-bracket, EITC-max style) so projections uprate, or replace with explicit published values where an official annual release exists (the Fix Saver's Credit AGI thresholds for 2024-2026 #8903 approach — preferable for exactness where notices publish rounded figures).values:instead of silently discarding them — this class of bug is invisible until an oracle comparison catches a stale year.Audit script: parse each parameter YAML, flag any dict node containing both
valuesandupratingkeys at the same level.Related: #8889 (the Saver's Credit instance, fixed by #8903).