Skip to content

reform_validation_payload: embed executable reform dicts + publisher slugs for scorecard claim identity #606

Description

@DTrim99

The reform-validation registry is being consolidated into policyengine-scorecard (PolicyEngine/policyengine-scorecard#15, adapter in #16); calibration-diagnostics' External checks tab retires (calibration-diagnostics#140). The registry and producer stay here — release-exact scoring at each build's engine pins is engine-adjacent work — but the artifact becomes a scorecard input, which exposes two gaps in reform_validation.json:

  1. No executable reform dicts. Scorecard claims key off a ReformRef; with only a row id available, scored rows use policy_ref descriptors ({"policy": "ks_hb2620_eitc"}). The param dicts already exist in state_reforms.json — emitting each row's reform_params (and non-current-law baseline where applicable, e.g. the OBBBA suite's TCJA-expiration counterfactual) upgrades claims to framework="policyengine_us", making identical policy worlds share a reform key across sources (JCX-35-25 rows could then resolve against the scorecard's harvested JCT claims instead of coexisting as duplicates).

  2. No publisher slugs. The scorecard derives publishers from citation strings ("CA FTB…" → ca_admin); a benchmark_publisher field per spec (e.g. ks_lrd, ct_ofa, jct, census) would make source attribution exact instead of heuristic.

Both are additive to schema v1 (consumers ignore unknown keys). Happy to PR this once the scorecard-side design questions in PolicyEngine/policyengine-scorecard#15 settle.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions