Skip to content

Decide CA Premium Subsidy eligibility on the exact FPL ratio and adopt the Final 2027 design - #10305

Merged
MaxGhenis merged 17 commits into
mainfrom
ca-premium-subsidy-165-exact-ratio
Oct 26, 2026
Merged

MaxGhenis merged 17 commits into
mainfrom
ca-premium-subsidy-165-exact-ratio

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Ready for review. The exact-ratio eligibility fix and the move to the Final 2027 Program Design are done, with tests, Axiom parity and a full-file impact run (see Impact). A GPT-6.1 Sol shell-backed review approved 93371bc7e8. The two commits since then, a merge of main and a test change for the federal 2027 table, are under review.

#10301 has landed. It merged to main as 81056c4acb, a squash of its head cc1af12cd1, which this branch already contained. 05ff1686f9 merges main into this branch, so the diff now shows only this PR's changes (see Coordination).

This PR makes two changes, one for each plan year:

  1. PY2026: eligibility is decided on the exact income-to-FPL ratio. The old gate used the truncated fraction, which admitted incomes from 165.003% to 165.994% of FPL.
  2. PY2027: the schedule and the limit move from the superseded Program Design V4 to the Final 2027 Program Design. That means one paying band from 2.8% to 5.28%, and eligibility "at or below 200 percent".

1. PY2026: exact-ratio eligibility

ca_premium_subsidy_eligible compared the truncated aca_magi_fraction (np.floor(100 * magi / fpg) / 100) with <= 1.65. Truncation maps every income from 165.00% to 165.99% of FPL to 1.65, so all of them passed. The adopted 2026 Program Design, (d)(7) limits an applicable return filer to household income "at or above 100 percent and at or below 165 percent of the federal poverty level".

Reproduced on main (bda23eac4c) for a single filer in CA in 2026, with the 2025 one-person FPG of $15,650:

Income Exact % of FPL aca_magi_fraction Eligible on main Eligible here
$25,822.50 165.000% 1.65 yes yes
$25,823 165.003% 1.65 yes no
$25,978 165.994% 1.65 yes no
$25,979 166.000% 1.66 no no

Fix: eligibility is now decided on the exact ratio max(aca_magi, 0) / tax_unit_fpg(period.last_year), divided in float64.

2. PY2027: the Final 2027 Program Design

On main, PY2027 follows Program Design V4: it has a knot at 165% and "under 200 percent" eligibility. The Final 2027 Program Design, PDF p.2, replaces it.

The Final Design's (d)(4) table:

Household income Initial Final
100% up to 150% 0% 0%
Above 150% up to 200% 2.8% 5.28%

Its (d)(7) defines an applicable return filer by household income "at or above 100 percent and at or below 200 percent of the federal poverty level".

The 2027 Program Insight (published 9/2/2026, Table 1) agrees: "150% – At or Below 200%: 2.8% – 5.28%".

Changes:

  • Parameters: thresholds [1, 1.5, 2.0], initial [0, 0.028], final [0, 0.0528], and fpl_limit 2.0, all re-cited away from V4 and Board Resolution 2026-22. in_effect's comment now names the Final Design.
  • Limit: both years' limits are now inclusive, so this PR drops the fpl_limit_inclusive parameter it had added for V4's strict limit. The gate tests floor <= r <= limit.
  • Formula: Follow the adopted California Premium Subsidy design at the 150% FPL boundary #10301's exact-ratio band selection (side="left") puts exactly 200% at the top of the paying band, at 5.28%. The only change to ca_premium_subsidy_applicable_percentage.py is that its band ratio is now divided in float64, like the eligibility gate. A float32 quotient can round a ratio just above 150% down onto 1.5, and the 0% band would then catch it. Example: $24,600.00390625 over a supplied FPG of $16,400.001953125 is 1.50000006. Before this change it got 0%; now it gets the paying band's starting rate. This only matters for fractional FPGs; see invariant 3.

