PolicyEngine / PolicyEngine/microcosm
Health take-up wiring + certified-stack computability gate (real residuals from #604)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
Two scoped items surviving the #604 investigation (its $0 premise didn't reproduce — $880B Medicaid / $7.2B CHIP / $236.9B ACA PTC on the certified pair; receipts there):
-
Wire Medicaid/CHIP take-up from stored facts.
takes_up_medicaid_if_eligibledefaultsTrueand isn't stored, somedicaid_enrolled≡is_medicaid_eligible(both exactly 72,457,786 on Build P at 1.764.6). The artifact already storeshas_medicaid_health_coverage_at_interview(8.7% of person rows) and siblings — the reported facts exist; they're just not connected to take-up. Design question (mirrors the #591 class-1/class-2 lens): populate take-up flags in the data from the at-interview facts + eligibility, or give the engine a take-up formula seeded from them. Related: #591 remainder (receives_medicaid, gated on policyengine-us#9206), #454 (ESI class). -
Certified-stack computability battery. Nothing asserts "every variable pe.py reports is either stored in the artifact or computes nonzero-where-expected on the pinned engine." #604-class scares (and the real holes it pattern-matched to: #361 sparse zeroing, #454) should be a CI table, not an investigation. Sketch: for pe.py's US output set, on each certified candidate compute totals + nonzero counts, assert against per-variable expectations (nonzero / zero-allowed / range), publish the table as a cert artifact.
🤖 Generated with Claude Code
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the referenced #604 investigation and #591 remainder, then inspect the US output set in pe.py and the stored at-interview coverage facts. Done means take-up values are connected to those facts or a seeded formula, and a CI certification table checks totals, nonzero counts, zero-allowed cases, and ranges for each reported variable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-engineering, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100