Repository navigation
Count Colorado's in-kind support and maintenance for AND-CS clients in another person's household - #10183
Count Colorado's in-kind support and maintenance for AND-CS clients in another person's household#10183MaxGhenis wants to merge 11 commits into
Conversation
9 CCR 2503-5 3.520.79 counts in-kind support and maintenance as unearned income of OAP and AND-CS clients. Since March 2, 2014 an SSI recipient whom SSA charges ISM is charged a matching ISM (3.520.79(B)(6), 3.520.71(E)). AND-CS counted only SSI's presumed maximum value, so a client on SSI's one-third reduction (20 CFR 416.1131) was paid the whole reduction back: $331.33/month in 2026 instead of $20. co_ssa_in_kind_support_and_maintenance matches SSA's ISM for SSI recipients (the one-third reduction or the presumed maximum value, halved for a couple), counts up to the published maximum for other clients (3.520.79(C)), and before 2014 caps shelter at the grant standard's shelter component and counts food supplied in full (3.250.22, 3.250.222). AND-CS reads it; OAP will once its income rewrite lands. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… is worth 3.520.79(C) sets the amount from what the client pays: the maximum less the payment, the lesser of the fair share and the maximum less the payment, or the maximum for a client paying nothing. It never uses the value of the shelter. With no input for the payment, a client receiving shelter from others is taken to pay none and is counted the maximum; ssi_shelter_support_value no longer caps Colorado's own amount (it still feeds SSA's ISM, which SSI recipients match). Applies the GPT-6.1 Sol review of 9cb7d30. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…re invariant Applies the GPT-6.1 Sol review (round 2) of 0c4370a: - 3.520.786(B) (3.250.32 before 2014) exempts room and board furnished during medical confinement and paid by a third party, so a client in a medical treatment facility is counted no ISM. - The January 2004 AND/SSI-CS table prints a $513 maximum grant against a $601 grant standard, so the base of its 37% shelter and 20.5% food components is unsettled. The pre-2014 formula now starts with the 2007 table (36.6%, 20.5%); 2002-2006 are left for the standards audit. - The no-backfill invariant subtracts any state supplementary payment that raises a grant to the $13 floor; the review's counterexample (a couple earning $1,145 and $106 a month) is pinned as a Hypothesis example. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
09e2819 to
8e69c97
Compare
3.520.79(B)(6) charges an AND-CS client the ISM SSA charges, and SSA's presumed maximum value halves once spousal deeming starts. Spousal earnings that cross SSI's deeming threshold therefore lower the client's ISM by about as much as the deemed earnings rise, and countable income can fall by cents. Found by Hypothesis in the ISM session (#10183); pinned by test_ism_basis_switch_at_ssi_deeming_threshold. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Picking this up for the US hub. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
|
Handing this PR to the US + core hub at the hub's request. GPT-6.1 Sol's latest review requests changes at this head, so the fixes below come first.
Review findings
OAP#10176 merged, so OAP no longer waits on it. Main's The swap needs YAML cases computed from the rule, plus one for a spouse outside Colorado: |
|
Picking this up for the US hub. I'm continuing an earlier session's work on this brief; that session stopped before pushing anything here. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
|
Picking this up for the US hub. I'm continuing earlier sessions' work on this brief; they stopped before pushing anything here. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
…heck - 2002-2006: co_ssa_in_kind_support_and_maintenance had no formula, so AND-CS lost the presumed maximum value #10161 counted (a 2004 renter with outside shelter support went from $37 to $225). formula_2002 keeps that count, halved for a couple, until the pre-2014 component base is audited. New co_state_supplement.yaml Case 38 pins $37. - OAP: co_oap_in_kind_support_and_maintenance reads Colorado's ISM, so OAP clients get SSA's one-third reduction matched (3.520.79(B)(6)) and Colorado's maximum without SSI (3.520.79(C)(3)). The ISM variable drops its Colorado-only restriction: OAP deems a spouse's ISM and the spouse may live elsewhere (3.534(C)). OAP own-income Case 10 now counts $351 - $20. - Invariant 3 takes the floor top-up from the rule, max(0, floor - grant) for a positive grant, not from the supplement under test. - The medical-confinement comment says an SSI recipient in a facility with outside shelter support is still charged SSA's ISM. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Ready for hub review Head: I continue earlier sessions' work on this brief. They pushed nothing here. I kept this PR's four earlier commits and merged #10161's new head ( The hub hand-off's review findings (GPT-6.1 Sol at
|
| Mutant | Killed by |
|---|---|
| 2002-2006 ISM returns 0 | co_state_supplement.yaml: 1 failure (Case 38) |
| OAP reads SSI's PMV ISM again | co_oap_in_kind_support_and_maintenance.yaml: 4 failures; co_oap_own_countable_income.yaml: 1 |
| ISM restricted to Colorado again | co_oap_in_kind_support_and_maintenance.yaml: 3 failures, including the Nevada case |
| AND-CS pays $300 over the floor whenever the floor applies (the review's $313-for-$13 grant) | test_co_ism_invariants.py: invariant 3 fails |
The earlier session's mutants for readings (b) and (c) are in the body. I didn't rerun them.
CI
Not run: the PR is a draft and CI skips drafts.
Judgment calls
- The ISM amount (d1446): reading (a), SSA's matching ISM. The hub now rules on single readings and logs them. 3.520.79(B)(6) "matching ISM" and 3.520.71(E) "identical ISM amount" address exactly this client, so the PR keeps (a). (b), Colorado's $351 maximum, is a one-line change in
_ssa_ism. This needs the hub's ruling before landing. - 2002-2006 keeps SSI's PMV ISM, as the review recommended, rather than a Colorado component. For the review's 2004 client it sits between the two candidate shelter components ($189.81 on a $513 base, $222.37 on $601). The pre-2014 standards audit is still owed.
- Colorado's ISM for a non-Colorado spouse. Dropping the Colorado restriction means a spouse elsewhere who isn't on SSI and receives shelter support is counted Colorado's (C)(3) maximum when OAP deems their income. That follows from 3.534(B)(1) counting the spouse's unearned income and (C) setting no residence condition. The alternative is to count only SSA's matching ISM for a spouse outside Colorado.
- OAP now counts Colorado's own ISM for clients without SSI ((C)(3)), the behavior main's comment listed as unmodeled. Clients receiving shelter from others are taken to pay none, as for AND-CS.
What I couldn't check
This session's network policy blocks www.sos.state.co.us and web.archive.org, so I couldn't fetch 9 CCR 2503-1/-2/-4/-5 or the CDHS packet. The rule quotes and table figures in the body come from the PR's earlier body and the hub's hand-off comment. My hand computations use those figures and SSA's published rates.
Proposed follow-up
- Audit Colorado's pre-2014 AND-CS grant standards and ISM components. The 2004 table prints a $513 maximum grant against PolicyEngine's $601. Settle the base, then replace
formula_2002's PMV stand-in with Colorado's 2002-2006 shelter and food components.
Generated by Claude Code
|
Hub review in progress The final review for head Generated by Claude Code |
|
Ready for hub review Independent review of this PR's own diff, FindingsP2. In 2002–2006 the one-third backfill remains, and neither the body nor the code comment says so
Witness: a single disabled 40-year-old in another person's household, receiving shelter and all meals, CO, January 2005. I ran it on main, on #10161's head and on this head with period-keyed inputs: That is 604 − 386 = $218, the full offset. The same client in 2007 or later gets $0 or $20. Behavior is unchanged from base, so this is a text fix, not a code fix. Replacement for the body's model-table row:
Add to the # SSI's presumed maximum value is $0 under the one-third reduction,
# so a client in another person's household is counted no ISM in
# these years and AND-CS still offsets that reduction in full.The pre-2014 audit follow-up the hand-off proposes should name this client. P2. No CI has run at this head, and none will until the base is
|
| Mutant | Result |
|---|---|
M1 formula_2002 returns 0 |
killed: co_state_supplement.yaml 1 failed (Case 38) |
| M2 OAP variable replaced with main's file | killed: co_oap_in_kind_support_and_maintenance.yaml 3 failed; co_oap_own_countable_income.yaml 1 failed |
M3 defined_for = StateCode.CO restored |
killed by co_oap_in_kind_support_and_maintenance.yaml (3 failed); survives co_oap_deemed_income.yaml (P3) |
| M4 AND-CS pays $300 over the floor | killed: test_co_ism_invariants.py::test_properties |
| M5 reading (b): $351 for the one-third reduction | killed: ISM file 3 failed; co_state_supplement.yaml 5 failed |
| M6 reading (c): no ISM for the one-third reduction | killed: ISM file 3 failed; co_state_supplement.yaml 5 failed |
| M7 (mine) the one-third ISM from paid SSI, not the rate | survives the ISM file; killed by co_state_supplement.yaml 1 failed (Case 33) |
| M8 (mine) the pre-2014 food component dropped | killed: ISM file 2 failed |
| M9 (mine) PMV not halved for a couple | killed: ISM file 1 failed |
- Partner tests.
- No file under
policyengine_us/tests/policy/baseline/partners/or.github/changes (git diff --stat 8707792d09 64a74c5bf7 -- partners .githubis empty). - Every partner fixture that reads Colorado's SSA programs passes unchanged on this head:
my_friend_ben/2025.yaml1/1. Underanalytics_coverage:edge_cases/state/co/state_supplement.yaml3/3,oap.yaml3/3,care_worker_credit.yaml4/4,family_affordability_credit.yaml4/4,eitc_ctc.yaml2/2,tax_credits_composition.yaml2/2, andsignatures/co.yaml6/6.
- No file under
- Body and docs. The
impact:andaxiom:lines are present. The per-file case counts match my runs.- The before/after table matches my main and base runs: 331.33, 322.33, $2,884, $232.67 and $37.
- The readings table matches the arithmetic. Under (b), 994 − 662.67 − 331 = 0.33, raised to $13; couple 994 − 497 − 341 = $156.
- The changelog fragment is top-level
changelog.d/co-adult-financial-ism.fixed.md.
- Baseline movement. The diff moves output only for people with
ssi_lives_in_another_persons_household,ssi_receives_shelter_from_others_in_household,ssi_others_pay_all_mealsorssi_receives_outside_shelter_supportset. Those are inputs defaulting to False; the PMV path for SSI recipients is unchanged. OAP's SSI test moves fromssi_paid(ssi) > 0tossi > 0, which differs only below half a cent. The population check: does the dataset set any of those four flags for Colorado records? If not, baseline impact is nil. If so, expect lower AND-CS and OAP for those records. - Overlap.
- Apply 416.1163(e)(2) to deemed SSI and identify SSI couples by marriage, not tax roles #10141 (open) refactors
ssi_amount_if_eligibleandssi_couple_computation_applies, which_ssa_ismreads. I read its patch. It moves the one-third and $30 facility logic intossi_living_arrangement_amountwith the same arithmetic, so the matching ISM shouldn't move. It shares no file with this diff. - Add Colorado LEAP regular heating assistance #10609 and Include farm and partnership earnings in SSI and correct loss netting #10532 match the search terms only in text; neither changes a file this PR touches.
- Apply Colorado's AND-CS payment floor and 3.549 income rules to every client #10161 is this PR's base.
- Apply 416.1163(e)(2) to deemed SSI and identify SSI couples by marriage, not tax roles #10141 (open) refactors
What I couldn't check
- Primary sources. This session's network policy refuses www.sos.state.co.us, www.ecfr.gov, www.govinfo.gov, uscode.house.gov, www.ssa.gov, web.archive.org, www.law.cornell.edu and cdhs.colorado.gov, for both curl and fetch. I couldn't read 9 CCR 2503-5 3.520.79 (A), (B)(6), (C)(3) or (E), 3.520.71(E), 3.520.786(B), 3.534, the 2503-1/-2/-4 tables, the CDHS 2025-00596 packet, or 20 CFR 416.1131 and 416.1140. I quote none of them. Web search snippets (not the text) agree that 416.1131 counts one-third of the FBR, and one-sixth of the couple rate to each spouse. The reading choice and the 2002–2006 base need a reviewer who can reach those sites.
- The deeming case under the one-third reduction. For an SSI recipient with an ineligible spouse whose income is deemed,
ssi_amount_if_eligibleuses the couple rate, so the matching ISM would be couple FBR / 3. My runs didn't trigger deeming, so I couldn't test whether SSA charges that amount. - Couples without SSI. Colorado charges each of them the full $351. I couldn't check whether the rule halves it for a couple.
- Data. I have no population data, and the hub measures impact. I couldn't check peak memory:
/usr/bin/timeisn't installed here.
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 |
Brings in #10161's round 1 fixes. Both branches appended co_state_supplement cases from Case 33: #10161's three SSI-couple cases keep 33-35, and this branch's six ISM cases become 36-41. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6GVxJNmuxpvgfooGjd
Under the one-third reduction SSI counts no presumed maximum value, so in 2002-2006 AND-CS counts no ISM for a client in another person's household and still offsets the reduction in full. Behaviour is unchanged; the comment now says so. Also from review round 1: - co_oap_deemed_income Case 21 deems a Nevada spouse's Colorado ISM (1,000 + 351 - 1,032 = 319), so restoring defined_for = StateCode.CO now fails a deeming test, not only the ISM variable's own file; - invariant 2's upper bound applies only to twins on SSI, as its docstring says, instead of passing for non-SSI twins only because $351 <= $351.33. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6GVxJNmuxpvgfooGjd
|
Ready for hub review Head: Round 1 fixes (items 7 to 11). The branch was at the named head
The base is still Items
Tests at this head, one file per process (
|
| File | Result |
|---|---|
co_state_supplement.yaml |
41 passed |
co_state_supplement_deeming_exempt.yaml |
11 passed |
co_state_supplement_deemed_income.yaml |
12 passed |
co_state_supplement_own_countable_income.yaml |
8 passed |
co_oap_deemed_income.yaml |
21 passed |
co_oap_in_kind_support_and_maintenance.yaml |
5 passed |
co_ssa_in_kind_support_and_maintenance.yaml |
18 passed |
test_co_ism_invariants.py |
2 passed |
test_co_and_cs_invariants.py |
4 passed |
test_co_oap_invariants.py |
2 passed |
ruff format --check and ruff check are clean on the two Python files this round changed. The merge brought in #10161's files, which were already checked there.
Mutants
| Mutant | Result |
|---|---|
M3: defined_for = StateCode.CO restored on co_ssa_in_kind_support_and_maintenance |
killed by co_oap_deemed_income.yaml Case 21 (1 failed, 20 passed); restored with git checkout, git status clean |
CI
No run, as expected. pr.yaml runs only for PRs into main, and the base is co-and-cs-payment-floor-3549. CI starts when the hub moves the base.
Not checked
- I didn't fetch 9 CCR 2503-5. The quotes in the body are the hub's quoted text of 3.520.79(B)(6) and 3.520.71(E), each under 25 words.
- No microsimulation or population impact (per the brief).
- No partner or
.github/file changed.
Proposed follow-up
Audit Colorado's 2002-2006 AND-CS ISM base and the one-third-reduction offset. formula_2002 stands in SSI's PMV ISM, so an SSI recipient in another person's household still has the one-third reduction fully offset (January 2005: $218). This needs the pre-2014 grant-standard components settled first.
Generated by Claude Code
|
Hub review in progress The final round 2 review for head Generated by Claude Code |
|
Ready for hub review Round 2 delta review: the round 1 fixes from METHODOLOGY_CHOICE stays yes. The PR picks the matching reading, SSA's one-third ISM for an SSI recipient in another person's household ($331.33 in 2026), over Colorado's $351 maximum and over counting no ISM. It also keeps SSI's PMV as a stand-in for 2002–2006. Every round 1 item is done, the merge lost nothing, and every test I ran passes. My findings are an overlap the body doesn't name, a stale case number, and an untested exemption. FindingsP2. #10146 conflicts with this PR in two files, and its monthly ISM change also has to reach this PR's new variable. The body names neither.#10146 (open, base
This PR moves that read into Failure scenario. #10146 lands second, and its author resolves the conflict by keeping this PR's one-line OAP formula. Then Fix. Add an overlap bullet to the body:
#10141 merges with this head without conflict ( P3. A test docstring still cites the old case number, so the hand-off's "Nothing else in the branch cites those case numbers" is false
Replace P3. No test covers the homeless exemption in
|
| Mutant | Result |
|---|---|
M3: defined_for = StateCode.CO added to co_ssa_in_kind_support_and_maintenance |
killed: co_oap_deemed_income.yaml 1 failed, 20 passed; Case 21 [0. 0.] differs from [319. 0.] |
M10 (mine): homeless dropped from _ism_exempt |
survives the ISM file (18 passed); killed by the suggested Case 19 (P3 above) |
- Tests at the head, one file per process (
uv sync --extra dev):
| File | Result |
|---|---|
co_state_supplement.yaml |
41 passed |
co_oap_deemed_income.yaml |
21 passed |
co_ssa_in_kind_support_and_maintenance.yaml |
18 passed |
co_oap_in_kind_support_and_maintenance.yaml |
5 passed |
co_oap_own_countable_income.yaml |
15 passed |
co_state_supplement_deemed_income.yaml |
12 passed |
co_state_supplement_deeming_exempt.yaml |
11 passed |
co_state_supplement_own_countable_income.yaml |
8 passed |
co_oap.yaml |
36 passed |
test_co_ism_invariants.py |
2 passed |
test_co_and_cs_invariants.py |
4 passed |
test_co_oap_invariants.py |
2 passed |
ruff format --check and ruff check are clean on the four Python files in this PR's diff against its base.
- Readers.
co_ssa_in_kind_support_and_maintenanceis read by_and_cs_client_income(used byco_state_supplement_own_countable_incomeandco_state_supplement_deemed_income) and byco_oap_in_kind_support_and_maintenance. The latter is read byco_oap_own_countable_incomeandco_oap_deemed_income.- The
gov.states.co.ssa.ism.*parameters are read only by the new variable. - After the merge,
co_state_supplement_deemed_incomecallsand_cs_client_incomefor the client's own disregard use, so the client's own ISM uses up the client's share of the $20. The spouse's or parent's deemed income still usesssi_unearned_incomewithout ISM. Round 1 noted the same for AND-CS. - No reader made worse that I could find.
- Baseline. This round changes no formula: one comment, one YAML case and one test assertion. The PR as a whole still moves output only for people with one of the four SSI living-arrangement or shelter flags set, as round 1 found. The population check is unchanged: does the dataset set those flags for Colorado records?
- Body. The
impact:andaxiom:lines are present. The per-file counts (41, 21, 18, 5, 15) match my runs. The two test files named under "Python" exist. The "Before" values (331.33 for 2026, $218 for January 2005) match my main and base runs. - Scope.
git diff --stat 3371fc5573 c9cd35d0dd -- .github policyengine_us/tests/policy/baseline/partnersis empty. - CI. No run exists at this head:
actions/runs?head_sha=c9cd35d0dd…returns 0 runs andcheck-runsreturns 0..github/workflows/pr.yamltriggers onpull_requestwithbranches: [main], and the base isco-and-cs-payment-floor-3549, so this isn't a failure. The Pull request run at Apply Colorado's AND-CS payment floor and 3.549 income rules to every client #10161's head3371fc5573(41859948897) succeeded. This PR's own CI evidence comes only once the hub moves the base tomain, and the landing gate should wait for that run.
What I couldn't check
- Primary sources. From this VM,
curlgets a 403 from the proxy, andWebFetchcan't resolve the hosts, for www.sos.state.co.us, www.ecfr.gov, www.govinfo.gov, uscode.house.gov, www.ssa.gov, web.archive.org, www.law.cornell.edu, cdhs.colorado.gov and leg.colorado.gov. I checked the body's quotes only against the assignment's quoted text, not against 9 CCR 2503-5 itself. I quote no law from my own reading. That includes (C)(3), (B)(3) and 3.534, and 20 CFR 416.1131 and 416.1140. - Population impact and peak memory of
test_co_ism_invariants.py: I have no population data, and/usr/bin/timeisn't installed. - This PR's CI, until the base is
main.
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 |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6K4hbmpvP2YevFmELw
No test set is_homeless, so dropping homeless from _ism_exempt passed every CO SSA case; Case 19 pins it. The ISM invariants docstring cited co_state_supplement Case 34, which the merge of #10161 renumbered to 37. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6K4hbmpvP2YevFmELw
|
Ready for hub review Head: This round builds on Items
Tests at the head (one file per process)
Mutant
The value of 351 under the mutant is the 2026 Colorado maximum, which this client (no SSI, outside shelter support) would be counted without the exemption. Overlaps (
|
|
Hub review in progress Round 3 delta review of So far:
Generated by Claude Code |
|
Ready for hub review Round 3 delta review, from
METHODOLOGY_CHOICE stays yes, for the reasons round 2 gave: the matching ISM ($331.33 in 2026) over Colorado's $351 maximum or no ISM, and SSI's PMV as a stand-in for 2002–2006. This round changes no formula. Items 3–7 are done. The merge lost nothing, every test I ran passes, and each mutant is killed. One sentence in the body is stale. FindingsP3. The body's first line points reviewers at #10161's old headThe body's first line reads: "Review only the diff from #10161's head Failure scenario. A reviewer who diffs from Replacement: Checked and sound
These match the body's counts (19, 41, 5, 15, 21) and the hand-off's table.
What I couldn't check
Generated by Claude Code |
Stacked on #10161 (base
co-and-cs-payment-floor-3549). Review only the diff from #10161's head3371fc5573, which this branch has merged. The hub retargets this PR tomainonce #10161 lands.Summary
Colorado counts in-kind support and maintenance (ISM) as unearned income of Old Age Pension and AND-CS clients (9 CCR 2503-5 3.520.79). Since March 2, 2014, an SSI recipient whom SSA charges ISM is charged "a matching ISM" (3.520.79(B)(6), 3.520.71(E)).
Both programs counted only SSI's presumed maximum value (PMV). So an SSI recipient in another person's household got SSA's one-third reduction back in full: $331.33/month of AND-CS in 2026. With the matching ISM, that client's AND-CS grant is $20/month. OAP counted no ISM at all for that client, and none for any client without SSI.
co_ssa_in_kind_support_and_maintenance(Person, MONTH) is the ISM Colorado counts. AND-CS (_and_cs_client_income.py) and OAP (co_oap_in_kind_support_and_maintenance, still in cents) read it.gov.states.co.ssa.ism:maximum: the published monthly maximum, 2014-2026;component_share.shelterandcomponent_share.food: the 2007-2013 caps.What the sources say
Colorado counts ISM for a client in another person's household. Every primary source says so, and has since at least 2003.
SSA's sentence is the only source for a full offset. Colorado's rule text counted ISM in every year SSA's reports cover, and the same reports call Colorado's income rules federal, which 3.549 and 3.250.22 contradict. The sentence reads as a description of the payment formula (standard − SSI − income), which does grow when SSI shrinks, before ISM is counted.
Reading of the ISM amount
This PR follows 3.520.79(B)(6) and 3.520.71(E). (B)(6): "The client shall be charged a matching ISM for Adult Financial programs, unless good cause is provided due to SSA backlog." 3.520.71(E): "The county department shall deduct an identical ISM amount for Adult Financial programs until the SSA ISM is removed." So an SSI recipient whom SSA charges an ISM gets a matching ISM, SSA's one-third value ($331.33 in 2026), and AND-CS pays that client $20 a month. The table shows the other amounts the rule's general computation and SSA's reports could suggest:
(B)(6) and 3.520.71(E) address this client (an SSI recipient whom SSA charges ISM) and speak to the amount, while (C) is the general computation. Under (a), Colorado's $20 unearned disregard (3.549(A)(2)(c)) applies to the matched ISM like any other unearned income, and that disregard is the $20 grant. Switching to (b) changes one line in
_ssa_ism; round 1's mutant of that line fails the ISM and AND-CS YAML files.The model
Worked cases (YAML)
Monthly unless noted. "Before" is #10161's head
8707792d09.co_state_supplement.yamlCase 28 (single, another's household, 2026) is the one existing AND-CS case whose value moves: $3,976/yr to $240/yr, i.e. 12 × (994 − 662.67 − 311.33). OAP'sco_oap_own_countable_income.yamlCase 10 (62, no SSI, outside shelter support) moves from $0 to $3,972/yr: 12 × (351 − 20).Invariants
policyengine_us/tests/core/test_co_ism_invariants.pychecks Hypothesis-drawn SSI clients (single or couple, SSDI and earnings, either arrangement, a drawn support value), each beside a twin with no support, plus non-SSI clients aged 62, in 2026:ssi_amount_if_eligible. Otherwise it is SSI's PMV ISM, halved for a couple.Tests
co_ssa_in_kind_support_and_maintenance.yaml(19; Case 19 pins the homeless exemption),co_state_supplement.yaml(41; Case 28 updated, Cases 36-41 new; Cases 33-35 come from Apply Colorado's AND-CS payment floor and 3.549 income rules to every client #10161),co_oap_in_kind_support_and_maintenance.yaml(5; three new),co_oap_own_countable_income.yaml(15; Case 10 updated),co_oap_deemed_income.yaml(21; Case 21 deems a Nevada spouse's Colorado ISM: 1,000 + 351 − 1,032 = 319), and the other CO AND-CS and OAP files.test_co_ism_invariants.py,test_co_and_cs_invariants.py,test_co_oap_invariants.py,test_ssi_state_supplement_couple_invariants.py,test_ssi_state_supplement_medicaid_dependency.py. The ISM invariants run in core: about 1.0 GB peak RSS and 45 s with import, measured locally on Linux.Not modeled
Overlap with open PRs
ssi_in_kind_support_and_maintenance_monthly, and editsco_oap_in_kind_support_and_maintenance.py, which this PR reduces to a read ofco_ssa_in_kind_support_and_maintenance. The two PRs conflict in that file and its YAML, and inco_state_supplement_countable_income.py, where Apply Colorado's AND-CS payment floor and 3.549 income rules to every client #10161 replaces the formula with a sum of own and deemed income. The PR that lands second switches_ssa_ismandformula_2002inco_ssa_in_kind_support_and_maintenance.pyto the monthly variable, and moves Limit SSI spousal-deeming child allocations to the couple's co-resident children #10146's new OAP case toco_ssa_in_kind_support_and_maintenance.yaml.co_oap_deemed_income.yaml, where this PR adds Case 21, and the two merge cleanly.impact: the hub will measure
axiom: (hub files pe-parity before landing)
Generated by Claude Code