Skip to content

Apply Virginia's rules for a filer who can be claimed as a dependent - #10091

Draft
MaxGhenis wants to merge 9 commits into
claimable-filer-federalfrom
claimable-filer-va
Draft

MaxGhenis wants to merge 9 commits into
claimable-filer-federalfrom
claimable-filer-va

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

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.

Stacked on the federal claimable-filer PR and on #10024 (which bars the low-income credit when either spouse can be claimed).

Formula Rule now Source
va_standard_deduction When either filer can be claimed, the deduction is the lesser of the status amount and the filers' earned income (no floor). Earned income is the model's earned_income (wages and net self-employment earnings), with each filer's loss floored at zero Va. Code 58.1-322.03(1)(b): computed "only with respect to earned income"; 760 instructions p.19: "limited to the amount of your earned income"; one joint taxable income under 58.1-324(B)(1)
va_personal_exemption_person $930 for each filer who cannot be claimed, and for dependents unless a filer can be claimed and the filing exception does not apply. The dependent exemption reform's va_personal_exemption keeps the same eligibility (its dependent amount and phaseout stay configurable) 58.1-322.03(2)(a): "each personal exemption allowable to the taxpayer for federal income tax purposes"; IRC 151(d)(2), 152(b)(1); 760 instructions: "the same number of dependent exemptions allowed on your federal return"
va_aged_blind_exemption_person Aged or blind filers only (dependents no longer count); claimability does not matter 58.1-322.03(2)(b): "Each blind or aged taxpayer"
va_low_income_tax_credit_eligible Unchanged in effect: a blind or aged dependent still bars the credit. That came from counting dependents in the aged and blind exemption; it is now an explicit condition 58.1-339.8(D)(4): no credit when "any person claimed as a dependent ... claims" the additional exemption for blind or aged taxpayers "on his or their income tax return"
va_refundable_eitc_if_claimed, va_non_refundable_eitc_if_claimed $0 when either filer can be claimed 58.1-339.8(B)(1): "shall not be allowed against such tax of a dependent"; matches the low-income credit

Not 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)

  1. Standard deduction, one claimable spouse. This PR caps the whole joint deduction at the couple's earned income (one joint taxable income). Alternatives: per-spouse halves ($10,750 in the test household instead of $12,000), or a cap only when both are claimable ($17,500).
  2. Own $930 exemption of a claimable filer. Denied here through the statute's federal link. Virginia Tax's web page says "Each filer is allowed one personal exemption", which would keep it ($930 more per claimable filer).
  3. EITC alternatives, one claimable spouse. Whole joint return barred, like the low-income credit; no allocation rule exists for the alternative.
  4. EITC alternatives: can be claimed or is claimed. Virginia Tax's guidance on the credits says "claimed as a dependent"; the statute bars the credit "against such tax of a dependent", and Virginia follows federal definitions. This PR reads the "can be claimed" input for the credits. Reading the "is claimed" input is the alternative. (The standard deduction is not in question: the statute and the instructions both use "can be claimed".)

Known limits of the inputs

  • A dependent's own return. Va. Code 58.1-339.8(D)(4) bars the low-income credit when a dependent claims the additional exemption for blind or aged taxpayers on their own return. The model has no input for a dependent's own return, so a blind or aged dependent is taken to claim it (as before this PR). Assuming no such claim would allow a $600 credit in a two-person household under the poverty line.
  • Earned income. 23VAC10-110-143 counts wages, salaries, professional fees and other pay for services. The model's earned_income also 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

  1. Swap invariance of every changed output under either head/spouse labelling.
  2. Monotonicity. Marking another filer as claimed never raises any changed output.
  3. Unchanged when no filer can be claimed (a filer who can be claimed but is not claimed does trigger these rules), except the aged/blind exemption, which no longer counts dependents (the low-income credit's bar for a blind or aged dependent is kept).

Tests

  • YAML: variable-named cases for every changed formula. Each joint case with a claimable spouse appears under both head/spouse labellings, with person-level checks of which spouse keeps the personal exemption. Run locally at 77022436b2: the changed YAML files and the test folders next to every changed variable (45 files): 247 passed, 0 failed.
  • Property test policyengine_us/tests/core/test_claimable_filer_va_invariants.py for 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).

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_return is 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.

  • 2025:
Variable (weighted total) Base This change Difference Records changed (weighted)
household_net_income (Virginia households) n/a n/a -159,716 2 (3,472)
va_aged_blind_exemption $1,259,102,307 $1,256,324,516 -2,777,791 3 (3,472)
  • 2026:
Variable (weighted total) Base This change Difference Records changed (weighted)
household_net_income (Virginia households) n/a n/a -160,857 2 (3,497)
va_aged_blind_exemption $1,268,093,692 $1,265,296,064 -2,797,628 3 (3,497)

What 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 queued item is a pe-parity issue filed in TheAxiomFoundation/rulespec-us on 2026-10-12 (verbatim law, required outputs, review finding, companion tests).

🤖 Generated with Claude Code

MaxGhenis and others added 9 commits October 9, 2026 12:28
- 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>
- 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>
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>
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>
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Hand-off to the US + core hub

  • Head: 77022436b2
  • Independent review: APPROVE at f5f0b31999 (GPT-6.1 Sol, round 3). The current head only merges the reviewed federal head 35a2cbcbb9 into it; this PR's own diff is byte-identical to the reviewed one. Verdict file: ~/reviews/us-hub/claimable-filer-rules/reviews/r3/out-va.md.
  • Passed locally: 45 YAML files: 247 passed, 0 failed; property test 4 passed. Also: a sweep of every YAML file in the repo that sets a dependent-elsewhere input (115 files) on a merge of all five branches, 0 failed; microsimulations for 2025 and 2026 (details in the PR body).
  • Depends on: Apply the federal rules for a filer who can be claimed as a dependent #10087 and Make rules for a filer claimed elsewhere independent of which spouse is labelled head #10024. A branch with Virginia's credit exclusions (va-credit-exclusions-d) is stacked on this one and rewrites va_low_income_tax_credit_eligible; it must keep this PR's blind/aged-dependent bar.

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 local_0143a3e8-4ab1-4492-8aab-9140b74e67e5 is closing; the hub owns this PR from here.

This branch has not been deployed

No deployments
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