Repository navigation
Remove the BBCE net income test from California's Modified Categorical Eligibility - #10036
Conversation
CalFresh Modified Categorical Eligibility has no net income test. CDSS ACL 12-62 (examples 4-5), ACL 13-32, ACL 14-56 and ACL 15-42 direct that an MCE household of three or more gets the issuance-table allotment even when net income exceeds the net standard, and that one of one or two gets the minimum allotment. ACL 13-32 applies this to elderly or disabled households at or below 200% of poverty. MPP 63-409.1 and 7 CFR 273.9(a) exempt categorically eligible households from the income standards. Set CA to false in both net_applies parameters, cite the CDSS sources, move the net-standard rounding cases to Rhode Island, and add California cases with FY 2026 values from CDSS ACIN I-46-25. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CARE countable income counts SNAP. The Case 8 household is an MCE household above the net standard in November and December 2024, so with the BBCE net test gone it receives the $23 FY 2025 minimum allotment in those two months (CDSS ACL 12-62, example 4), and its countable income is 30,046, not 30,000. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
US + core hub: taking this draft forward (2026-10-10). The review of #10033 (SNAP heat-and-eat) found that #10033 had picked up a narrower version of this fix, exempting only one- and two-person California households. It recommended that the all-size waiver here carry the California correction. This PR's owner session isn't running, so the hub is doing the reconciliation:
Commits to this branch are additive: no rebase and no force-push. If the owner session resumes, the hub's work is recorded under |
|
@hua7450, this PR changes one partner contract case, and partner cases are your call. It needs your go before it can land. The case.
The file is unchanged here; the case fails at this head with Why it moves. The case's own comment calls it a deliberate pin of California's net-income test: net income of $2,324/month is above the net limit, so the household is ineligible on
The hub's independent review recomputed these numbers and reproduced the failure. The three questions from CLAUDE.md:
If you say yes, the hub will update the case with the arithmetic above in its comment. The PR stays a draft until then. |
hua7450
left a comment
There was a problem hiding this comment.
Review: policy verified; partner request needs updating before merge
The policy holds up against the sources. California's MCE has no net income test for any household size, with or without an elderly or disabled member (ACL 12-62 examples 4–5, ACL 13-32). California denies zero-benefit households of three or more (ACL 14-63). SNAP isn't CARE or FERA income (7 U.S.C. 2017(b)). The test arithmetic matches the FY2026 CDSS figures.
Blocking
- Partner request: this PR changes more partner cases than the request names. Besides the CA edge case, 12 signature cases (6 CA, 6 federal) move from ineligible to eligible. Now that 10033 is merged, the 11 households it pinned as ineligible would also become eligible again. Please update from
main, run the partner suite and list every changed case with old and new values, so I can approve them together. - Merge conflict:
snap_child_support_integration.yamlconflicts with 10033. Keep this PR's version (eligible, $24). Thesnap_utility_allowance: 0input is no longer needed, because the model now gives $0 for that household.
Please fix
- Remove
changelog.d/hub-ca-care-excludes-snap-1010.fixed.md. 10065 already merged with that entry. - In
ca_snap_meets_allotment_requirement.py, drop the hard-codedsize < 3. One- and two-person units always get the positive minimum, soallotment > 0alone gives the same result. - Replace
test_ca_snap_eligibility.pywith YAML cases. It adds about 143 seconds, and YAML covers the same behavior.
Optional
- The
in_cacheck inis_snap_eligible.pyis redundant, because the CA variable already defaults to true outside California. - Add
#page=1to the ACL 11-11 reference. - Some new fixtures have unneeded
2026:input keys.
hua7450
left a comment
There was a problem hiding this comment.
Partner cases: yes. The 24 edits in 8f3369be39 are correct. Only snap and is_snap_eligible change, and each new value matches a hand calculation from the case's inputs. Yes to the three partner-test questions for these 24 cases.
One comment fix there: for the 7 rent-plus-phone and rent-plus-utilities cases, the Oct–Dec amounts use California utility allowances that the model uprates ($20 to $20.71, $170 to $176), because FY2027 values aren't in the model yet. Please say so in those comments; a hand check with the published $20/$170 gives $1,413/$1,953.
Please fix
ca_snap_meets_allotment_requirement.yaml: use the test conventions (Case N, …names,person1, numbers like2_608) instead of names likelower_person_1, and move it undereligibility/to mirror the variable.- The cases this PR adds to
is_snap_eligible.yaml: same naming and number fixes. - Fold
changelog.d/ca-snap-zero-allotment.fixed.mdinto the branch-named fragment.
I'll approve once these are in and CI is green.
hua7450
left a comment
There was a problem hiding this comment.
Approving at b3b4e07718. All four requests from my last review are addressed, and the 24 partner contract changes match what I approved.
Nit: the PR body still gives the old test path twice (gov/states/ca/cdss/snap/ca_snap_meets_allotment_requirement.yaml); the file is now under snap/eligibility/.
California Modified Categorical Eligibility (MCE) households lost SNAP when their net income exceeded the regular 100% poverty standard. MCE waives that eligibility standard for every household size. This sets California's elderly/disabled and other BBCE
net_appliesflags tofalse; net income continues to determine the benefit amount, and the MCE gross-income limit still applies. A separate California participation screen denies a zero calculated allotment, preserving the positive minimum for one- and two-person households.#10065 and #10033 are now merged into
main. This branch retains its earlier additive merges and merges currentmainthrough a plain merge commit; it does not duplicate #10065's changelog entry or change #10033's federal heat-and-eat policy. Case 8 (calendar 2024) has $30,000 wages and three $23 SNAP minimum payments in October, November, and December ($69 annually). California's poverty-guideline cutover is October: the monthly MCE gross ceiling rises to $2,510 against $2,500 wages. The working-person fixture explicitly supplies 30 weekly hours because the core YAML runner does not copy suppliedemployment_incometoemployment_income_before_lsr, which SNAP's earnings exemption reads. SNAP adds $0 to CARE/FERA income, so countable income remains $30,000.Comparison baseline:
mainat 8ae01aa; final PR head: 8f3369b. This continuation starts from pushed head55899ea8e97f432d5e863679df09ea9ffe94f2d7. Current-head validation and partner verification are reported below; historical results are labeled separately.Sources and effective date
Regression cases and arithmetic
mainalso computes a $0 automatic utility allowance for this household after Apply federal SNAP heat-and-eat SUA restriction in all states #10033; the zero-allowance input remains a controlled fixture assumption, with the same result as the default.snap_utility_allowance: 0input is removed; the current model derives $0. Gross ($36,275.59 − $5,200)/12 = $2,589.63 < $2,610; the earned deduction uses full wages, $36,275.59/12 × 20% = $604.59. Net before shelter is $1,776.04; rent $880 < half-net $888.02, so shelter deduction is $0. Rounded net $1,776 gives $298 − ceil($532.80) = −$235, raised to $24. 7 CFR 273.9(d)(2) supports the full-wage earned deduction.policyengine_us/tests/policy/baseline/gov/states/ca/cdss/snap/ca_snap_meets_allotment_requirement.yamlcontains 9 deterministic cases: eight CA pairs and a Washington control. Sizes 1/2 use net $0/$2,608 and $0/$3,525, giving $298/$24 and $546/$24. Sizes 3–8 use $1/$0 boundaries at nets $2,613/$2,614, $3,310/$3,311, $3,940/$3,941, $4,733/$4,734, $5,233/$5,234 and $5,960/$5,961. The Washington pair retains eligibility at both $1 and $0. Gross inputs floor the model's exact 200%-FPG limits rather than impose chart rounding. The YAML replacement is committed; final validation is listed below. Existing wage-based regressions retain the $1/$0 boundaries and one/two-person minimum cases below; the former Python test is removed at Ziming's request.Methodology
The original branch used zero-utility fixtures to isolate the MCE correction before #10033's heat-and-eat correction landed. Current
mainincorporates #10033, so the four-person January 2026 renter and the child-support household both derive a $0 allowance by default. Their net income and resulting MCE changes are now the same with default versus explicit zero utility inputs. The child-support pin is removed as requested. The earlier comparison with a $663 default SUA and $198 renter benefit is historical and does not describe currentmain.The net waiver and California zero-allotment screen use the existing 2015-10-01 modeled MCE baseline. Relative to current
main, the net-test flags become false and the participation screen is added from that date. This PR preserves #10033's default utility policy and does not extend modeled coverage to the legal February 2011 expansion. The existing $48,000-wages, no-rent four-person case gets $100 in January after the waiver, and above-200% gross-limit guards remain. These previously accepted fixture and baseline choices are unchanged; METHODOLOGY_CHOICE: no.SNAP → CARE → FERA regression
The June 2026 fixture has three people: a parent earning $40,000, a 16-year-old K–12 student earning $20,000, and a 14-year-old sibling. CARE counts both earners under the PG&E application income footnote: $60,000 > $54,640, the CPUC CARE ceiling for June 2026–May 2027; income remains below FERA's $68,300 ceiling. Medicaid, WIC, SSI, TANF and reported program receipt are explicitly excluded so that calculated SNAP alone supplies CARE categorical eligibility. CARE/FERA countable income is exactly $60,000 because #10065, now merged into
main, excludes SNAP from income.7 USC 2014(d)(7) excludes the schoolchild's wages from SNAP. Using the FY2026 CDSS table, attachment I: SNAP gross $40,000 / 12 = $3,333.33 is below the published $4,442 MCE ceiling. With no rent or utility allowance, net $3,333.33 − $666.67 earned deduction − $209 standard deduction = $2,457.67 rounds to $2,458 > $2,221. MCE waives that net test; $785 − ceil(0.30 × $2,458) = $785 − $738 = $47 monthly.
The fixture asserts SNAP eligible, CARE income eligibility false, CARE categorical and overall eligibility true, and FERA false. Current
mainretains the MCE net test, so the same household is denied SNAP; CARE categorical/overall eligibility are false and FERA is true (static reasoning, not a current executed comparison). No rent or utilities prevents a different month's annual SNAP calculation from conferring CARE onmain. The previous $45,000 renter's nondiscriminating FERA assertion remains replaced by this case; its SNAP arithmetic remains covered.Invariants and validation
The waiver applies to all California MCE household sizes, with or without an elderly/disabled member. Gross screening remains; net income still sets the allotment. The California participation screen uses only
allotment > 0: one- and two-person units already receive the positive minimum from the shared allotment calculation. The redundantin_cacheck is removed fromis_snap_eligible, because the California gate defaults to true outside California. Other states retain their existing behavior, including Rhode Island controls retaining the net test. CARE/FERA countable income remains invariant to a SNAP-only change through merged #10065.Final changed-file validation at
8f3369be39447c6a918328ca1e94d6b858106279:policyengine_us/tests/policy/baseline/)gov/states/ca/cdss/snap/ca_snap_meets_allotment_requirement.yamlgov/hhs/tanf/non_cash/meets_tanf_non_cash_net_income_test.yamlgov/states/ca/cpuc/integration.yamlgov/usda/snap/eligibility/is_snap_eligible.yamlgov/usda/snap/snap_child_support_integration.yamlpartners/analytics_coverage/edge_cases/federal/nutrition/snap/ca.yamlpartners/analytics_coverage/signatures/ca.yamlpartners/analytics_coverage/signatures/federal.yamlPassed at final head:
uvx ruff@0.15.5 format .(6,953 files unchanged),uvx ruff@0.15.5 check ., andgit diff --check.make formatalso passed before the partner-review commit. The working tree is clean.Current CI: Pull request run 38683845899 at the final head skipped all seven test/validation jobs because the PR is a draft, including Household API Partners. It provides no executed test validation.
Every current test runs one file per foreground process with the prescribed interpreter and these thread caps:
OMP_NUM_THREADS=4 OPENBLAS_NUM_THREADS=4 MKL_NUM_THREADS=4 VECLIB_MAXIMUM_THREADS=4 NUMEXPR_NUM_THREADS=4 OMP_WAIT_POLICY=PASSIVE. Standard retests use the unchanged Core CLI. The pre-edit audit used an untracked subclass of Core’s YAML test plugin to aggregate every failed assertion after checking all outputs in the same simulation, and to record monthly diagnostics. It preserved every original failure and returned nonzero for the old expectations. The audit did not edit installed runner or model sources; final-head retests use the standard CLI without that audit subclass. No microsimulation is run in this revision; the hub handles that separately. Commands, diagnostic captures, and logs stay in untracked evidence.Historical validation: earlier draft heads passed 23 and then 24 eligibility YAML cases, 15 utility-integration cases, and the former Python test with 40 generated and eight explicit Hypothesis examples. That Python test took 142.61 seconds of pytest time and is now replaced by deterministic YAML. Those historical Round 2 runs used an untracked shutdown plugin that skipped extra garbage collections and froze cyclic objects; shutdown-only finalizers or unraisable exceptions could be suppressed. Neither generated coverage nor those harness results are claimed for the replacement or final head. The original owner's 1,500-household seeded differential check predates the zero-allotment screen. GitHub run 38105600351 skipped all seven jobs and provides no executed validation.
The previous continuation's serial run passed the eligibility, CPUC integration, non-cash TANF, and child-support files. Its first paired-YAML run had eight passes and a one-person gross-threshold fixture failure; pushed continuation head
55899ea8e97f432d5e863679df09ea9ffe94f2d7contains the correction to the model's exact threshold. Its original partner expectations failed in the 24 predicted cases. These are historical results, separate from the final-head table above.Hub microsimulation impact (current head)
A real microsimulation on the default dataset, main at the merge base
8ae01aa3cbagainst this PR's head8f3369be39, for 2025 and 2026. The runs went one at a time under the shared heavy-job lock. Sums are weighted.snapis_snap_eligiblestate_income_taxincome_taxhousehold_net_incomehousehold_benefitsEvery SNAP change is an increase: no record's SNAP amount falls.
is_snap_eligibleturns true on records with about 530,000 weighted units in 2025 and turns false on about 11,500. Because no SNAP amount falls, those losing eligibility were already getting $0. This run doesn't break the change out by state.Comparison files are in
fixes/10036-impact/on the hub host.Partner impact and landing blocker
The approval request expands to all changed cases observed in the three affected partner files after merging current
main, including the 12 original no-rent signature cases and the 11 rental households #10033 pinned as ineligible. The observed inventory below contains 24 cases: the California edge case, ten CA signatures, and thirteen federal signatures. It supersedes the earlier request that named only the edge case.The three affected files were audited at
55899ea8e97f432d5e863679df09ea9ffe94f2d7: 52 cases / 2,732 asserted outputs. Exactly 24 cases / 48 values failed the old expectations, and every failure was eithersnap($0 to the observed positive amount) oris_snap_eligible(false to true). The remaining 2,684 assertions met their existing expectations, including downstream program outputs.Partner inventory validation remains incomplete: 69 of 144 files have passing final-head process results, covering 257 cases in those passing processes. There are 75 files without a passing process result. The full inventory contains 623 cases. The 24-row table is the complete observed change set in the three audited files; an exhaustive runtime claim for all partner files is not made. Remaining filenames and individual counts stay in the untracked hub evidence. Final-head standard retests are distinguished from the pre-edit audit above. All 37 files containing California/default-California fixtures passed, covering all 128 California cases identified in the static inventory; no further changed partner expectations were found there.
The first bounded scan stopped Kansas CHIP for finalization; its standard-CLI retry passed all three cases. The final counts use that completed retry. All files without a passing result remain explicitly incomplete.
Partner expectations are updated only for those 48 required output changes. The table below contains the complete observed set in these three files. Standard Core CLI retests of all three updated files passed; their per-file results are recorded in the validation table above.
All 24 rows below are observed model outputs from the complete three-file audit. Ziming Hua (@hua7450) decides approval for the complete observed set together. Partner approval and any required partner notification remain landing requirements. No PR comment or review reply is posted by this revision.
Partner cases changed (for Ziming's approval)
All cases are calendar 2026. The federal-signature fixtures omit a state input and use the model’s default
state_code: CA; those rows also represent California households. File aliases denote these complete paths:SNAP CA:policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/federal/nutrition/snap/ca.yamlSignatures CA:policyengine_us/tests/policy/baseline/partners/analytics_coverage/signatures/ca.yamlSignatures federal:policyengine_us/tests/policy/baseline/partners/analytics_coverage/signatures/federal.yamlThe old columns are committed main expectations, read from the fixtures; main has not been separately rerun. The new columns are observed model outputs from the complete audit at
55899ea8e97f432d5e863679df09ea9ffe94f2d7. Every listed case changes both outputs; all other assertions in these three files meet their existing expectations.snap_ca_net_income_above_net_limit_all_year_38000 (ca)signature_22 (10 reqs)signature_28 (8 reqs)signature_44 (6 reqs)signature_58 (4 reqs)signature_60 (4 reqs)signature_61 (4 reqs)signature_63 (4 reqs)signature_78 (4 reqs)signature_79 (4 reqs)signature_80 (4 reqs)signature_8 (25 reqs, +2 dupes)signature_126 (2 reqs)signature_138 (1 reqs)signature_139 (1 reqs)signature_142 (1 reqs)signature_147 (1 reqs)signature_151 (1 reqs)signature_152 (1 reqs)signature_159 (1 reqs)signature_160 (1 reqs, +1 dupes)signature_161 (1 reqs, +1 dupes)signature_177 (1 reqs)signature_179 (1 reqs)Signature arithmetic: all annual totals use nine FY2026 months and three modeled FY2027 months. The complete audit confirms all five annual-amount groups shown here. Main already models both the FY2027 utility uprating and cents-then-whole-dollar net-income rounding used here. Correcting the earlier draft's flat-utility arithmetic changes neither methodology nor policy.
These cases retain the gross ceiling and positive-allotment screen. The eligibility correction does not restore #10033's heating/cooling SUA. The complete audit checked every asserted output in these files. Only the 48 SNAP/eligibility assertions required expectation changes; the other 2,684 assertions pass within their existing fixture tolerances.
Partner contract case (needs hua7450)
snap_ca_net_income_above_net_limit_all_year_38000 (ca)has old contract valuessnap: 0,is_snap_eligible: false. The observed new values are $1,122 annually and true. The zero-allotment screen does not deny this household because every monthly allotment is positive. Ziming's approval is requested for this case together with all signature cases above.January–September 2026: $38,000/12 = $3,166.67 gross, below the published three-person MCE ceiling $4,442. Subtract the $633.33 earned deduction and $209 standard deduction to get $2,324.33, rounded net $2,324. No utility or shelter deduction applies. $785 − ceil(0.30 × $2,324) = $87/month. October–December use modeled FY2027 maximum $808 and standard deduction $217: rounded net $2,316 gives $808 − ceil($694.80) = $113/month. Annual total is 9 × $87 + 3 × $113 = $1,122. The FY2026 source supports the first nine months; the last three use modeled FY2027 parameters.
The complete five-case edge-file audit observed exactly these two changed values; the other eight assertions met their existing expectations. Standard Core CLI retest results for the updated expectations are recorded in the final validation table above.
Historically, Round 2 at
a04cc81702f88092d360660551b3d885f97052f8passed the other four cases in this edge-case file and failed this case withsnap@2026: 1122.0 differs from 0.0; a separate eligibility-only run reproduced true versus false. Those historical runs do not establish complete merged-main partner impact.Known interactions
California's treatment is resolved and implemented. ACL 14-56, page 6 states that California chooses denial for CE/MCE households of three or more with zero benefits; counties discontinue ongoing cases after mandatory or verified-upon-receipt income/expense changes and deny zero-benefit recertifications. Its page 4 preserves the minimum for one/two-person MCE households and positive issuance-table allotments for larger households above the regular net standard, including ongoing allotments below $10. ACL 14-63, pages 1–2 confirms denial for three-or-more-person CE/MCE applicants, termination of ongoing zero-benefit cases, and denial at recertification; one/two-person CE households retain the minimum outside the initial month.
7 CFR 273.10(e)(2)(iii)(A)–(B) requires states either to deny or to certify and suspend an otherwise eligible household of three or more with no benefits. It excludes zeros caused by initial-month proration or the initial-month prohibition on issuing less than $10. Subparagraph (iv) requires certification beginning in the application month when those initial-month issuance restrictions prevent benefits but later months qualify. Subparagraph (ii)(C) provides the one/two-person minimum outside the initial month. The model does not represent application-month proration/issuance exceptions.
snap_allotment_before_eligibilityholds the existing maximum-minus-rounded-contribution calculation with the applicable minimum. Bothsnap_normal_allotmentandca_snap_meets_allotment_requirementuse it, avoiding an eligibility/allotment cycle or duplicate calculation. The California gate now requires only a positive calculated allotment; because one- and two-person units already receive the minimum, dropping the hard-coded size check preserves their treatment. The gate remains independent of the waived net-income standard and starts at the existing October 2015 modeled MCE baseline.Hand-worked January 2026 boundaries (CDSS FY2026 maximums $785 for three, $994 for four): three-person net $2,613 gives $785 − ceil($783.90) = $1, while $2,614 gives $785 − ceil($784.20) = $0; four-person net $3,310 gives $994 − $993 = $1, while $3,311 gives $994 − ceil($993.30) = $0. The existing YAML derives these nets from annual wages $42,330/$42,345 and $52,995/$53,010, respectively, with zero housing/utility allowance. One/two-person cases retain $24. The four-person $60,000-wages/no-rent case remains MCE but is denied participation: $5,000 − $1,000 − $223 = $3,777 net; max(0, $994 − ceil($1,133.10)) = $0.
Federal scope gap: other states currently can report categorical eligibility with a zero normal allotment (the existing Missouri three-person zero-benefit case in
gov/usda/snap/snap_categorical_eligibility_ceiling.yamlexpectsis_snap_eligible: true), and the model has no certified-but-suspended participation status or other-state denial-option screen. Federal law permits suspension as an alternative to denial, so a universalis_snap_eligible=falserule would be unjustified. This PR implements California's documented denial option only; other states retain their behavior. MCE exclusions for IPV-disqualified members and noncompliant household heads remain unmodeled. This revision files no public issues.Response to Ziming's review
Blocking — partner request: merged current
main; the section “Partner cases changed (for Ziming's approval)” lists all 24 observed case changes and both old/new outputs. The three affected files were audited in full (52 cases / 2,732 assertions); only the 48 SNAP/eligibility values required updates. The remaining partner-suite status is reported above. Ziming's approval remains pending.Blocking — merge conflict: retained eligible/$24 in
gov/usda/snap/snap_child_support_integration.yamland removed the unnecessarysnap_utility_allowance: 0input. The model derives $0; final validation is in the table above.Please fix — duplicate changelog: removed
changelog.d/hub-ca-care-excludes-snap-1010.fixed.md, already merged through Exclude SNAP from California CARE and FERA countable income #10065.Please fix — hard-coded size check:
ca_snap_meets_allotment_requirement.pyreturns onlyallotment > 0; the shared one/two-person minimum supplies their positive allotment.Please fix — Python test cost: replaced
gov/states/ca/cdss/snap/test_ca_snap_eligibility.pywith nine deterministic cases inca_snap_meets_allotment_requirement.yaml: paired California sizes 1–8 and a Washington control. Final validation is in the table above.Optional — redundant state check: removed
in_cafromis_snap_eligible.py; the CA gate defaults to true elsewhere. The YAML replacement includes a Washington control.Optional — ACL reference: added
#page=1to ACL 11-11 in both BBCEnet_appliesparameter references and the source link above.Optional — fixture input keys: removed eight unnecessary
2026:input wrappers fromgov/usda/snap/eligibility/is_snap_eligible.yaml; retained explicit periods where needed.Second review — partner comments: Ziming approved the 24 partner changes; the seven rent-plus-phone/utilities comments now state that October–December use California allowances uprated by the model ($20 to $20.71; $170 to $176) because FY2027 values are not in the model yet. Inputs and expected values are unchanged.
Second review — California allotment tests: moved
ca_snap_meets_allotment_requirement.yamlwithgit mvintogov/states/ca/cdss/snap/eligibility/; all nine cases useCase N, ...names,person1-style entity IDs, and underscored numbers such as2_608, preserving the fixtures and expected values.Second review — SNAP eligibility tests: applied the same conventions to only the 13 cases this PR adds to
is_snap_eligible.yaml(Case 12–Case 24); the eleven pre-existing cases are unchanged.Second review — changelog: folded
changelog.d/ca-snap-zero-allotment.fixed.mdintochangelog.d/fix-ca-mce-net-income-test.fixed.mdand deleted the extra fragment.Second review — validation: all eight PR-changed YAML files passed at
b3b4e0771837fd0a500816b39c2e019edcf2ded8, one foreground process per file with all prescribed thread caps: TANF net-income 9, CA allotment 9, CPUC integration 15, SNAP eligibility 24, child support 3, partner edge CA 5, signatures CA 29, signatures federal 18 (112 passed, 0 failed, all processes exited 0).uvx ruff@0.15.5 format .(7,015 unchanged),uvx ruff@0.15.5 check .,make format, andgit diff --checkpassed.Second review — branch and response: confirmed starting head
8f3369be39447c6a918328ca1e94d6b858106279, mergedmainatf9b55fc4dd05f1bed921a4dd06cb8c81f6ceb2c7without conflicts, committed review changes atb3b4e0771837fd0a500816b39c2e019edcf2ded8, and pushed both commits as a fast-forward tofix-ca-mce-net-income-test; saved the previous body to untrackedhub-evidence/10036-body-before-r2.mdand preserved all sections, axiom declarations, and the final footer content.The prior merge and cleanup commits remain intact. This continuation adds fast-forward commit
8f3369be39447c6a918328ca1e94d6b858106279(24 required partner outcomes and arithmetic comments), pushed tofix-ca-mce-net-income-test. No history was rewritten. All partner inputs and non-SNAP expectations are preserved.The previously accepted modeled effective date and utility-fixture methodology are retained: METHODOLOGY_CHOICE: no.
axiom: CDSS ACL 13-32 and ACL 15-42 (CalFresh MCE net income ceiling) encoded-correct (us-ca/policies/cdss/snap/fy-2026-benefit-calculation.yaml#calfresh_mce_net_income_eligibility_test_waived, companion test mce_waives_the_net_ceiling_but_net_income_still_computes_the_benefit)
The original owner checked that RuleSpec module, composition and companion test at rulespec-us main
16a667719; it expects a three-person MCE household above the net standard to be eligible for $97. Execution was blocked by the local engine'sauto_gate_outputscompleteness check. That historical MCE parity status is preserved; the CARE/FERA correction is already merged in #10065.axiom: TheAxiomFoundation/rulespec-us#1098 queued
Parity for California's zero-allotment participation screen (CDSS ACL 14-56, page 6; ACL 14-63, page 2) is separately queued in the linked issue; the net-waiver
encoded-correctevidence does not cover this screen. This revision preserves both existing axiom declarations.