Repository navigation
Use Alaska's 2015 to 2021 dividend payments, and stop carrying energy relief past 2026 - #10692
Merged
Merged
Conversation
…o 2021 The dividend and energy relief parameters started in 2022, so every modeled year from 2015 to 2021 carried 2022's $2,622 dividend and $662 energy relief back. Alaska paid a dividend of $2,072, $1,022, $1,100, $1,600, $1,606, $992 and $1,114 in those years, and no energy relief (PFD Division summary table; 2019 and 2021 annual reports). From 2027, energy relief is zero until a budget appropriates a payment, since each payment needs its own appropriation. The 2026 dividend still carries forward, and its parameter now says so. The 2022 and 2023 references pointed to the PFD Division's tax page, which now covers only 2025 and 2026; they now cite DOR release 23-002 and the 2023 annual report. The 2026 energy relief cites sec. 13, ch. 34, SLA 2026 in place of a news report. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ished totals The 2026 energy relief reference now points at sec. 13 of ch. 34, SLA 2026 from page 84, where it begins, through page 85, where it appropriates the $200 payment. A new property test checks each year's dividend plus energy relief against the PFD Division's published whole payment, and draws later years to check the carry-forward. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A new section of docs/validation/alaska-pfd.md lists each year's dividend and energy relief from 2015 to 2026 with its source, and the convention from 2027. The changelog fragment now names who sets each amount. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
marked this pull request as ready for review
November 7, 2026 18:26
amounts() called system.parameters(instant). For each year Hypothesis drew, policyengine-core evaluated every parameter in the model at that instant and kept the result for the rest of the process. Calling the two parameters with the instant returns the same values. Locally, the module's 15 tests now take about 0.1 s after the import, down from 13 s, and the process peaks at 1.01 GB, down from 3.24 GB. The import alone peaks at 0.99 GB. On main's parameters, the same 8 of the 15 tests still fail. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Alaska, its Legislature, DOR and PolicyEngine now act in the parameter comments, test names, docstring, docs section and changelog fragment, in place of budgets, laws and the model. No value or test expectation changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ch case by what it checks - energy_relief.yaml: quote the appropriation with its $127,340,800 estimate, and say the Legislature put the $200 first in line for fiscal 2026 revenue above $6.3 billion, counting the sec. 25(c) appropriation, that remained after the year's other appropriations, up to $700 million. - docs/validation/alaska-pfd.md: cite DOR release 25-004 for 2025's $0 energy relief. - The test docstring states invariant 2 for 2015 to 2100, the range its property draws. - The dividend cases for 2015 to 2021 name the amount Alaska paid, and Cases 13 and 14 name the gross income and AGI they check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Move the sec. 25(c) appropriation out of the 2026 energy relief comment's revenue sentence and into a sentence of its own, and name the earnings reserve account it comes from. - Name the $50,000 of wages in Cases 13 and 14, which their federal gross income and AGI add to the dividend. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
I merged this at 08671a1 with an admin override, since branch protection requires an approving review and GitHub doesn't let me approve my own PR. An independent Opus 5.5 reviewer agreed at 267f126 and again in delta reviews at 4477f5f and 08671a1. Every CI check passed at 08671a1 except the GitHub Pages deploy, which runs only on main. |
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.
Fixes #5148.
On main,
gov.states.ak.dor.permanent_fund_dividendandgov.states.ak.dor.energy_reliefstart in 2022. So PolicyEngine carries 2022's $2,622 dividend and $662 energy relief back to every year from 2015, its first modeled year, to 2021. It also carries 2026's $200 energy relief forward to every later year.PolicyEngine now uses the amounts Alaska paid for 2015 to 2021 and sets energy relief to zero from 2027:
Sources
This PR adds an "Amounts by year" section to
docs/validation/alaska-pfd.md, with each year's amounts, sources and the 2027 convention.Impact
For example, an Alaska resident with $50,000 of wages had federal gross income and AGI of $52,622 for 2019 on main. On this branch, both come to $51,606: the wages plus 2019's $1,606 dividend.
From 2027, PolicyEngine models no Alaska energy relief; on main, it carries 2026's $200 forward. We estimate the difference at $151 million for 2027: $200 each for the 756,512 Alaska residents in PolicyEngine's default Microcosm data, which it uprates from 2024. PolicyEngine counts every Alaska resident as eligible, while the Legislature estimated 2026's $200 payment at $127,340,800, enough for 636,704 people.
On main, PolicyEngine adds energy relief only to
household_benefitsandspm_unit_benefits, so household and SPM unit net income fall by $200 for each person. For example, a married couple with a six-year-old loses $600 of household and SPM unit net income for 2027 when one parent earns $0, $15,000 or $50,000. Their SNAP and household tax don't change.Scripts for the 2027 figures
Invariants
policyengine_us/tests/test_ak_permanent_fund_dividend_amounts.pychecks the first as a differential test against the published totals, and the other two as Hypothesis properties over years. On main's parameters, 8 of its 15 tests fail: the seven totals for 2015 to 2021, and the property from 2027.Tests
ak_permanent_fund_dividend.yamlandak_energy_relief.yamlcover each year from 2015 to 2021 and 2027, with the federal gross income and AGI of 2019 and 2027 filers. On main, 17 of the 18 new cases fail; the 2027 dividend case passes on both, since main also carries $1,000 forward.test_household_spm_resource_parity.py(57 tests) and the code-health suite (533 passed, 1 skipped).test_spm_system.py(153 tests), plus the Alaska, market income and Colorado addback YAML tests (116 cases).With #10669
With #10669, PolicyEngine counts energy relief in federal gross income from 2024. #10669 merges cleanly with this branch in either order. Its tests cover 2021 to 2026, and its only pre-2022 case checks that no taxable energy relief counts, which holds here too. If #10669 lands first, the couple still loses $600 of household and SPM unit net income for 2027 when one parent earns $0 or $15,000. When one parent earns $50,000, they pay $103.92 less household tax, so their household net income falls by $496.08. They also get $51.13 more premium tax credit and pay that much less in Marketplace premiums, so their SPM unit net income falls by $444.95.
axiom: TheAxiomFoundation/rulespec-us#2066 queued
🤖 Generated with Claude Code