policyengine-us now has a clearer has_tin / taxpayer_has_tin naming layer, but it still keeps has_itin and taxpayer_has_itin as temporary compatibility aliases while downstream users migrate.
That is the right short-term tradeoff, but we should clean it up once the data side has a proper TIN imputation.
Follow-up work
- Treat
has_tin / taxpayer_has_tin as the canonical public variables.
- Migrate remaining call sites, tests, docs, and comments that still say "ITIN" when they really mean "TIN".
- Remove the temporary
has_itin / taxpayer_has_itin aliases once downstream users and datasets have migrated.
- Recheck reform and state code that distinguishes SSN-only rules from broader TIN rules, so the final naming matches the legal concept.
Blocker / dependency
This should happen after policyengine-us-data models TIN status directly rather than inferring it from ssn_card_type != NONE.
Related data issue: PolicyEngine/policyengine-us-data#712.
policyengine-usnow has a clearerhas_tin/taxpayer_has_tinnaming layer, but it still keepshas_itinandtaxpayer_has_itinas temporary compatibility aliases while downstream users migrate.That is the right short-term tradeoff, but we should clean it up once the data side has a proper TIN imputation.
Follow-up work
has_tin/taxpayer_has_tinas the canonical public variables.has_itin/taxpayer_has_itinaliases once downstream users and datasets have migrated.Blocker / dependency
This should happen after
policyengine-us-datamodels TIN status directly rather than inferring it fromssn_card_type != NONE.Related data issue: PolicyEngine/policyengine-us-data#712.