Applicable percentage at the lookup fraction, V4 (main) against the Final Design (this PR):

Lookup fraction V4 Final Note
1.51 2.738% 2.8496%
1.575 3.05% 3.172% amount Case 16: subsidy $3,237.50 → $3,207.00
1.65 3.41% 3.544% 165% is no longer a knot
1.825 4.255% 4.412%
1.99 5.0517% 5.2304%
2.00 (exactly 200%) ineligible 5.28%

The Final paying-band rate is above V4's at every lookup fraction from 1.50 to 2.00, since both are linear between knots and the gap is positive at each knot.

Who gains and who loses in PY2027, against main, with the published whole-dollar guidelines:

How this was checked. This search ran before #10301 merged, against main with V4's 150% boundary, so its at-or-below-150% statements describe #10301's change, now on main. #10301 changed only the band choice at and just below 150%, so the statements for (150%, 200%) and for 200% hold against current main as well. I replicated main's and this head's formulas in numpy, on float32 inputs as the model stores them. The search covered every whole-dollar FPG from $15,000 to $1,000,000. For each FPG it took 530 incomes at 150% and at 200%: the 129 float32 values within ±64 ulps, plus the 401 whole-cent incomes within ±$2. That is 522 million points per edge. The independent review ran a superset: every float32 income within the larger of 64 ulps and $2 of 100%, 150%, 165% and 200%, 776 million points in all. It confirmed each statement below.

  • (150%, 200%): no eligibility change and no rate decrease.
  • At or below 150%: below an FPG of $262,145 (2^18 + 1), every rate decrease was at exactly 150%. From there up, main's float32 truncation also rounds some ratios just below 150% up to 1.50. No ratio below 200% truncated up to 2.00.
  • Band choice: float32 and float64 chose the same band at every point. Since a float32 quotient is within half a float32 ulp of the exact ratio, only incomes within about one ulp of 150% of FPG could differ, and the search covers 64 ulps.

Fractional FPGs are not covered by these statements. tax_unit_fpg is first_person + additional_person × (size − 1) from whole-dollar guidelines, so no PE household has one. They can still be supplied. Sol's review found MAGI $240,703.03125 over FPG $120,351.5234375, an exact ratio just below 200%. Main's float32 aca_magi_fraction rounds it up to 2.00, so main rejects the household (limit 1.99). This head admits it, as (d)(7) requires, so its subsidy rises from $0. The matching case just above 150% is fixed by the float64 band ratio above.

Source conflict at 200% (candidate us-ca:premium-subsidy-200-fpl-limit). The OE27 enroller deck disagrees with itself. Its summary slide (PDF p.38) says the subsidy "applies only to enrollees up to under 200% FPL". Its worked example of $31,920 at exactly 200% FPL (PDF pp.37, 39–40) applies "5.28% (6.78% - 1.5%)". This PR follows the adopted Design's (d)(7), and the Insight agrees with it. The candidate is in source_conflicts/candidates.yaml (follows: statute). The deciding line in fpl_limit.yaml documents the conflict, and that file is in KNOWN_UNMARKED until the entry is registered.

