PolicyEngine / PolicyEngine/microcosm
Smoke + reform validation: one shared baseline and branched reforms, not 85 standalone simulations
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
Audit finding 1 of #468, split out as its own increment. Smoke executes 40 full simulations (1 baseline + 39 probes) and reform validation 45 more, each reloading the written H5 and constructing an independent full-release simulation, when only the reform parameter patch varies. Remedy: load the dataset once, one baseline system/simulation, branch or clone per reform (the #461 family-system pattern), cache baseline totals by (measure, period), share content-addressed reform totals between smoke and validation. Verification bar: byte-identical scoring vs independent simulations on a pinned slice (the #461 oracle pattern). Biggest single build-time lever after the #463 loop deletion.
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 reading the #461 family-system pattern and oracle approach, then trace the smoke and reform validation paths that reload the written H5 and construct full-release simulations. Done means one loaded dataset and baseline are reused, reform totals are shared where applicable, and scoring is byte-identical to independent simulations on the pinned slice.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100