Repository navigation
Apply Virginia's rules for a filer who can be claimed as a dependent - #10091
Merged
Merged
Conversation
The federal standard deduction and 17 state formulas read only whether the tax-unit head is claimed elsewhere, so a joint return where one spouse can be claimed was taxed differently depending on which spouse was labelled head. Each formula now applies its jurisdiction's rule for that case (either spouse, single filers only, per spouse, or only when every filer is claimed), using two new label-independent helpers. Adds swap-pair YAML cases and a Hypothesis property test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… barred The New Mexico, Maine and Hawaii renters gates counted filers who are not claimed elsewhere, so a tax unit with neither a head nor a spouse (252 in the default dataset) looked like one whose every filer was claimed. A new helper, every_filer_is_dependent_elsewhere, requires a claimed filer and no unclaimed one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ss EITC - Hawaii's dependent standard deduction uses earned income net of the deductible part of self-employment tax, as the N-11 worksheet does. - New Mexico's medical care credit needs a filer who is both 65 or older and not a dependent when a filer is a dependent elsewhere (NMSA 7-2-18.13). - The federal EITC without a qualifying child requires that no filer can be claimed as a dependent (IRC 32(c)(1)(A)(ii)(III), Publication 596), so Missouri's working family credit no longer reaches such a couple. - Hawaii's food/excise credit keeps minor children receiving public support (HRS 235-55.85(c)) on a joint return where one spouse can be claimed. - Comments label the readings the law does not settle, and the property test covers the EITC and the food/excise exemption amount. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… meaning - The federal and Oregon dependent worksheets use earned income net of the deductible part of self-employment tax, as Hawaii's now does. - Hawaii's food/excise minor-child count excludes children who can be claimed by another taxpayer and the filers themselves (Form N-311 line 3). - claimed_as_dependent_on_another_return documents what it stands for: a §151 deduction for the person is allowable to another taxpayer, so a person whose would-be claimer files only for a refund is not one (Publications 501 and 596); rules on actually being claimed read it too. - Hawaii's renters comment labels the mixed joint reading as an inference; the Hawaii dependent threshold cites HRS 235-2.4(a)(3) on its page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A filer who can be claimed on another return is treated as having no dependents (IRC 152(b)(1); on a joint return either spouse counts) and has no personal exemption (IRC 151(d)(2)); one who is claimed gets no education credits (25A(g)(3)), student loan interest deduction (221(c)) or recovery rebate (6428(d)(2), 6428A(d)(2), 6428B(c)(2)). The model read none of these. Now the child tax credit and credit for other dependents, the under-13 child and dependent care qualifying person, exemptions_count and its RI, DE, OH, OR, WI, HI and NM readers, the recovery rebates, the education credits and the student loan interest deduction apply them symmetrically for joint returns. Georgia keeps its own counts; the HI, WI and Treasury exemption reforms follow the corrected count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The standard deduction of a filer who can be claimed is computed "only with respect to earned income" (Va. Code 58.1-322.03(1)(b)); on a joint return either spouse being claimable caps the joint deduction at the couple's earned income. - Personal exemptions count only filers who cannot be claimed and, when no filer can be, the dependents (58.1-322.03(2)(a), IRC 151(d)(2), 152(b)(1)). - Aged and blind exemptions go to aged or blind filers, not dependents, and survive claimability (58.1-322.03(2)(b)). - Both Virginia EITC alternatives bar a return on which either spouse can be claimed, as the low-income credit already does (58.1-339.8(B)(1)). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Child and dependent care: childcare expenses do not count on a return with a claimable filer unless a child under 13 still qualifies (IRC 21(b)(2)(A)(ii)). - Tuition and fees deduction: not allowed to a filer who can be claimed (IRC 222(c)(3)), so the education credit bar no longer makes such a filer eligible. - Recovery rebates: the Armed Forces exception waives the identification rule only, not the exclusion of a spouse who is another taxpayer's dependent. - Georgia: the contributed refundable credit and SB 520 reforms count the same children as ga_ctc_potential through a new ga_ctc_eligible_child. - Education credits and student loan interest read the claimed input directly, since IRC 25A(g)(3) and 221(c) turn on an actual claim. - One reference per source document; quote IRC 24(h)(4)(A) exactly. - Tests: mixed-recipient care, tuition deduction, military rebates, Georgia refund cap, and the swapped New Mexico rebate case; the property test now covers the state readers of the exemption count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Low-income credit: a blind or aged dependent still bars the credit (Va. Code 58.1-339.8(D)(4)); this came from counting dependents in the aged and blind exemption, which now goes to filers only. - Standard deduction: document the earned income measure used for the limit. - EITC alternatives: cite 58.1-339.8 and the instructions page with the dependent bar. - Tests: blind and aged dependents, person-level personal exemptions, and the aged exemption under both labellings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/exemptions/personal/oh_personal_exemptions_eligible.yaml
#10024 now separates three facts: is claimed, can be claimed, and the would-be claimant's filing exception. - IRC 152(b)(1) gates (child tax credit, credit for other dependents, under-13 care child and its expenses, dependents in exemptions_count, ARPA dependents, Ohio dependents, the Hawaii and Wisconsin reforms) read head_or_spouse_is_dependent_elsewhere_without_filing_exception, so a filer within the Publication 501 exception keeps their dependents. - Own exemptions, recovery rebates and the tuition deduction read claimability. - Education credits and student loan interest keep reading the claimed input. - Tests: the filing exception and a filer who can be claimed but is not. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dependents' exemptions read the claimable-and-not-within-the-filing-exception helper; the filer's own exemption, the standard deduction limit and the EITC alternatives read claimability. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#10024's food/excise credit, Act 115 rebate and renters credit took claimable filers off exemptions_count themselves. exemptions_count now leaves them out (and, outside the filing exception, the return's dependents), so those credits read it as it is; the filing-exception cases were one exemption short. The renters credit also leaves out a dependent who can be claimed by another taxpayer (Schedule X counts only people who cannot be), as the food/excise credit already did. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Education credits: a dependent student is not eligible on a return whose filer can be claimed outside the filing exception (IRC 25A(f)(1)(A)(iii), 152(b)(1)); the filer's own eligibility still turns on an actual claim. - Recovery rebates: no credit when every filer is a dependent of another taxpayer (IRC 6428B(a)); the CARES and CAA child prerequisite is a spouse with a valid SSN, whether or not that spouse is an eligible individual. - Child and dependent care: cdcc_qualifying_childcare_expenses holds the expense rule, and the single-parent work requirement reform and California's expenses read it. - References: Georgia HB 136 page 3; one entry per recovery rebate statute; quote IRC 24(h)(4)(A) exactly in the test comment. - Tests: dependent students, the two rebate cases, the reform and California expenses, and the Hawaii, Wisconsin and Treasury reforms with a claimable filer under both labellings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The reform recomputed personal exemptions from filing status and structural dependents; it now leaves out a filer who can be claimed and, outside the claimant filing exception, that return's dependents, as the baseline does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Education credits: is_barred_from_education_credits_by_dependency holds the claimed-filer and dependent-student rules; both eligibility formulas and the reconciliation SSN reform's Lifetime Learning Credit read it, so the reform no longer turns a barred student's tuition into that credit. - Child and dependent care: childcare counts when any child under 18 is still a qualifying individual, so an incapacitated child aged 13 to 17 keeps it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Setting meets_eitc_identification_requirements on one person made it an input for every person, so the other spouse lost their SSN too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
Hand-off to the US + core hub
Pending (not mine to do):
Follow-ups: listed in #10087 under "Follow-ups"; the hub holds the regional state PRs stacked on the federal branch. Session |
This was referenced Oct 11, 2026
Keep reviewed main versions of the shared NM and CA credit files. Preserve the Virginia low-income eligibility changes and tests, and retain main deletions of consumed federal changelog fragments. The main-relative diff exactly matches the original Virginia-only diff.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #10091 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 4 6 +2
Lines 76 98 +22
Branches 2 0 -2
=========================================
+ Hits 76 98 +22
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Contributor
Author
|
US + core hub merge audit, us#10091 at
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Virginia limits the standard deduction of a filer who can be claimed as a dependent to earned income, ties personal exemptions to those allowable federally, and bars a dependent's return from its EITC alternatives. The model applied none of these, and it also gave the $800 aged/blind exemption to aged or blind dependents.
Builds on #10024 (which bars the low-income credit when either spouse can be claimed) and the federal claimable-filer PR #10087, both now merged into main.
va_standard_deductionearned_income(wages and net self-employment earnings), with each filer's loss floored at zerova_personal_exemption_personva_personal_exemptionkeeps the same eligibility (its dependent amount and phaseout stay configurable)va_aged_blind_exemption_personva_low_income_tax_credit_eligibleva_refundable_eitc_if_claimed,va_non_refundable_eitc_if_claimedNot changed: the spouse tax adjustment, age deduction and 2022-2024 rebates have no claimable-filer rule. The contributed state dependent-exemption repeal reform (
repeal_state_dependent_exemptions) is not fixed here: its overrides still give a claimable filer the $930 exemption. A separate branch (repeal-state-dep-exemptions-claimable-filer) is changing them; that work is pending and must read the "can be claimed" input.Readings for Max (queue via the US + core hub)
Known limits of the inputs
earned_incomealso includes self-employment amounts that are not pay for services (for example equipment-deduction recapture); the model does not separate them.Which fact each rule reads (#10024 separates them): the standard deduction limit, the filer's own exemption and the EITC alternatives read whether a filer can be claimed; dependents' exemptions read whether a filer can be claimed and the filing exception does not apply (Pub. 501), so a filer within the exception keeps the dependents' $930 but not their own.
Invariants
Tests
77022436b2: the changed YAML files and the test folders next to every changed variable (45 files): 247 passed, 0 failed.policyengine_us/tests/core/test_claimable_filer_va_invariants.pyfor 2023, 2025 and 2026, on tax-unit totals. Hypothesis batches check invariant 1; a seeded population checks 1 and 2. Invariant 3 is checked by the microsimulation below, where no filer is claimed. 4 tests passed, 0 failed, in 20 s with a peak memory footprint of 1.1 GB (/usr/bin/time -l).Hub microsimulation impact (current head)
A real microsimulation on the default dataset, main at the merge base
13eddbfaafagainst this PR's head50fb063e88, for 2025 and 2026. The runs went one at a time under the shared heavy-job lock. Sums are weighted.va_income_taxva_low_income_tax_creditva_eitcva_standard_deductionva_personal_exemptionstate_income_taxincome_taxhousehold_net_incomehousehold_benefitsThe change comes from
va_aged_blind_exemption_person. It now gives Virginia's aged and blind exemption only to a filer (head or spouse), as Va. Code 58.1-322.03(2)(b) grants it to "each blind or aged taxpayer". Main also gave it to aged or blind dependents, so units with such a dependent lose that exemption and pay more Virginia tax: 2 records in each year. The PR's claimability rules can't change any record on the default dataset, which has noclaimed_as_dependent_on_another_returninput.Comparison files are in
fixes/10091-impact/on the hub host.Microsimulation impact
Real microsimulations on the default dataset (
hf://datasets/policyengine/populace-us/populace_us_2024.h5@populace-us-2024-spm-20260909) for 2025 and 2026, compared record by record. In that dataset no person can be claimed as a dependent on another return (claimable_as_dependent_on_another_returnis true for 0 of 166,321 people), so every rule gated on it is inactive there; the runs check that nothing else moves.This stack's federal branch (
35a2cbcbb9) against a local merge of the four state branches onto it (13d24ac157). Each state branch changes only its own state's variables, so the comparison is split by state.household_net_income (Virginia households)va_aged_blind_exemptionhousehold_net_income (Virginia households)va_aged_blind_exemptionWhat changes: three tax units with a blind dependent (aged 22, 44 and 61) no longer get that dependent's $800 aged/blind exemption, which Va. Code 58.1-322.03(2)(b) gives only to "each blind or aged taxpayer". Their Virginia tax rises by $46 (or stays $0). No low-income credit changes: the bar for a blind or aged dependent is kept.
Axiom parity
axiom: us-va/statutes/58.1/58/1-322/03(1)(b) queued (VA1: TheAxiomFoundation/rulespec-us#1692) | us-va/statutes/58.1/58/1-322/03(2)(a) queued (VA1: TheAxiomFoundation/rulespec-us#1692) | us-va/statutes/58.1/58/1-322/03(2)(b) queued (VA1: TheAxiomFoundation/rulespec-us#1692) | us-va/statutes/58.1/58/1-339/8 queued (VA1: TheAxiomFoundation/rulespec-us#1692) | Virginia dependent-exemption reform n/a: reform-only implementation preserves baseline eligibility; no additional Axiom consequence
Every
queueditem is ape-parityissue filed in TheAxiomFoundation/rulespec-us on 2026-10-12 (verbatim law, required outputs, review finding, companion tests).Merge with main after #10087
Merged
main(13eddbfaaf) after #10087 with a merge commit. Took main's reviewed versions ofnm_medical_expense_credit.py,nm_medical_expense_credit.yaml, andca_cdcc_relevant_expenses.yaml; this branch had not changed them since its federal base. Retained this PR's explicit aged/blind-dependent bar and added cases inva_low_income_tax_credit_eligible.pyandva_low_income_tax_credit_eligible.yaml, since main matched their federal-base versions. Preserved main's deletion of the two consumed federal changelog fragments.The diff against main is byte-for-byte identical to the original Virginia-only diff,
35a2cbcbb9..77022436b2(16 files).Validation: all eight changed test files passed (75 tests, 0 failures), run one file per process with the required thread caps. Ruff 0.15.5 format/check passed on all eight changed Python files;
make formatpassed without changes.Merged current
main(5ec60b209a) and split the Virginia exemption reform tests by reform combo:exemption_reform_test.yaml(6 cases, 5 combos) andexemption_reform_claimable_filer_test.yaml(4 cases, 1 combo), preserving all 10 cases unchanged and keeping each file within the 5.0 per-file budget. The reform-combo budget check and both resulting YAML files passed.🤖 Generated with Claude Code