PolicyEngine / PolicyEngine/microcosm
Polish follow-ups from the target-aging review (#280)
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
Non-blocking polish items from the adversarial review of #280 (all verified non-gating there):
- Inertness regression guard:
test_age_targets_defaults_off_leaves_surface_unchangedcompares two off-paths; strengthen it to compare against a frozen pre-#280 registry hash so "byte-identical to the un-aged surface" is enforced against drift, not tautology. - Full ratio provenance:
aging_factor_sourcerecords the numerator (build-year) CBO fact id only; add the denominator (source-year) fact id so the factor is reconstructable without inference (target_aging.py~200–208, 316–334). - Symmetry nit: apply the 1900–2100 sanity bound to the string branch of
_period_year(int branch has it). - Future: program benefit totals (SS/SNAP/TANF/SSI/Medicare premium) fall back to AGI growth if ever cross-period; a benefits/COLA index would be more faithful. Currently a documented no-op (all current-period).
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 with test_age_targets_defaults_off_leaves_surface_unchanged and the cited sections of target_aging.py around lines 200–208 and 316–334. Verify the frozen pre-#280 registry comparison, complete aging_factor_source provenance, and apply the year bound to the string branch of _period_year; the benefits/COLA item remains a documented no-op for now.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100