Skip to content

Build N epic: CD target surface + base rebuild bundle (quartet, assets, QRF fix, feed regen, gate hardening) #449

Description

@MaxGhenis

Max greenlit (2026-07-17) the congressional-district target surface as the next build after the Build M certification: "yes do it."

What

Turn on --include-congressional-district-targets for the next certified US build (Build N), expanding the calibration surface from the national+state class (~5,667 compiled targets in Build M) to the full geographic feed surface: the v8 Ledger feed carries 23,968 congressional-district facts alongside 11,191 state and 2,101 national — a ~30k-target-class surface.

Mechanics already in place

  • The builder flag exists and is opt-in-off; the compile path translates CD facts via --congressional-district-vintage-crosswalk (source vintage → current districts) and hard-requires household.congressional_district_geoid on the support frame — which the Build M frame already carries (export parity tracks it at +2.3% drift).
  • gate_congressional_district_targets currently records False in build manifests; Build N flips it to a gated surface.

Work items

  1. Crosswalk provenance: pin the source-to-119th crosswalk artifact (sha-pinned input, Build the 117th->119th CD vintage crosswalk from Census sources #288 alignment); the checkpoint identity and materialization-cache context already carry its sha.
  2. Preflight sizing (no solve): compile the CD-included registry, run the Add release-gate preflight: catch statically-knowable gate failures without a solve #436 preflight zero-support/support-expressibility pass over the 57k sparse selection — CD cells are exactly where a frozen sparse support goes thin (the Build G Build E: certification-candidate staging build from post-#287 main (fix target_compilation OOM first) #299 exclusion class). Expect a batch of per-cell reviewed exclusions or a reselection decision; adjudicate BEFORE burning a run (the campaign's attempt-9/10/11 lesson, now tooled).
  3. Solve-cost calibration: ~5.4× more constraint rows; measure a bounded-epoch dense probe before committing the full ladder. Loss-weighting review for the CD family (11k state rows already dominate counts; 24k CD rows will need family-level weighting the same way state rows got it).
  4. Gate adjudication pass: within-10% and zero-support baselines will move on a 30k surface; set expectations from the probe, not Build M's 90.2%.
  5. Scorecard: report Build N vs Build M on the shared national+state subset AND the CD surface separately, so the flip decision compares like with like.

Sequencing

After the Build M cert (policyengine.py#475) lands. Interacts with the geography-ladder/ACS lane (#288, Build L plan): the CD vintage story should be settled once and shared between calibration targets and the geography assignment.

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