Why an allowance instead of a marker. A marker must name an entry in the pinned register that lists its file (test_every_marker_names_a_registered_entry_that_lists_its_file). Marking here would mean registering in rulespec-us, landing that PR and bumping the pin, all inside this PR. The register pins shipped code ("Pin only commits on main", CONTRIBUTING.md#source-conflicts), so the US hub keeps register entries and markers out of the PR that makes the ruling. #10301's 150% candidate takes the same path, and so did #10315's guardian-fee candidate, which merged on 2026-10-24 (1dc89f047f) with its own KNOWN_UNMARKED line:

  1. this PR adds the KNOWN_UNMARKED line and a candidate naming this PR and its files;
  2. after merge, a rulespec-us PR registers the entry against the squash commit;
  3. a PE-US pin bump adds # Source conflict us-ca:premium-subsidy-200-fpl-limit at the deciding line.

The guard forces the cleanup. A file with a valid marker is skipped by the count. So once the marker lands, test_conflict_sounding_comments_do_not_grow fails (its shrunk assertion) until the KNOWN_UNMARKED line is deleted. test_candidates_are_not_yet_registered likewise fails until the candidate is deleted.

Federal 2027 table: now on main, from another PR. When this PR was written, main's federal applicable percentages carried the 2026 table (Rev. Proc. 2025-25) into 2027. #10443 merged on 2026-10-25 as 15b2bdd2cf and added the 2027 table from Rev. Proc. 2026-26 §3.01:

Federal band 2026 2027 (main since #10443)
Under 133% 2.10% 2.15%
133–150% 3.14% → 4.19% 3.23% → 4.3%
150–200% 4.19% → 6.60% 4.3% → 6.78%
200–250% 6.60% → 8.44% 6.78% → 8.66%
250–300% 8.44% → 9.96% 8.66% → 10.22%
300–400% 9.96% 10.22%

The state subsidy is max(0, slcsp − aca_ptc − ca_pct × income). Wherever it is positive, each dollar of federal credit is a dollar less of state subsidy.

  • The OE27 example: at 6.78%, the federal credit is $6,091.82 and the state subsidy $478.80, the deck's figures. With the 2026 table carried into 2027 (6.60% at 200%), they were $6,149.28 and $421.34.
  • Case 19 now derives the federal credit from main's 2027 table, and pins it as an output (32004fd222). Before Add the 2027 ACA premium tax credit applicable percentage table #10443 landed, Case 19 supplied the official credit as an input, and this body said that whichever PR landed second would make this change. The federal work is tracked in Add the 2027 premium tax credit applicable percentages (Rev. Proc. 2026-26) #10442.
  • Effect on this PR's impact run: aca_ptc is the same in the base and head runs, so the federal table cancels out of the head-minus-base change wherever the subsidy is positive in both runs. It does not cancel where one run's subsidy is clipped to 0, or for households that newly qualify at exactly 200%. The 2027 rerun against main with the 2027 table (see Impact) gives the same change to the cent.

Invariants

All of these are about this PR's head. They assume the non-income conditions hold (in effect, an APTC-eligible member, a filed return, residence in California). r is max(MAGI, 0) / FPG(prior year), computed exactly on the stored float32 values.

  1. Band = (d)(7) exactly. The tax unit is eligible if and only if 1 <= r <= L, where L is 1.65 in PY2026 and 2.0 in PY2027. Both bounds are inclusive.
    • Why float64 is exact here: two float32 values whose ratio is near an edge differ from it by at least about 1e-9 relative, far above float64 rounding. 1.0 and 2.0 are exact.
    • Tested by: a Hypothesis differential test against a fractions.Fraction reading of the Designs (bounds transcribed from the PDFs, not read from the parameters).
  2. Interval in income. For a fixed FPG, the eligible incomes are [FPG, L·FPG]. This follows from 1.
  3. Rate shape (from Follow the adopted California Premium Subsidy design at the 150% FPL boundary #10301's property tests, now run for PY2027 too).
    • The rate is 0 at or below exactly 150%.
    • Just above 150%, it starts at the band's initial rate (3.19% in 2026, 2.8% in 2027).
    • It never decreases as exact income rises.
    • Its interpolation is continuous except at 150%. The continuity checks are at 100% and 165% (2026) and at 100% and 200% (2027).
    • Band selection now divides in float64, so it uses the exact ratio for every float32 input, by the same argument as invariant 1. Before this head, Follow the adopted California Premium Subsidy design at the 150% FPL boundary #10301's float32 division could misband a fractional FPG within about 1e-7 of 150%. Whole-dollar FPGs were never affected: the US hub's brute force over every whole-dollar FPG up to $200k found no misbanding, and the search above found none up to $1,000,000.
    • Tested by: test_float32_ratio_just_above_150_uses_upper_band, which feeds the example above as float32 for both years. Restoring the float32 division fails it in both years.

Differences from main. These are descriptive, not invariants. With the published whole-dollar guidelines:

  • PY2026: eligibility differs only in the (1.65, 1.66) sliver, plus main's float32 misrounding of exact multiples of 1%. Example: the 2025 FPG for 72 people is $406,150, and MAGI of $674,209 is exactly 166%. Main computes 165.99% and admits the household.
  • PY2027: the rate changes across (150%, 200%] as tabulated above, and exactly 200% gains eligibility.

main's float32 fraction can also round a ratio just below a 1% multiple up onto it.

  • Whole-dollar FPGs up to $1,000,000: the search above found no such rounding onto 100% or 200%. Onto 165% it happens from an FPG of $15,002, but this head reads the same truncated fraction, so the rate is unchanged, and both gates admit the household.
  • Fractional FPGs: it can also happen at 100%, so the floor can move either way. In every such case, this PR is the one that matches (d)(7) (found by the earlier Sol review).

Tests

ca_premium_subsidy_eligible.yaml (34 cases). In the PY2026 boundary rows, the incomes are derived from wages, using the actual FPG.

Plan year Income % of FPL Truncated Eligible
2026 $15,649 99.994% 0.99 false
2026 $15,650 100.000% 1.00 true
2026 $25,822.50 165.000% 1.65 true
2026 $25,823 165.003% 1.65 false
2026 $25,978 165.994% 1.65 false
2026 $25,979 166.000% 1.66 false
2027 $26,335 165.006% 1.65 true
2027 $31,919 199.994% 1.99 true
2027 $31,920 (OE27 example) 200.000% 2.00 true
2027 $31,921 200.006% 2.00 false
2027 $32,079 200.996% 2.00 false

Supplied-ratio cases cover 199%, 199.5%, 200% (eligible) and 200.5% (ineligible) in PY2027. Supplied cases set aca_magi and prior-year tax_unit_fpg instead of the fraction, which the gate no longer reads.

ca_premium_subsidy_applicable_percentage.yaml (25 cases). The PY2027 cases move to the Final Design: 1.575 → 3.172%, 1.65 → 3.544%, 1.825 → 4.412%, 1.99 → 5.2304% and 2.00 → 5.28%. New income-derived cases: $23,942 (150.0125%) → 2.8%, and $31,920 (exactly 200%) → 5.28%. #10301's $23,940 (exactly 150%) → 0% is kept.

ca_premium_subsidy.yaml (19 cases).

  • Case 16 (PY2027, 157.5%): $3,237.50 → $3,207.00.
  • New Case 19: the OE27 worked example at exactly 200%. Benchmark $688 a month, federal required contribution 6.78%, state rate 5.28%. The model gives $478.80 a year ($39.90 a month), and the deck shows "≈ $40 / monthly". The federal credit is derived from main's 2027 federal table (6.78% at exactly 200%) and pinned as an output at $6,091.824, as explained under "Federal 2027 table" above.
  • Cases 4 and 11: their labels say exactly 165% and exactly 100%. They use $25,822.50 and $15,650 against a pinned FPG of $15,650, following Follow the adopted California Premium Subsidy design at the 150% FPL boundary #10301's FPG pinning.

Property tests:

  • test_ca_premium_subsidy_eligible_properties.py (4 tests): the eligibility differential test above, with PY2027 read as inclusive. New explicit examples: $31,919, $31,920, $31,921 and $32,079 at $15,960, and $32,001 at $16,000. Each example builds a fresh simulation.
  • Follow the adopted California Premium Subsidy design at the 150% FPL boundary #10301's test_ca_premium_subsidy_applicable_percentage.py: now parametrized over 2026 and 2027, plus test_float32_ratio_just_above_150_uses_upper_band (12 tests). It calls the formula directly, without building a simulation. Its _rates helper now takes an FPG and a dtype, so the new test can feed float32 values.

Mutation checks (local):

Mutant YAML cases that fail Property test
Strict limit (<) 4, 4b, 18, 18b fails, both years
Gate on the truncated fraction 5b, 5c, 18a, 18d, 18e fails, both years
Float32 division in the gate (earlier run) — fails, PY2026 explicit examples
Float32 division in the rate's band ratio — test_float32_ratio_just_above_150_uses_upper_band fails, both years

Local runs at 93371bc7e8, one file per process (macOS). At 32004fd222, which adds the merge of main and the Case 19 change, CI runs these files; see the checks.

  • The four premium-subsidy YAML files: 86 passed (19, 25, 34 and 8).
  • The two household health-benefit files: 41 passed (22 and 19). The largest peak was 5.1 GB, for household_health_benefits.yaml.
  • The property tests: 4 for eligibility and 12 for the rate, all passing.
  • test_source_conflicts.py: 103 passed.
  • test_programs_registry.py: 765 passed, 10 skipped.

Impact

A real microsimulation on the default dataset, run by the US hub one run at a time under its heavy-job lock. Sums are weighted.

Output 2026 change 2027 change 2026 records changed (weighted) 2027 records changed (weighted)
ca_premium_subsidy −$0.90 −$21.87M 1 (0.002) 113 (389,626)
assigned_ca_premium_subsidy −$0.90 −$21.87M 1 (0.002) 113 (389,626)
healthcare_benefit_value −$0.90 −$21.87M 1 (0.002) 110 (389,626)
household_net_income_including_health_benefits −$0.90 −$21.86M 1 (0.002) 110 (389,626)
ca_premium_subsidy_eligible −0.002 0 1 (0.002) 0
state_income_tax, income_tax, household_net_income, household_benefits 0 0 0 0
  • 2027: the state subsidy falls $21.87M, from $292.20M to $270.34M (−7.5%), for 113 tax units (389,626 weighted). None rises. The largest single fall is $152.52 a year. No tax unit in the dataset changes eligibility, so none that meets the other conditions sits at exactly 200%. The 113 tax units are in 110 households, which is why the household-level rows count 110.
  • The federal 2027 table moved the levels, not the change. The run before Add the 2027 ACA premium tax credit applicable percentage table #10443 (main 6a92d6a983 against 1238297ebf) had the same change to the cent, −$21,865,720.65, in the same 113 tax units, on levels of $269.35M and $247.48M. aca_ptc is the same in the base and head runs, so this is what the cancellation under "Federal 2027 table" predicts when every changed tax unit has a positive subsidy in both runs.
  • 2026 (not rerun): one tax unit, at a weight of 0.002, sits in the (165%, 166%) sliver. It loses eligibility and $442.32, which is −$0.90 weighted. This repeats the earlier run at d9929e416a. The figure carries to this head:

Why the 2026 run also covers 93371bc7e8. The delta from 1238297ebf changes the model in one place: the dtype of the band ratio in ca_premium_subsidy_applicable_percentage. The rest of the delta is a test and a YAML comment.

  • Only the 150% edge matters. Band selection can change only across 150%: clipping puts both sides of 100% and of the top limit in the same band.
  • No whole-dollar FPG is affected. The search above found that float32 and float64 choose the same band for every whole-dollar FPG up to $1,000,000.
  • Every FPG in the dataset is a whole dollar. tax_unit_fpg is first_person + additional_person × (size − 1), with an integer size and the whole-dollar 2025 and 2026 CONTIGUOUS_US, AK and HI parameters.

So every record's output at 93371bc7e8 equals its output at 1238297ebf.

Comparison files are on the US hub host: fixes/10305-impact/ for 2027, and fixes/10305-impact/prev/ for 2026 and the earlier 2027 run.

Coordination

axiom: TheAxiomFoundation/rulespec-us#1832 queued: the (d)(7) eligibility extension, now updated for the Final 2027 Design. It carries:

  • the verbatim (d)(4) and (d)(7) text for both years;
  • the required outputs and a review_finding;
  • companion cases that match this PR's YAML.

The encoder path is blocked. The Covered California designs are not yet in the pinned corpus release, and signed generation needs Max's approval.

🤖 Generated with Claude Code

MaxGhenis and others added 7 commits October 19, 2026 23:29
Gov. Code 100800(c) delegates the state premium subsidy design to the
Covered California Board. The adopted 2026 Program Design runs its bands
"100% up to 150%" (0%) and "Above 150% up to 165%"; the 2026 Policy
Explainer labels the upper band "150% - At or Below 165%". The model now
puts a fraction equal to a threshold in the lower band (searchsorted
side="left"), keeping the existing whole-percentage FPL truncation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review r1 P3s: searchsorted comments now say side="left"; Case 13 explains
the continuous rate at 165% in 2027; Case 2b tests 1.505 instead of
duplicating Case 7; a new case derives 150.49% from wages and shows the
truncated fraction pays 0%; the threshold comment notes the truncation is
the federal form's gap-fill; the eligibility test header matches the
formula's FPL-band description.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ca_premium_subsidy_eligible compared the truncated aca_magi_fraction with
<= 1.65, so every PY2026 income from 165.003% to 165.994% of FPL passed
an "at or below 165 percent" test (Program Design (d)(7)). Compare the
exact ratio of nonnegative ACA MAGI to prior-year FPG instead, as FTB 3849
Table 1-2 does for the predecessor program's band edges.

The PY2027 limit was 1.99 on the truncated fraction, which equals "under
200 percent" only under truncation. Express it as 2.0 with a new
fpl_limit_inclusive parameter (true in PY2026, false in PY2027), the same
pattern as NM's benchmark_gross_up.boundary_inclusive.

Tests: boundary cases from derived income at $25,822.50 / $25,823 /
$25,978 / $25,979 (PY2026) and $26,335 / $31,919 / $31,920 (PY2027);
supplied cases now set aca_magi and prior-year FPG instead of the
fraction; a Hypothesis differential test against an exact-rational
reading of (d)(7).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cases 1b and 2b test the PY2026 floor at $15,649 (99.994%, ineligible)
and $15,650 (exactly 100%, eligible) of the 2025 one-person FPG, so the
PE tests mirror the companion cases added to rulespec-us#1832. The two
2026 Program Design references differed only by #page=, so they become
one entry per the repo's reference rules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The model stores MAGI and FPG as float32. A float32 quotient can round a
ratio a fraction of a cent above 165% of a fractional guideline down to
1.65 (e.g. $18,711.599609375 over $11,340.36328125), so the gate now
divides in float64. On float32 inputs that classifies every ratio exactly
against 1.00, 1.65 and 2.00.

The property test built one simulation per year and reused it, deleting
only the output array, so derived intermediates could stay cached across
Hypothesis examples. It now builds a fresh simulation per example. Its
reference reads (d)(7) on the stored float32 values, the generator adds
fractional guidelines and incomes a few float32 steps from each edge, and
explicit examples cover the float32 counterexamples and a 72-person
household at exactly 166% that main's float32 truncation misrounds to
165.99%.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 5 commits October 22, 2026 22:45
Conflicts in ca_premium_subsidy.yaml Cases 4 and 11: keep this branch's
whole-dollar boundary incomes ($25,822.50 and $15,650) and pin the 2025
FPG at $15,650, following #10301's FPG pinning. Drop this branch's
duplicate ca_premium_subsidy_eligible input in Case 6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Final 2027 Program Design replaces the V4 schedule this model carried:
(d)(4) has one paying band, "Above 150% up to 200%", from 2.8% to 5.28%
(V4: 2.69%-3.41% to 165%, then 3.41%-5.1%), and (d)(7) makes household
income "at or below 200 percent" eligible (V4: "under 200 percent").

- Thresholds [1, 1.5, 2.0], initial [0, 0.028], final [0, 0.0528].
- Both years' limits are inclusive, so drop fpl_limit_inclusive and test
  the exact ratio with <=.
- The OE27 enroller deck's summary slide says "up to under 200% FPL" while
  its own 200% example applies 5.28%; follow (d)(7) and record candidate
  us-ca:premium-subsidy-200-fpl-limit.
- Rate, amount and eligibility cases move to the Final Design, including
  the deck's $31,920 example (5.28%, $478.80 a year) and incomes that
  truncate to 2.00 but exceed 200%; the property tests read 2027 as
  inclusive and #10301's rate properties now cover 2027.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis MaxGhenis changed the title Decide California Premium Subsidy eligibility on the exact FPL ratio Decide CA Premium Subsidy eligibility on the exact FPL ratio and adopt the Final 2027 design Oct 23, 2026
The model stores aca_magi and tax_unit_fpg as float32. Their float32
quotient can round an exact ratio just above 150% of a fractional FPG
down onto 1.5, which side="left" then puts in the 0% band. Divide in
float64, as the eligibility gate already does, and add a float32
regression test for both plan years. Whole-dollar FPGs pick the same
band either way.

Amount Case 19 supplies aca_ptc at the official Rev. Proc. 2026-26
credit. Say why in the case: the federal parameters still carry the
2026 applicable percentages into 2027, so a derived credit would use
6.60% instead of 6.78% at 200% FPL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Hand-off to the US + core hub, at head 93371bc.

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

#10443 (the 2027 applicable percentage table, Rev. Proc. 2026-26) merged first, as 15b2bdd. So this PR lands second and should change amount Case 19 in ca_premium_subsidy.yaml before it merges:

The derived federal value is already pinned on main. aca_ptc.yaml has a case for a single filer at $31,920 with an $8,256 benchmark that derives the FPL fraction from income and gives aca_ptc 6,091.82. That case is set in Texas, so Case 19 still checks the California path.

🤖 Generated with Claude Code

MaxGhenis and others added 2 commits October 25, 2026 22:04
Main now has #10301 squashed (81056c4) at #10301's final head cc1af12, which this branch already contains.
Five files conflicted:

- ca_premium_subsidy.yaml, ca_premium_subsidy_applicable_percentage.yaml,
  test_ca_premium_subsidy_applicable_percentage.py and
  ca_premium_subsidy_applicable_percentage.py: main's versions equal cc1af12's
  exactly, so this branch's side already includes them; took this branch's side.
- source_conflicts/candidates.yaml: one hunk, this branch's new
  us-ca:premium-subsidy-200-fpl-limit candidate against nothing on main; kept it.
  Main's other candidate edits (#10315's Minnesota entry, #10350-#10352, #10441,
  #10444) auto-merged unchanged.

Against main, the merged tree differs only in this PR's files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Main now carries the federal 2027 applicable percentage table (#10443,
Rev. Proc. 2026-26), which gives 6.78% at exactly 200% FPL. Case 19 no
longer supplies aca_ptc; it derives it and pins the federal credit,
8,256 - 0.0678 * 31,920 = 6,091.824, as an output. The state subsidy
stays 478.80.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis merged commit 4648a77 into main Oct 26, 2026
32 checks passed
@MaxGhenis
MaxGhenis deleted the ca-premium-subsidy-165-exact-ratio branch October 26, 2026 10:30
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

US + core hub merge audit, us#10305 at 32004fd2227ea6a1af95bfa7a824992c0c030d0f (squash): Decide CA Premium Subsidy eligibility on the exact FPL ratio and adopt the Final 2027 design.

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