Skip to content

buildp refresh of the ACS local artifact: plan hold-back + donor-derived campaign naming (#512) - #718

Open
MaxGhenis wants to merge 2 commits into
mainfrom
acs-local-buildp-refresh
Open

buildp refresh of the ACS local artifact: plan hold-back + donor-derived campaign naming (#512)#718
MaxGhenis wants to merge 2 commits into
mainfrom
acs-local-buildp-refresh

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

Two commits from the buildp refresh of the ACS local-area artifact (published: populace-us-2024-buildp-acs-local-592ae5d6-20260819T020303Z, sha ae1a4685…, immutable tag, latest.json verified untouched — receipts on #512):

  1. Hold the Populate reported TANF, SNAP, and WIC enrollment from CPS admin-linkage fields (#591) #600 enrollment leaves out of the ACS transfer plan until a Populate reported TANF, SNAP, and WIC enrollment from CPS admin-linkage fields (#591) #600-era release certifies. The donor-coverage gate correctly refused the certified buildp release: receives_wic, is_tanf_enrolled, and receives_snap were added to the pool and the declared plan by Populate reported TANF, SNAP, and WIC enrollment from CPS admin-linkage fields (#591) #600 three days AFTER buildp certified, so the newest certified donor cannot supply them (it carries only the runtime-owned takes_up_* draws). Restore markers sit at both plan sites; the gate enforces the contract in both directions when a Populate reported TANF, SNAP, and WIC enrollment from CPS admin-linkage fields (#591) #600-era release lands.
  2. Derive the release campaign letter from the pinned donor lineage. The first buildp package minted buildo-acs-local-… because the id prefix was a constant naming the tool line's birth campaign; the campaign letter is lineage doctrine, so release_id_prefix/release_namespace now derive from the donor release id pinned in the staging summary (buildp donor → populace-us-2024-buildp-acs-local / buildp_acs_local), with the buildo fallback only when no donor identity is pinned. The mis-named local bundle was discarded unpublished; the published release carries the derived name at this commit's vintage.

Refresh evidence: 1,588,854 households; 4,459-target surface at 98.74% within-10% (buildo refresh: 92.83%); spine SSI 1.61% vs 1.77% (the #507 fix visible on both spines); all 6 gates green; contract-validated; plain-load proven. pe.py repin: PolicyEngine/policyengine.py#497.

Owner gate: sol+fable dual review before merge (standing per Max).

🤖 Generated with Claude Code

MaxGhenis and others added 2 commits August 13, 2026 23:28
…release certifies (#512)

The buildp refresh's donor-coverage gate correctly refused the certified
buildp release: receives_wic, is_tanf_enrolled, and receives_snap were
added to the pool and the declared ACS transfer plan by #600 three days
AFTER buildp certified, so the newest certified donor cannot supply them
(it carries only the runtime-owned takes_up_* draws). The plan stays
honest to the certified lineage, with restore markers for the moment a
#600-era release lands — the donor gate enforces the contract in both
directions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The buildp refresh minted 'buildo-acs-local-…' because the id prefix was
a constant naming the tool line's birth campaign; the campaign letter is
lineage doctrine, so it now derives from the donor release id pinned in
the staging summary (buildp donor -> populace-us-2024-buildp-acs-local /
namespace buildp_acs_local), falling back to buildo only when no donor
identity is pinned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant