Repository navigation
Conversation
WAHBE's PY2026 and PY2027 Cascade Care Savings policies cover an enrollee who "has income up to 250% of the Federal Poverty Level" (Section 4(1)(c)). The gate compared the truncated aca_magi_fraction with 2.5, so every income from 250.00% to 250.99% passed. Test the exact ratio of nonnegative ACA MAGI to the prior-year guideline instead. Exactly 250% stays eligible, as before. Tests that supplied aca_magi_fraction now supply aca_magi against a prior-year guideline of $10,000, since the gate no longer reads the fraction; new cases use the real 2025 guideline at the edge. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Draft. Done: the fix and YAML cases. Pending: full-file impact, Axiom parity line, GPT-6.1 Sol review.
Bug
wa_cascade_care_savings_eligiblecompared the truncatedaca_magi_fraction(np.floor(100 * magi / fpg) / 100) with<= 2.5. Truncation maps every income from 250.00% to 250.99% of the poverty line to 2.50, so all of them passed. WAHBE's PY2026 Cascade Care Savings Policy, Section 4(1)(c) makes an individual an eligible enrollee who "Has income up to 250% of the Federal Poverty Level"; the PY2027 policy keeps the same words. RCW 43.71.110(4)(a)(ii) leaves the threshold to the appropriation or the exchange. No source prescribes truncating the percentage."Up to 250%" leaves exactly 250% open to either reading. The model already treats it as inclusive and this PR keeps that. Income above 250% is not "up to 250%" on any reading, so the truncation sliver is unambiguous.
Executed on
main(645fcd3; the file is unchanged at 740e1eb), single filer in Washington, 2026, 2025 one-person guideline $15,650, Group 1 member:aca_magi_fractionThe end-to-end run (wages only, nothing supplied) gave the same results, since the federal credit continues to 400%.
Fix
Decide eligibility on the exact ratio
max(aca_magi, 0) / tax_unit_fpg(period.last_year), the pattern of #10305. Nothing else in Cascade Care Savings reads the fraction. Thefpl_limitcomment now says the limit applies to the exact ratio.Invariants
For every input, with the program in effect and a Group 1 or Group 3 member:
r <= 2.5,r = max(MAGI, 0) / FPG(prior year).rin (2.50, 2.51), sowa_cascade_care_savingscan only fall. Deduced:floor(100r)/100 <= 2.5holds exactly whenr < 2.51.No Hypothesis test is added: the gate is one comparison on a ratio, and the YAML cases hit the limit, 0.003 and 0.994 points above it. The repo's test-design rules keep such cases in YAML.
Tests
wa_cascade_care_savings_eligible.yaml,wa_cascade_care_savings.yamlandintegration.yamlthat suppliedaca_magi_fractionnow supplyaca_magiagainst a prior-yeartax_unit_fpgof $10,000, so each still drives the gate (the gate no longer reads the fraction; nothing else in these files did). The derived fraction outputs are unchanged.main's gate fails exactly the two new above-limit cases.mainthe same draws give 58 mismatches, all in the truncation sliver.Impact
Pending: full-file microsimulation via the US hub impact queue, 2026 and 2027.
Coordination
#10041 (draft) edits
wa_cascade_care_savings.yamland two other files in this folder and changesaca_magi_fraction's denominator to a newaca_fpg; if it lands, this gate's exact ratio should use the same denominator. Part of theaca_magi_fractionaudit (table: #10329) begun with #10305; federal edge in #10312.axiom: pending
🤖 Generated with Claude Code