Skip to content

Translate old-vintage CD targets to current district geography #205

Description

@MaxGhenis

Problem

Populace can now compile SOI congressional-district target rows, but the current SOI CD source is an older congressional geography vintage. A real candidate support H5 built from the current CD-expanded flow has 436 raw CD geoids, but they are the old 117th-district set:

  • extra old keys: CA-53, IL-18, MI-14, NY-27, OH-16, PA-18, WV-03
  • missing current policyengine.py keys: CO-08, FL-28, MT-02, NC-14, OR-06, TX-37, TX-38

The incumbent policyengine.py release manifest uses the current 436-key district artifact set. Populace should not publish district artifacts or hard-gate CD targets while the support/target surface mixes vintages.

Proposed approach

Handle this in Ledger/target aging rather than in one-off Populace target code:

  1. Store geography vintage metadata on regional facts, e.g. source_geography_level=congressional_district, source_geography_vintage=117th_congress, target_geography_vintage=118th_congress.
  2. Add a generic geography-vintage translation step to target aging. For old CD targets, translate source CD rows to current CD rows through a block-level crosswalk using population weights initially.
  3. Conserve parent totals exactly. For every source vintage target set, translated current-CD rows should sum to the same state and national totals before any period uprating.
  4. Emit lineage metadata on translated targets: source record ids, crosswalk basis, source/target geography vintages, and reconciliation residuals.
  5. Use current-boundary support/artifacts, likely assigned from ACS/Census current CD population or age distributions. Older SOI CD fiscal rows become translated current-vintage targets or diagnostics, not direct support keys.
  6. Leave room for improved fiscal bases later, e.g. ACS income/tax proxy weights instead of pure population for fiscal targets.

Acceptance tests

  • A fixture with old-vintage CA-53 plus the current 436-district support surface materializes no CA-53 target row.
  • Translated targets include the current missing keys where appropriate, e.g. CO-08, FL-28, MT-02, NC-14, OR-06, TX-37, TX-38.
  • State and national totals are conserved exactly after vintage translation and before period uprating.
  • Target metadata records the source and target geography vintages and crosswalk basis.
  • Release artifact generation fails if a calibrated H5 still contains stale or mixed CD artifact keys.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions