Repository navigation
Add Oregon state supplementation for 2026 - #10166
Conversation
…d tests - Replace builtin sum() over entity calls with a loop; move excluded sources to a parameter - One program-neutral helper (payment excluding the in-home supplement) for SNAP and HUD, with its own references - Revert shared SNAP comment and HUD metadata edits; registry placement and comments; SNAP title; programs.yaml note - Accept reported SSI receipt for the in-home supplement; keep it out of the suspended-SSI category - Governing OAR citations and page anchors - Realistic couple integration case; SNAP/HUD flow, available-income and reported-receipt cases Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Review: Add Oregon state supplementation for 2026PR #10166 (author: hua7450, head SummaryThe PR adds Oregon's state-administered supplement, which Oregon pays as Oregon Supplemental Income Program Medical (OSIPM) special-needs payments:
Most of the 2026 policy content is right:
Four should-fix items remain:
Critical (must fix)None. Should address1.
2. Three parameter descriptions don't follow the house template.
3. The nursing-facility personal-incidentals payment (OAR 461-155-0250(4)(c)) is neither modeled nor listed as excluded.
4. The SNAP wiring counts special-needs payments that Oregon's SNAP rule excludes.
Suggestions
Verified correct
Batch checks
Axiom line assessmentInvalid (Should 1).
CI statusAll 26 checks pass (
Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
The 2026 amounts ($22, $773, $90, $994/$1,491) match OAR 461-155-0250/0270/0575/0700 and OEP-PT-25-045, the formulas match the rules, and all 33 cases check by hand. Four should items (see the comment above): (1) 'axiom: needed' isn't valid for staff, and rulespec-us has no OR SSP module, so file a pe-parity issue and add a queued line; (2) three descriptions are off the template; (3) the nursing-facility personal-incidentals payment (OAR 461-155-0250(4)(c)) is neither modeled nor listed as excluded (an SSI-only NF resident should get 49.07, not 0); (4) SNAP counts or_ssp_excluding_in_home_supplement, but OAR 461-145-0410(7)(c)(D) excludes all these special needs from SNAP (integration Case 6 SNAP is 306 instead of 1,914 a year).
- Model the OAR 461-155-0250(4)(c) nursing facility payment. - Stop counting the special-need payments as SNAP income (OAR 461-145-0410(7)(c)(D)); keep them in HUD as or_ssp_countable_for_hud. - Replace the partial-month days and available room-and-board income formula inputs with zero-default inputs (partial-month days, care liability, inaccessible income), so entering one for one person leaves others unchanged. - Update descriptions, references (ch461rules host, ORS 411) and the reduced VA pension date, and add tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, David. The fixes are in badb1c9, followed by a merge of Should 1 (Axiom line): filed TheAxiomFoundation/rulespec-us#1781 (
The source conflicts are in a separate comment on that issue, and the axiom line now points to it. Should 2 (descriptions): the three files use your sentences. Should 3 (nursing facility payment): modeled. A new
Should 4 (SNAP): removed from SNAP, as you suggest.
Suggestion 1 (history): out of scope, and I didn't widen #9042.
Suggestion 2 (Texas rebate copy): #10226 tracks one Suggestion 3 (readings and aggregates):
Suggestion 4 (references):
Suggestion 5 (polish): I kept the blank lines before One more fix I found:
They are replaced by zero-default inputs:
Related test changes:
On the merged head, these pass locally: all 492 Oregon cases (SSP and tax), the SNAP and HUD suites, and the aggregate list integrity and program registry tests (677 passed, 10 skipped). |
A formula-less monthly input carries forward to later months, so a partial month also prorated every month after it. A formula that returns 0 keeps a one-month entry to that month. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
One follow-up to my reply, in 3311c3b. In policyengine-core, a monthly input with no formula carries forward to later months, so |
PR Review (round 2): Add Oregon state supplementation for 2026PR #10166 (author: hua7450). This round reviews head
SummaryZiming fixed all four round-1 should items:
He also acted on Suggestions 3 and 4, and gave reasons for the rest, which I accept. On his own he found that entering a formula-backed input for one person reset everyone else to 0. He replaced those inputs with zero-default ones, stopped partial-month days from carrying into later months, and pinned both fixes (Cases 32–34). One new should item.
This mirrors NH #10156 and OK #10165. Those states count gross wages, but the code used SSI's net figure. Here Oregon follows SSI, but the code counts gross. The premium half first showed up when #10046 arrived in this round's merge. The loss half was already there in round 1, where I listed the per-source floor as verified; that was my miss. One optional suggestion: the case counts in the body and in #1781. CI is 27/27 green on the head. The branch is 56 commits behind Prior findings status
New findingsCritical (must fix)None. Should address1. Oregon's countable earned income counts salary-reduction health premiums that OSIPM leaves out, and it drops self-employment losses that OSIPM nets against wages.
Suggestions1. Update the case counts.
Verified
Axiom line assessmentValid:
CI status27 pass, 0 pending, 0 failed (run 38818622041 on head
Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes for 1 new should item; details in the round-2 report above. All four round-1 should items are fixed: rulespec-us#1781 is queued, the descriptions are corrected, the 0250(4)(c) nursing-facility payment is $79.07, and the SNAP exclusion follows 0410(7)(c)(D). The zero-default and partial-month fixes check out, and CI is green. New Should 1: or_ssp_countable_income sums raw employment_income and floors each earned source at 0, but OSIPM follows SSI here. It excludes cafeteria-plan health premiums not taken as cash (OAR 461-145-0120(5)(b), exposed by #10046 in this round's merge), and it nets documented self-employment losses against other earned income (461-150-0095(2), which my round 1 missed). Examples: $1,200 of premiums gives 0 at head versus 94, and a $2,400 self-employment loss gives 0 versus 194. Fix: use max_(ssi_earned_income, 0) plus the unearned sources only, add two cases and a NOTE, and update #1781. Branch note: 56 behind main and conflicting in all five shared lists; keep both lines.
OSIPM follows SSI here: salary-reduction cafeteria premiums are not wages (OAR 461-145-0120(5)(b)) and a self-employment loss offsets other earnings (461-150-0095(2)), so the countable income uses ssi_earned_income floored at 0. A NOTE records the 461-140-0040(4) gross rule and the financial-group offset that is not modeled. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, David. This round's changes are in 1dd63f0, with Should 1, cafeteria-plan premiums and self-employment losses in countable income: fixed.
Suggestion 1, the case counts: fixed. The body and TheAxiomFoundation/rulespec-us#1781 now say 37 in CI: the red jobs come from one test, 44 Oregon SSP cases pass locally (37 in |
PR Review (round 3): Add Oregon state supplementation for 2026PR #10166 (author: hua7450). This round reviews head
SummaryZiming fixed the round-2 should item as I proposed it, and the optional suggestion too.
The wage lesson (NH #10156 round 3, OK #10165) is now resolved for Oregon, in the direction the rule requires.
Merge resolutions. All five hand-resolved files keep both sides.
Other checks.
Every new expectation checks by hand (3 cases, 9 outputs). CI and branch.
Prior findings status
New findingsCritical (must fix)None. Should addressNone. Suggestions1. Say in the registry notes that microsimulation pays no Oregon SSP (optional).
Verified
Axiom line assessmentValid:
CI status25 pass, 2 fail, 0 pending (
Branch status
Verdict: APPROVE |
DTrim99
left a comment
There was a problem hiding this comment.
Round 3: the wage-count item is fixed. Salary-reduction premiums now drop out under OAR 461-145-0120(5)(b), and a worker with $1,200/yr of pre-tax premiums gets $94 (it was $0). All five hand-resolved merge blocks keep every sibling's line and add Oregon's once. The two red checks are the known FL/SD LIHEAP ratchet failure from before #10334, so merge main and re-run. One optional suggestion. Full report in the comment above.
Each sibling SSP PR adds its line to the same unsorted lists, so the entries now sit at different anchors and the PRs merge without conflicts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What and why
Oregon's state supplement was missing from PolicyEngine-US. Add
or_sspfor 2026. Oregon administers it itself and pays it as Oregon Supplemental Income Program (OSIP) special-need payments to people eligible for OSIP Medical (OSIPM), under ORS 411.704 and 411.706 and OAR chapter 461.or_ssp_category.or_ssp_partial_month_days,or_ssp_care_liability,or_ssp_inaccessible_income,or_ssp_spousal_diversion_differenceandor_ssp_approved_initial_room_boardall default to 0, so entering one for one person leaves other household members unchanged.The payment is added to the household and SPM benefit totals. HUD counts it except the in-home supplement (
or_ssp_countable_for_hud; 24 CFR 5.609(b)(19)). SNAP doesn't count it: OAR 461-145-0410(7)(c)(D) excludes these special-need payments as reimbursements.References
Additional section and page citations are included alongside the parameters and formulas.
Coverage limits
The registry marks Oregon as partial, verified for 2026.
Not modeled:
Earlier years use parameter backfilling and are unverified historical estimates; no historical coverage is claimed.
Related:
spm_unit_benefits(such as the Texas rebate's), which this PR leaves unchanged.Test plan
or_ssp.yaml, 7 inintegration.yaml) pass locally on this branch merged withmainat 1f678c7. They cover:ruff formatandgit diff --check.changelog.d/.axiom: ORS 411.704, 411.706; OAR 461-155-0250, -0270, -0575, -0630, -0700 TheAxiomFoundation/rulespec-us#1781 queued