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:
- Store geography vintage metadata on regional facts, e.g.
source_geography_level=congressional_district, source_geography_vintage=117th_congress, target_geography_vintage=118th_congress.
- 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.
- 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.
- Emit lineage metadata on translated targets: source record ids, crosswalk basis, source/target geography vintages, and reconciliation residuals.
- 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.
- 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.
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:
CA-53,IL-18,MI-14,NY-27,OH-16,PA-18,WV-03CO-08,FL-28,MT-02,NC-14,OR-06,TX-37,TX-38The 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:
source_geography_level=congressional_district,source_geography_vintage=117th_congress,target_geography_vintage=118th_congress.Acceptance tests
CA-53plus the current 436-district support surface materializes noCA-53target row.CO-08,FL-28,MT-02,NC-14,OR-06,TX-37,TX-38.