PolicyEngine / PolicyEngine/microcosm
Benchmark build: carry the disability inputs the references depend on (SSI criterion, SSDI months, permanent-and-total disability)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
Summary
PolicyBench draws its households from the certified US build and scores frontier models against PolicyEngine references computed from exactly the inputs the build carries. On 2026-09-05 the 39-model board had to exclude eleven outputs from scoring because their references depend on inputs the June 2026 build (populace-us-2024-5da5a95-20260611) never carried, so the prompt could not list them (PolicyEngine/policybench#164, reference_exclusions.json). The v2 household draw needs a build that carries them.
What the June build lacks
| Input | State in the June build | Consequence |
|---|---|---|
meets_ssi_disability_criteria |
false for all 160,858 persons | SSI payable only through age or blindness; six outputs excluded |
months_receiving_social_security_disability |
absent in every build to date | Medicare's under-65 route unreachable; five outputs excluded |
is_permanently_and_totally_disabled |
never populated | IRC 152 disabled-dependent age exemption and the IRC 22 credit unreachable |
is_incapable_of_self_care |
absent until the 2026-07-23 builds (2,067 from PEDISDRS) | IRC 21 CDCC disabled-dependent route |
Builds from 2026-07-17 carry the SIPP-imputed SSI criterion (7,275 to 7,515 persons). #361 documents the sparse export dropping 94 no-formula inputs, including is_disabled, is_blind, employer_sponsored_insurance_premiums and the asset columns; the benchmark build must carry every no-formula input the engine reads.
Asks
- Certify a v2 candidate build that carries every no-formula PolicyEngine-US input (the #361 fix), the SIPP SSI criterion, and
is_incapable_of_self_care. - Populate
is_permanently_and_totally_disabled(impute from SSI/SSDI receipt or the SIPP donor) or document that the tax code's disability pathways are out of scope. - Carry SSDI entitlement duration or start date (
months_receiving_social_security_disability) with a defined reference date, if the SIPP donor can supply it; otherwise record the assumption explicitly so the benchmark can state it. - Record provenance per disability fact (observed, imputed, unknown). An unknown must not export as an observed negative.
- Keep
person_marital_unit_idin the export; the benchmark now builds marital units itself (head and spouse) after finding policyengine-core lumps a household into one unit when none is given.
Related: #424, #453 (SSI candidate undercount, child SSI absent), PolicyEngine/policyengine-us#9330 (disability input wiring audit), PolicyEngine/policybench#139 (v2 board).
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 #361 and the June and July 2026 build differences, especially the sparse export and SIPP-imputed disability inputs. Trace how the benchmark build carries PolicyEngine-US inputs and provenance, then verify that a v2 candidate includes the requested disability fields and person_marital_unit_id. Done means the candidate is certified or its explicit assumptions and out-of-scope pathways are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100