Repository navigation
Conversation
Add employer_state_payroll_premium_deduction_share (default 1) for the programs whose statute puts the premium on the employer and lets it deduct up to a share from wages: CO FAMLI, DE Paid Leave, ME and MA PFML, MN Paid Leave, NY PFL and DBL, the VT Child Care Contribution and WA PFML. The employee amount is the permitted share times the deduction share; the employer-side variables carry the part it does not deduct. Encode Acts 2026 c. 101 ss. 25-26 for Massachusetts from 2027-01-01, with DFML's 2027 family and medical rates, and cite CGS 31-49g(b)(1) for the Connecticut paid leave rate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…variants Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #10285 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 1 1
Lines 54 193 +139
==========================================
+ Hits 54 193 +139
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Describe the deduction-share programs by the employer's choice, not by who owes the premium (NY and WA put the contribution on the worker), note that MN and NY employer costs are not modeled, state why WA PFML is in and Paid Leave Oregon is out, and note that Rev. Rul. 2025-4's treatment of an employer-paid employee share as wages is not modeled. Cap the one-worker employer's taxable total in the invariants so the employer-level path is checked for every modeled state and size, pin the 2027 Massachusetts parameter values, and add file-page anchors to the PDF references. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Hand-off to the US + core hub.
|
|
Hand-off update: #10282 was closed because #10279 already landed the same NC Special Assistance test fix on main. The branch already had main merged in at 21:44Z ( |
PR Review: Let employers deduct less than the permitted state payroll premium, and apply Massachusetts' 2027 PFML cap swapPR #10285 (author: MaxGhenis). Head SummaryThe PR adds I re-read the primary sources for all eight programs and for Connecticut. Each one matches the PR's split between the "may deduct up to" programs and the mandatory-withholding programs, and each matches its employer-pays-the-rest rule. The Acts 2026 c. 101 text and DFML's 2027 split confirm the Massachusetts values. Every formula reduces to the old one at the default share, so no existing result changes. Employee plus employer equals the required remittance at any share in all six modeled states. The code is vectorized, and the share is applied only inside the state-gated program variables. I hand-checked all 20 new YAML cases and two existing capped Massachusetts cases. All eight axiom issues are OPEN, labelled One should-fix item remains: three parameter descriptions don't follow the house template. There are three optional suggestions. Critical (must fix)None. Should address1. Three parameter descriptions don't follow the house template.
Suggestions1. Federal tax treatment of the part the employer pays (documented deferral; consider a follow-up issue).
2. Optional YAML cases for two paths that only the Hypothesis test reaches.
3. Small text fixes.
Verified correct
Axiom line assessmentValid. The line has eight
CI statusAll 29 checks pass at head
Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
The mechanism, the statutes for all eight states and the Massachusetts 2027 change all check out, the default share of 1 leaves every existing output unchanged, and all 20 new cases hand-check. One should-address item: three parameter descriptions (MA family and medical employee shares, DE employee share) don't follow the house template. Three suggestions, and a note to update the branch past #10295 before merging. Full report in the comment above.
|
Picking this up for the US hub. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
Rewrite the MA family and medical and DE employee-share descriptions to the house template; cite c. 175M s. 6(c)-(d) and say beside the MA 2027-01-01 entries why the swap is dated 2027; fix the invariants test docstring's description of NY and WA, which the statute does not put on the employer; and add YAML cases for a partial share above the 2027 wage cap (MA) and for the employer-level aggregate at a partial share (CO), paths only the property test reached. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
test_donut_invariants evaluates the Delaware paid leave formulas with a hand-built person() that supplies their inputs. Since main's merge the formulas also read state_payroll_premium_deduction_share, which it didn't supply (KeyError in Contrib other-shard-1). Supply the default share of 1, under which the contributions are the ones the reform must preserve. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Ready for hub review Head: Picked up at
What the item asked forMerge current
Should address: the three descriptions (house template).
Suggestion 2: two YAML cases, hand-checked:
Suggestion 3: text fixes.
Suggestion 1 (federal pick-up): not modeled, per the item. It is listed as a follow-up below. CI failure the merge exposed, and its fixThe first run at
Tests run (one file per process)
Mutants: none. This round changes descriptions, comments and tests, plus the merge resolution, which keeps both sides' formulas verbatim. CIPull request run 41407953599 at Judgment calls
Proposed follow-up issueModel the federal wage treatment of an employer's pick-up of state PFML employee premiums (Rev. Rul. 2025-4; Notice 2026-6) Reply to DTrim99Thanks for the review. Taking each item in turn:
Generated by Claude Code |
|
Hub review in progress Head under review: Firm so far:
Mutants and the default-share comparison against main: running. Generated by Claude Code |
|
Ready for hub review Delta review of I found no P1. At the default share, outputs are bit-identical to current main. Every new expected value recomputes. All six mutants are killed. DTrim99's should-address item is resolved. There is one P2 (a stale source-conflict backlog item for the MA date, which the hand-off missed) and three P3s. FindingsP2-1. The MA 2027 date is an open source-conflict backlog item that this PR leaves stale
P3-1. The MA reference titles say "Section 6(c)-(d)", but the comment two lines above names (e)
P3-2. The body has no
|
| Item | Status at the head |
|---|---|
| Should address: three descriptions | Resolved. de/.../employee_share.yaml:1, ma/.../family_employee_share.yaml:1 and ma/.../medical_employee_share.yaml:1 each read "[State] limits ... under the [...] program" with no acronym, using his suggested wording verbatim. |
| Should address (implied): merge main for #10295 | Resolved. Merged at bc830d69c7. state_paid_leave_premiums_2027.yaml (#10295) passes 12/12 at the head. |
| Suggestion 1: federal pick-up (Rev. Rul. 2025-4; Notice 2026-6) | Left unmodeled. The reason holds, and this is a follow-up, not a defect this PR adds. At the default share nothing moves. At a share below 1, main had no way to express the case: it overstated the employee's deduction by the whole undeducted amount (CO 2026, $100k, share 0.5: main 440, the law about 220). The head gets the deduction right and omits only the federal add-back (DTrim99's figure: $16.83 of FICA, plus income tax on $220). The limitation is in the docstrings. The follow-up issue is proposed in the hand-off but not filed; the hub raises it. |
| Suggestion 2: two YAML cases | Resolved. MA 2027 $250k at share 0.5 gives 442.29 / 1,249.95 (ma_employee_paid_leave_contribution.yaml, last case). CO aggregate gives 6,600 (new employer_total_additional_state_payroll_tax.yaml). Both recompute (below), and both are mutant-tested. |
| Suggestion 3a: "Not in this PR" bullet | Resolved. The body now says #10295 is merged in. |
| Suggestion 3b: test-module docstring (NY, WA) | Resolved. test_state_payroll_premium_deduction_share_invariants.py:3-9 describes NY as "authorized but not required to collect" and WA as an employee share the employer "may deduct up to and may pay in any part". |
| Suggestion 3c: full subsection path in titles | Resolved as asked ("6(c)-(d)"). See P3-1 for (e). |
| Suggestion 3d: date comment | Resolved. One line at family_employee_share.yaml:6 and medical_employee_share.yaml:6. Its wording matches the §45 and §43(a) quotes in DTrim99's report; I couldn't fetch the act itself. |
Every should-address item is resolved, so the hub can dismiss the CHANGES_REQUESTED review (5591620322) with a note. P2-1 is new and not one of his items.
Checked and sound
-
Delaware merge.
- I diffed each DE file against both parents.
- Against main's side (
97b6d5135c), the only changes are this PR's docstring and the share:permitted * state_payroll_premium_deduction_share(de_employee_paid_leave_contribution.py:22-33) and* (1 - deducted)withdeducted = p.employee_share * share(de_employer_paid_leave_contribution.py:22-35). - Against the PR's side (
6ad174a080), the only changes are Fix Social Security secondary earnings threshold reform #10380'smin_(payroll_tax_gross_wages, social_security.cap)wage base and its two references. - Both sides are kept verbatim.
- The employer aggregate's DE branch uses
employer_total_taxable_earnings_for_social_securityboth here and on main, so Fix Social Security secondary earnings threshold reform #10380 didn't change it and the merge doesn't either.
-
Hand values, from the parameters at the head (
system.parameters). The 2027 SS cap is 192,300; MA 2027 family is 0.007 and medical 0.0018, with caps 0.4 / 1; CO 2026 is 0.0044 / 0.0044.- MA permitted = (0.4 × 0.007 + 0.0018) × 192,300 = 884.58. Employee = 0.5 × 884.58 = 442.29. Employer = 0.6 × 0.007 × 192,300 + 442.29 = 807.66 + 442.29 = 1,249.95.
- CO = 0.0044 × 1,000,000 + 0.5 × 0.0044 × 1,000,000 = 6,600.
- I computed these with exact fractions before reading the formulas.
-
Impact at the default share.
- Setup: one script run once per tree, against current main (
6145ad4513). The grid is 16 states × 5 wage levels (0 to 250k) × 6 employer sizes (5 to 100) = 480 one-person households, for 2025, 2026 and 2027. - Variables:
employee_state_payroll_tax,employer_state_payroll_tax,employer_additional_state_payroll_tax,employer_total_additional_state_payroll_tax,employer_total_state_payroll_tax,employee_payroll_tax,household_net_incomeandincome_tax. - Result: all 24 arrays are bit-identical (
np.array_equal). The diff can't move a baseline output, so no population check is needed beyond what the hub already runs.
- Setup: one script run once per tree, against current main (
-
The defect at main.
grep -rl employer_state_payroll_premium_deduction_shareon main finds nothing, so main can't express a partial deduction. A CO worker at $100k showsemployee_state_payroll_tax= 440 in 2026 whatever the employer deducts. -
Tests at the head (one file per process, thread caps at 4):
File Result state_payroll_premium_deduction_share.yaml16 passed employer_total_additional_state_payroll_tax.yaml1 passed ma_employee_paid_leave_contribution.yaml11 passed state_paid_leave_premiums_2027.yaml12 passed contrib/cbo/payroll/de_employee_paid_leave_contribution.yaml1 passed test_state_payroll_premium_deduction_share_invariants.py2 passed test_increase_taxable_earnings_for_social_security.py4 passed test_payroll_contributions.py100 passed test_input_variable_definitions.py4 passed code_health/test_source_conflicts.py103 passed -
Mutants. The hand-off lists none for this round. I ran six, each in its own process on the review checkout, restoring after each;
git statusis clean at62a9f63e69.Mutant Killed by M1: the DE employee formula drops the share (a merge that kept main's return)state_payroll_premium_deduction_share.yaml(2 cases) and the invariants test (AssertionError at :177)M2: the DE employer formula reverts to main's (1 - p.employee_share)the same YAML (2 cases) and the invariants test (:185) M3: the MA 2027 family cap is left at 1 ma_employee_paid_leave_contribution.yaml(4 cases)M4: the aggregate's CO branch drops the undeducted term employer_total_additional_state_payroll_tax.yaml(the new case)M5 (mine): the MA employer formula uses uncapped employment_incomema_employee_paid_leave_contribution.yaml(1 of 11 cases fails; 10 pass)M6: the CI fix reverted test_donut_invariants,KeyError: 'state_payroll_premium_deduction_share' -
Readers.
state_payroll_premium_deduction_shareis read by 16 state-gated program variables (CO, DE, MA, ME, VT, WA on both sides; MN and the two NY employee sides) and by the employer aggregate.employer_state_payroll_premium_deduction_shareis read by the clip variable and named in the docstrings ofemployee_state_payroll_taxandemployer_additional_state_payroll_tax.family_employee_shareandmedical_employee_shareare read by the two MA variables and the aggregate.- The DE variables are read by
de_employee_state_payroll_taxandde_employer_additional_state_payroll_tax. - No reform reads or overrides any of them. Nothing becomes reachable and worse at the default share.
-
CI. Run 41407953599 at the head passed 34/34 jobs, including Contrib other-shard-1, which failed at
7cb554e630. -
Scope and overlap.
- Nothing under
.github/ortests/policy/baseline/partners/. - Open PRs that name the changed files: Model the Minnesota Paid Leave employer premium #10294 (MN employer premium, which builds on this PR) and Zero a separate filer's whole standard deduction and exclude dependent care benefits from wages #10579. Both merge cleanly with this head (
git merge-tree). Start CO FAMLI, Paid Leave Oregon and WA Cares at their program dates, and add 2019–2024 Washington PFML premiums #10154 is closed.
- Nothing under
-
Body and hand-off claims checked: the test counts, "34 jobs passed", the file:line pointers, the 2027 rates passing 12, and that the reform doesn't redefine the DE variables. The
axiom:line is present (eightqueuedand onen/a). I didn't recheck the rulespec issues, which are outside this session's repository scope.
What I couldn't check
- Law sources. This VM's proxy blocks malegislature.gov, mass.gov, hklaw.com, govinfo.gov, ecfr.gov, uscode.house.gov, irs.gov and delcode.delaware.gov. I couldn't read M.G.L. c. 175M §6(c)–(e), Acts 2026 c. 101 §§25, 26, 43, 45 and 49, DFML's 2027 rates page, or Rev. Rul. 2025-4 and Notice 2026-6.
- So the 2027 date note at
family_employee_share.yaml:6agrees with the quotes in DTrim99's report and the earlier hub review, but I haven't confirmed it against the act. - The same goes for the 2027 MA rates (0.70% / 0.18%) and the 2027 SS base (192,300), which I took from the parameters.
- One web-search summary paraphrased Bloomberg Government as saying employers "pay 40% of the family leave contribution" and "withhold 60%". That is the reverse of DFML's split as quoted in both reviews ("Up to 40% ... can be withheld (0.28% of eligible wages)"). I couldn't open either page to settle it, and I read the summary as a paraphrase error. The hub may want to confirm against DFML before merge.
- So the 2027 date note at
- Population data. I ran no microsimulation. The household comparison above is the impact check.
- Linux CI memory for the new YAML files: not measured; CI's green run covers them.
- The author's 13 earlier mutants (
mutants.pyon the hub's machine): not rerun. The formulas they targeted are unchanged in this round except the DE merge, which M1 and M2 cover.
Generated by Claude Code
|
Picking this up for the US hub. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
The backlog item still said no code implemented the 2027 date. List the four parameter files that carry it and say the code follows DFML's 2027-01-01 date while keeping 2026 on the old split, as main does. The 2026 question under s. 45 stays open, so state and follows are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HsvgHCDJEA9psAheP
Acts 2026 c. 101 ss. 25-26 change the figures in s. 6(c)(1)-(2), (d) and (e)(1)-(2), so the title should reach (e), where the covered business entity caps sit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HsvgHCDJEA9psAheP
|
Ready for hub review Head: This round fixes P2-1 the hub's way and fixes P3-1 from the round 2 review. P3-2 (the Commits
What was asked and how I resolved it
|
| File | Result |
|---|---|
ma_employee_paid_leave_contribution.yaml |
11 passed |
employer_total_additional_state_payroll_tax.yaml |
1 passed |
state_paid_leave_premiums_2027.yaml |
12 passed |
state_payroll_premium_deduction_share.yaml |
16 passed |
contrib/cbo/payroll/de_employee_paid_leave_contribution.yaml |
1 passed |
test_input_variable_definitions.py |
4 passed |
test_payroll_contributions.py |
100 passed |
test_state_payroll_premium_deduction_share_invariants.py |
2 passed |
test_increase_taxable_earnings_for_social_security.py |
4 passed |
code_health/test_source_conflicts.py |
103 passed |
The two Python files that use hypothesis first failed to collect, because the VM's environment lacked that dev dependency. After uv pip install hypothesis they passed as listed.
Mutants
None. This round changes no formula or value: one YAML metadata title per file and the backlog item. A mutant to the backlog item's paths would fail its tracked-file check, but I didn't run one.
CI
Pull request run 41738540327 at b68dbc4c82 was still in progress 60 minutes after the push (00:21Z). 34 jobs had succeeded and none had failed. Two were still running: Contrib other-shard-1 and Contrib other-shard-3. The hub should confirm the final conclusion before landing.
Judgment calls
- The two rate files are in
code:. They carry 2027-01-01 rather than a share. The 460-versus-772 witness depends on the shares, but under the § 45 reading the 2026 rates would also have to move with them to keep the totals. So the rates are part of the dated decision. Drop them if the hub wants only the deciding lines. - The note says "cap and rate swap". It says that because the code dates both at 2027-01-01.
- No
# Source conflictmarker is added. The item isn't registered, and markers must name registered entries.
Proposed follow-up
None beyond those already raised in round 2. The hub has the federal pick-up issue.
Generated by Claude Code
What this changes
employee_state_payroll_taxwas documented as "mandatory" employee payroll taxes, but for eight programs it counted the largest employee share the employer is allowed to deduct. In those programs the law caps what the employer may deduct from wages and leaves the amount to the employer. This PR:employer_state_payroll_premium_deduction_share(Person input, default 1). It is the share of the permitted employee premium the employer actually deducts.state_payroll_premium_deduction_shareholds it between 0 and 1, because an employer may not deduct more than the permitted share. For each optional program the employee amount is now the permitted share times that share, and the employer-side variable carries the part it does not deduct, which each law makes the employer's (MN and NY employer costs are not modeled, so there the part goes nowhere). At the default every output is unchanged.family_employee_share. The date decision is below.ct/tax/payroll/paid_leave/employee_ratecited CGS 31-49e, which is the definitions section. The contribution and its 0.5% ceiling are in 31-49g(b)(1).employee_state_payroll_tax,employer_additional_state_payroll_tax, the employer-level aggregate and every touched program variable. Each now says which programs are mandatory withholding and which are optional employer pass-through, and cites the deduction rule.Origin: the PolicyBench payroll audit of 2026-10-05 (evidence on PolicyEngine/policybench branch
payroll-state-components-20261005,reference_audit/2026-10-05-payroll/; Max ruled d972, so PolicyBench excludes the four affected outputs and no PolicyBench reference depends on this PR).Programs and the rule each follows
Unchanged, because the statute puts the contribution on the worker and requires withholding (per the 2026-10-05 audit's statute review; CT and WA Cares re-read here): CA SDI (UIC 984, 986), CT Paid Leave (CGS 31-49g(b)(1), (3)), NJ TDI/FLI/UI/workforce, Paid Leave Oregon (ORS 657B.150), Oregon statewide transit tax, PA UC, RI TDI, WA Cares (RCW 50B.04.080).
The line between the two groups is the deduction text. The input covers programs whose law caps a permissive deduction ("may deduct up to", "shall deduct not greater than", "is authorized to collect", "may deduct and withhold ... not more than") and makes a deduction not taken the employer's. It excludes programs whose law requires a fixed deduction, even where the employer may also pay the worker's contribution for them.
Employer-level aggregate.
employer_total_additional_state_payroll_taxapplies the person's share to the employer's whole payroll, as if the employer deducts the same share from everyone. 458 CMR 2.05(5)(d) allows different shares for different groups, which a single per-person input can't express.Massachusetts: why 2027-01-01 and not 2026-01-01
Acts 2026 c. 101 (approved 2026-06-12, an emergency law) §25 strikes "40" in lines 22, 33 and 39 of c. 175M §6 and inserts "100". §26 strikes "100" in lines 25, 33 and 43 and inserts "40". Each figure appears exactly three times in §6, in (c), (d) and (e), so the caps swap for employers, small employers and covered business entities. Three provisions bear on the date:
Counter-point. §49 of the same act says "Section 22 shall take effect on January 1, 2027", so the legislature could give a non-income-tax section a calendar 2027 start, and it left §§25–26 under §45 instead. That is the strongest textual case for 2026.
I encode 2027-01-01 (Max asked for the date to be decided and cited). PFML contributions have no taxable year: they accrue on wages paid, at rates "set annually for January 1–December 31" (DFML; c. 175M §7(e)). §45 is a shared applicability clause written for the act's income tax sections. Read literally, it would apply the swapped caps to 2026's rates (0.18% family, 0.70% medical). That gives a 0.772% employee maximum, which contradicts §43(a)'s instruction to keep the balance unchanged. It would also make lawful 2026 family-leave deductions above 40% unlawful after the fact. §43 and the agency that administers the program both say 2027, and in 2027 the swapped caps and swapped rates leave each worker's employee and employer amounts where they were in 2026 (property 6 below). A 2026 YAML case records that the literal reading would give $772 on $100,000 instead of $460.
Not modeled: federal tax on an employer-paid employee share. For state-run PFML funds, Rev. Rul. 2025-4 (Situation 4) treats an employer's voluntary payment of the employee's permitted share ("employer pick-up") as compensation: it is in the employee's gross income and FICA wages, and the employee may deduct it as a state tax. Notice 2026-6 ends the 2025 transition relief for 2026. The ruling doesn't address private or insured plans (its footnote 3), which covers New York, and Vermont's Child Care Contribution isn't a leave program. This PR lowers only the employee's payroll deduction when the share is below 1; it does not add the pick-up to wages. The input and aggregate docstrings say so.
Invariants
These hold for every worker, wage, employer size and share, in 2026 and 2027. They are checked by
policyengine_us/tests/core/test_state_payroll_premium_deduction_share_invariants.py(Hypothesis; three copies of each drawn worker in one vectorized simulation):employee_state_payroll_taxminus the optional components doesn't depend on the share.employer_total_additional_state_payroll_taxequalsemployer_additional_state_payroll_taxin every modeled state, at any share and employer size. This ties the employer-level path to the per-worker path.All amounts are compared to float32 precision, within a cent. A second test,
test_massachusetts_2027_swaps_deduction_caps_and_rates, pins the four 2027 MA parameter values, which the properties can't distinguish from carrying 2026 forward. A mutation check (mutants.py, 13 mutants: each breaks one formula, parameter, the clip or an aggregate's size threshold) kills 13 of 13 at 8ec5126, and the property test alone kills all 13 .Cost (local, macOS, shared host; Linux CI not yet measured): the new test file runs in 5.0 s of test time, 23 s wall including the model import, with a peak memory footprint of 1.04 GB. It runs in the Rest Python
coregroup (makegroupcore, shard 2), which CI run 38141803955 measured at 13.3 GB / 11:51; this adds 8 small simulations of at most 150 people over two years.Tests run locally
policyengine_us/tests/core/test_payroll_contributions.pyandtest_input_variable_definitions.py: 104 passed, unchanged. That covers the default-share outputs.policyengine_us/tests/policy/baseline/gov/states/tax/payroll/state_payroll_premium_deduction_share.yaml(16 cases) and four new cases inma_employee_paid_leave_contribution.yaml: 26 passed. Expected values are computed by hand from the statutory and agency rates, in comments.Targeted files only: a capacity reservation is in force on the shared host, so the full YAML shards are left to CI.
Review
Independent adversarial review r1 (Opus 5.5, in session, since the Subfleet lanes were closed by the US hub's disk pause) found no wrong number and requested four should-fix changes plus nits: the aggregate docstrings described NY and WA as employer premiums; the MN and NY employer side; the WA and Oregon line; and an employer-level branch the properties didn't reach. All are addressed in 8ec5126. Delta review r2 at 8ec5126: AGREE, with nits on the Rev. Rul. 2025-4 scope (now limited to the state PFML funds in 727ebcb) and on the Axiom issues (quotes and NY invariants added).
3698893465, no P1/P2. Every program matches its statute and every changed expectation recomputes. Outputs at the default share are bit-identical to the merge base over 1,584 households × 23 variables for 2024–2028.Review of 2026-10-20 (DTrim99)
Addressed at
7cb554e630: the three descriptions follow the house template; the MA share references cite c. 175M s. 6(c)-(d) and carry a one-line comment on the 2027-01-01 date; the invariants docstring describes NY and WA as their statutes do; and two YAML cases cover a partial share above the 2027 MA wage cap (442.29 / 1,249.95) and the CO employer-level aggregate at share 0.5 (6,600).mainis merged in, which brings #10295's 2027 rates and #10380's Delaware wage base (payroll_tax_gross_wagescapped at the Social Security base); the two Delaware conflicts keepmain's wage base and this PR's share.62a9f63e69then supplies the default share to #10380'stest_donut_invariants, whose hand-built evaluator of the Delaware formulas didn't know the new input (Contrib other-shard-1 failed at7cb554e630); CI is green at62a9f63e69(run 41407953599).CI
The only failure at f160968 was
nc_sa.yaml(North Carolina Special Assistance 2027 COLA:nc_sa_rate1448 vs 1436). It was main's failure, fixed on main by #10279 (#10282 was closed). Main has since been merged in, and all 29 checks pass at3698893465. Nothing here touches NC.Not in this PR
main; they scale by the share like the 2026 rates. Encode the published 2027 state paid leave premiums (CO, WA, NY, NJ) and cite the unchanged 2027 rates #10295 doesn't touch the Massachusetts parameters, so this PR's 2027 swap applies alone.Impact
None at the default share: every formula reduces to the previous one at share = 1, and MA's 2027 swap leaves each worker's employee and employer amounts unchanged (property 6). No national impact run is needed.
axiom: M.G.L. c. 175M s. 6 / Acts 2026 c. 101 → TheAxiomFoundation/rulespec-us#1817 queued; C.R.S. 8-13.3-507 → TheAxiomFoundation/rulespec-us#1818 queued; Minn. Stat. 268B.14 → TheAxiomFoundation/rulespec-us#1819 queued; N.Y. WCL 209 → TheAxiomFoundation/rulespec-us#1820 queued; 19 Del. C. 3705 → TheAxiomFoundation/rulespec-us#1821 queued; 26 M.R.S. 850-F → TheAxiomFoundation/rulespec-us#1822 queued; 32 V.S.A. 10553 → TheAxiomFoundation/rulespec-us#1823 queued; RCW 50A.10.030 → TheAxiomFoundation/rulespec-us#1824 queued (all blocked on corpus ingestion, TheAxiomFoundation/axiom-corpus#893); CGS 31-49g(b)(1) citation fix: n/a: reference-only change.
Generated by Claude Code