PolicyEngine / PolicyEngine/microcosm

Coverage gate: add effective-mass (weighted-support) semantics — signal on zero-weight rows must not count as restored

Open
#396 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
4
Avg merge
1d 3h
Merged PRs (30d)
94

Description

The blind spot

The input-coverage gate verifies each required column carries non-default signal — but signal can sit entirely on rows with zero (or negligible) calibrated weight, making the column fiscally inert while the gate passes. Found on the UK branch: 200k SPI-synthetic rows carry gift_aid/charitable_investment_gifts signal at zero calibrated weight (log-space calibration cannot lift a zero), so the 132-column contract passed while the HMRC family was effectively absent.

The fix (UK branch is implementing it first)

Extend coverage semantics with a weighted-support dimension: a required column must carry signal on rows holding effective population mass above a reviewed floor. Columns with presence-but-no-mass get a distinct distributional/effective-weight status rather than counting as restored.

This issue: adopt the same semantics in the US gate

The US manifest/gate (release_input_coverage.py, #368/#369) has the identical latent blind spot — restored families are verified for signal, not for effective mass under the certified weights. Post-launch: port the effective-mass diagnostic from the UK implementation, add per-column effective-mass stats to the manifest generator, and decide reviewed floors. The sparse-selection path makes this non-hypothetical: L0 selection could in principle retain a column's signal only on low-weight records.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the US manifest/gate in release_input_coverage.py and compare it with the effective-mass diagnostic being implemented for the UK branch. Port the diagnostic, add per-column effective-mass statistics to the manifest generator, and document reviewed floors so presence without sufficient population mass does not count as restored.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.