Skip to content

Register existing local taxes in the program coverage registry#8751

Open
DTrim99 wants to merge 1 commit into
PolicyEngine:mainfrom
DTrim99:local-tax-registry-cleanup
Open

Register existing local taxes in the program coverage registry#8751
DTrim99 wants to merge 1 commit into
PolicyEngine:mainfrom
DTrim99:local-tax-registry-cleanup

Conversation

@DTrim99

@DTrim99 DTrim99 commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

What this does

First step of the local-tax build-out (see roadmap in the linked issue thread): registers the local taxes that are already modeled but were missing from the program coverage registry.

programs.yaml previously listed only 3 local entries (NYC income tax, SF WFTC, Montgomery County EITC), even though many local taxes are fully implemented. The model coverage page / /us/metadata therefore understated local coverage. This PR adds 10 entries:

Program Variable Coverage
Philadelphia wage tax pa_philadelphia_wage_tax Philadelphia, PA
Kansas City earnings tax mo_kansas_city_earnings_tax Kansas City, MO
St. Louis earnings tax mo_st_louis_earnings_tax St. Louis, MO
Indiana county income tax (LIT) in_county_tax All 92 IN counties
Maryland county income tax md_local_income_tax_before_credits All MD counties + Baltimore City
Multnomah Preschool for All or_multnomah_pfa_tax Multnomah County, OR
Denver occupational privilege co_denver_employee_occupational_privilege_tax Denver, CO
Glendale occupational privilege co_glendale_employee_occupational_privilege_tax Glendale, CO
Greenwood Village occupational privilege co_greenwood_village_employee_occupational_privilege_tax Greenwood Village, CO
Sheridan occupational privilege co_sheridan_employee_occupational_privilege_tax Sheridan, CO

Notes

  • Metadata only — no calculation logic changes. Each entry references an existing household-facing variable (all verified present) and matches the existing nyc_income_tax entry schema.
  • Investigated cleanup items that turned out to need no action: Aurora CO is not modeled (its OPT repeal needs no change); the Mamdani NYC proposal is correctly reform-only (not in baseline); MD/IN/Multnomah already have tests.
  • Employer-side taxes (Seattle payroll, TriMet/Lane, NY MCTD, St. Louis payroll expense) are intentionally not registered as household taxes.
  • Follow-ups in the roadmap: standardize the local-tax aggregation, and add small new taxes that fit existing geography (KY Louisville/Lexington, NY Yonkers, DE Wilmington).

🤖 Generated with Claude Code

programs.yaml previously listed only 3 local entries (NYC income tax, SF
WFTC, Montgomery County EITC) despite many local taxes being fully modeled.
Add registry entries for the modeled-but-unregistered local taxes so they
appear on the model coverage page / /us/metadata:

- Philadelphia wage tax
- Kansas City and St. Louis earnings taxes
- Indiana county income tax (LIT)
- Maryland county income tax
- Multnomah County Preschool for All tax
- Denver / Glendale / Greenwood Village / Sheridan occupational privilege taxes

No calculation logic changes; registry metadata only. Each entry references
an existing household-facing variable (verified) and matches the existing
entry schema.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant