Skip to content

W1 candidate 1: first full transport deployment (registration 4950931131)#162

Merged
MaxGhenis merged 1 commit into
masterfrom
w1-candidate1
Jul 12, 2026
Merged

W1 candidate 1: first full transport deployment (registration 4950931131)#162
MaxGhenis merged 1 commit into
masterfrom
w1-candidate1

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

One-shot scored run of W1 candidate 1 — the first full transport deployment against the locked gate_w1 contract. Registered at issue #42 comment 4950931131. Publishes regardless of the verdict; no holdout tuning. The certified PSID-estimated generators (gate-1 earnings, gate-2a/2b marital CANDIDATE_16, gate-2b household CANDIDATE_9, gate_m4 disability, #115/#117 reform ledgers) are deployed on the certified populace CPS frame (us-4.18.8, sha c2065b64…, sha-verified) — a frame none was fitted to.

Verdict: FAIL (0 / 5 seeds)

gate_pass = false — family A 0/5 seeds, family B 0/10 cells, family C neither fingerprint reverses. This lands inside the registration's forecast P(gate ≥ 4/5) = 0.05–0.20. The value is the per-family decomposition and the fingerprint diagnostic.

Per-seed verdict table (family A, 53 gated cells)

seed cells pass cells fail seed pass
0 28/53 25
1 28/53 25
2 32/53 21
3 26/53 27
4 24/53 29

Conformance: identity_candidate = false, max across-draw sd 0.475 — the candidate regenerates every scored column per the regenerated_surface rule (not the prohibited identity map, which would score 0 with zero dispersion).

The fingerprint reversal results (family C — the highest-value read)

Both fingerprints were re-run on the transported frame changing only the frame (the committed #115/#117 ledgers run verbatim; the earnings-source readers are swapped to gate-1-transported careers). Neither reverses to the anchor ordering.

fingerprint PSID "before" required "after" deployed reversed?
C1 PPI↔NRA PI > NRA > PPI > COLA PI > PPI > NRA > COLA PI > NRA > PPI > COLA NO (τ vs required 0.667, unchanged from PSID)
C2 elim↔+2pp +2pp > elim > +1pp > cap elim > +2pp > +1pp > cap elim > cap-$150k > +2pp > +1pp NO (τ vs required 0.333)
  • C1 does not move at all — PPI stays below NRA→70; the transported AIME above the second PIA bend does not lift progressive price indexing past the NRA cut.
  • C2 shows the target swap but not a clean reversal — the required elimination > +2pp swap is realised (required_swap_realised = true): the heavier transported earnings tail lifts taxable-max elimination above +2pp, exactly the Roadmap: from incidence replication to a DYNASIM-class projection on one unified person-period panel #113 mechanism. But the same tail also lifts cap-$150k above both payroll rates, adding a second adjacency change, so the ordering is not the committed [elim, +2pp, +1pp, cap].
  • Robustness: the two orderings were identical across three independent transport constructions (level-anchored, rank-flat, and rank + transitory mobility). The transported frame carries 37.7% of taxable payroll above the wage base — an upper read (positive prime-age earners, no zero/low-earning years), well above the real ~17% and the PSID frame's 12.7%. A heavier tail favours reversal, so the non-reversal is conservative: a realistic tail would be no more likely to reverse.

Per the registration, "their failing to reverse would be the single most important diagnostic in the program." The diagnostic here: deploying the PSID-fit generators on the CPS frame does move the taxable-max ordering in the predicted direction (C2 swap realised) but does not cleanly reproduce either committed anchor ordering.

Per-family decomposition

Family A (CPS-observable joints, floor-priced) — modal failure by view (cell-fails summed over 5 seeds):

view cell-fails reading
marital_share 45 younger cohorts (25–34, 35–44) under-produce married: the synthetic-panel marital deploy starts everyone never-married and the hazards do not equilibrate over the exposure window (older 45–64 cohorts largely PASS)
earnings_participation 25 gate-1 has no sex covariate and fits ages 25–59; 18–24 / 62–69 extrapolate to the nearest fitted bin, overstating retirement-age participation
hh_size_share 25 the household generator composes ADULTS; committed rate_a is all-person (children live in larger households) + coresident-parent/multigen are under-generated on a cross-section
coresident_spouse 16 tracks the marital under-production at younger ages
earnings_profile 16 the 18–24 age-boundary extrapolation

19 earnings cells pass (including the p90/p50 and p50/p10 dispersion ratios), so the earnings regeneration is not degenerate. (The registration predicted earnings-profile joints as the modal class; the actual modal class is marital_share, reported as-is.)

Family B (SSA anchors, 10 gated) — 0/10. DI status is M4-simulated (never the frame's DI column or any SS proxy; conditioning columns {age, is_female} asserted populated). The M4 work-disability prevalence gradient is far flatter than the SSA disabled-worker beneficiary stock's steep concentration at older ages: e.g. di_prevalence.60-fra deployed 18.6pp vs anchor 45.4pp; conversion share ~6pp vs ~14pp. The gradient transports; the level and steepness do not — the second failure class the registration named.

Family C — both fingerprints fail to reverse (above).

Spec resolutions (documented; the locked text does not pin them)

The certified generators are PSID-panel simulators; deploying them on a CPS cross-section required synthetic-panel adapters. Eight resolutions are recorded in the artifact's spec_resolutions and the module docstring, including: generators fit once on the full PSID sample and frozen (nothing refits per W1 seed); earnings regenerated from the certified gate-1 cell marginal at (age-bin, terminal period 2022), not anchored on the frame's own earnings (which would be the identity); marital/household via synthetic panels with empty initial roster states; family-A surface scored on the adult universe (only hh_size_share's committed all-person rate_a differs in scope, disclosed); DI via Bernoulli(m4_prevalence[band,sex]); family-C careers transported with the committed permanent-variance share (0.467). One label note: gates.yaml calls the household generator "gate-2c" at the hh_size_share row; household composition is the gate-2b-locked CANDIDATE_9 everywhere else in the file, used here.

Reproduction

# 1. data-bound frame export (policyengine.py .venv, sha-verifies c2065b64…)
PYTHONPATH=src <pe.py-venv>/python scripts/export_frame_persons.py
# 2. fit + score (.venv-gate); family A chunked by seed per the memory guard
POPULACE_DYNAMICS_FRAME_PICKLE=scratch/frame_persons.pkl \
  <gate-venv>/python scripts/run_gate_w1_candidate1.py fit
#   then: seed 0..4 (parallel) + family-b + family-c, then assemble

Runtime: generator fit ~2 min (gate-1 marginals + ft 19s + hc 82s + m4); family A ~5 min/seed (5 parallel processes); family B ~2s; family C ~60s. Frame 166,302 persons / 340.0M weighted, sha-verified against the pin.

Tests

+11 tests (9 unit pure-logic, 2 artifact committed-json bindings — including the holdout-split binding that recomputes every gate seed's committed household sha256 with no h5). tier_counts.json refreshed in a CI-equivalent env (.venv, openpyxl present) per the #158 rule: unit 199→208, artifact 783→785. Always-runnable tiers green: 953 passed, 40 skipped (unit or artifact); test_tier_policy green over the full 2451-test collection. black + ruff clean.

Do not merge on my account; verification-before-record.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Jul 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
social-security-model Ready Ready Preview, Comment Jul 12, 2026 12:38pm

Request Review

…131)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@MaxGhenis MaxGhenis merged commit e53b58c into master Jul 12, 2026
7 checks passed
MaxGhenis added a commit that referenced this pull request Jul 12, 2026
* gate_w1 amendment 1 proposal: the family-B DI bands (forensics-1 Q4)

DRAFT proposal (ceremony step 1 of proposal -> referee -> fixes ->
verification -> ratify -> flip). gates.yaml is UNTOUCHED; no threshold moves.

W1 forensics 1 Q4 (runs/gate_w1_forensics1_v1.json, registration 4951218279,
grading 4951430002) established, against the currently locked contract blob
cd6411d, that the 8 family-B DI age-composition prevalence bands are
unclearable by any contract-consistent candidate: the gate scores an M4
work-disability point-prevalence against the SSA disabled-worker beneficiary
STOCK (DI ASR Table 19) across a concept bridge it never defined. The concept
delta dominates (share 0.595; +21.3pp duration-accumulation vs +2.6pp M4 hazard
shape at 60-FRA), and all 8 bands miss by 2.9x-21.9x their tolerances. Because
family B is a conjunction, gate_w1 as locked is unpassable (faithful-candidate
gate OC structurally 0).

The proposal (docs/amendments/gate_w1_amendment_1_family_b_di_bands.md) analyses
two options and recommends option (a): demote the 8 DI bands to report-only with
machine reason concept_bridge_undefined_di_stock, leaving family B gating the 2
disability-conversion M4-simulated margins. Option (b) (re-anchor to a
transportable work-disability prevalence) is deferred: no defensible anchor is
archived, and the SSA-native re-anchor is blocked by the unarchived Supplement
4.C2 insured denominator.

OC consequence: family A is untouched, so its half-normal characteristic is
byte-identical (p_seed 0.922 / p_gate 0.9481, the 8 DI cells absent from the
family-A OC machinery); the overall gate OC moves from a structural 0 to the
family-A characteristic 0.9481 on the residual 57-cell surface (65 -> 57 gated,
67 -> 75 report-only).

No-self-rescue: candidate 1 (runs/gate_w1_candidate1_v1.json, PR #162) stands
FAIL under both surfaces -- it fails family A (0/5 seeds), the 2 RETAINED
conversion cells (dev 8.30/8.07 vs tol 1.89/1.91), and family C -- so the
demotion rescues nothing; the amendment is prospective; the forensics evidence
is train/frame-side.

tests/test_gate_w1_amendment1_proposal.py (12 tests, always-runnable, artifact
tier) binds every proposal figure to the committed artifacts; tier manifest +
README refreshed CI-equivalent (artifact 834 -> 846, total 2528).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* gate_w1 amendment 1 fixes round: referee findings (comment 4951701300)

Adversarial round (PR #164 comment 4951701300, AMEND THE AMENDMENT) required
extending the family-B demotion to all 10 gated cells; the 2 conversion margins
fail the same candidate-independence test on committed evidence.

A (blocker): all 10 family-B cells demoted to report-only. Conversion cells take
concept_bridge_undefined_di_stock (same undefined DI-stock numerator, read at the
FRA boundary) + conversion_level_match_never_certified (m4_disability_v1.json
conversion_validation: ratio 0.267/0.322, 'never a level match'; window floor
>=12.21/12.59 = anchor 14.1/14.5 - tol 1.89/1.91). Family B gates nothing; OC
returns to 0.9481 x I(family C) on the residual 55-cell surface (65->55 gated,
67->77 report-only). Sections 1/3/4/4a/5/7/8/9 + ledger updated; option (b)
conversion-anchor deferral row added.

B: bound the operative flip text -- the section-7 enumerated demotion list, the
section-7 roll-ups (55/77), and the section-8 history figures are parsed and
cross-checked against the ledger/artifacts; proven to FAIL under the referee's
named mutations. De-vacuoused the prose machine-reason assertion (checked outside
the ledger fence).

C: 0.595 restated as the aggregate with per-band range 0.023-0.891; CPS-ASEC
option-(b) rationale corrected to built-from-frame (not the conditioning rule).

Tier manifest refreshed CI-equivalent (artifact 846 -> 853; total 2535).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Jul 12, 2026
…by its own evidence (#166)

Carry the paper through every merged wave since the gate-2b pass (#149).

Add the gate-2c candidate ladder and its independently verified pass
(#155/#157, verification 4950580430): two candidates — the shortest of the
family ladders — candidate 1 failing 1/5 with the assortative diagonal held
35/35 on the first attempt and the gate bound entirely on the earnings-blind
first-marriage cells the registration had named in advance, candidate 2's
one marginal-preserving modifier (byte-carry 2,500 cells at 0.0) passing 4/5.
With it, every gate-2 tranche is passed: all four demographic gates locked
AND passed (memo 4950584695).

Add the disability gate (M4): floors #153 (round-1 restoring the occupancy-
stock teeth via mixed-k), lock #159 (the start-wave weight-definition fix),
candidate 1 passing 5/5 (#161) — the program's first five-of-five — verified
with a both-constructions gap adjudication (4951142927), the estimand always
the PSID self-report, never an SSA DI level (seven concept deltas).

Add the transport gate (W1): design #151, floors #154 with the owned #158
tier-manifest process violation, lock #160, candidate 1 failing 0/5 (#162,
C2 swap realised / C1 non-reversal robust / earnings not degenerate),
forensics 1 (#163, the entry-state lever and the Q4 gate-design finding),
and amendment 1 in full ceremony (#164/#165) — the program amending its own
structurally-unpassable gate, all ten family-B cells demoted on committed
evidence with anchors retained verbatim and the failed candidate left failed.
This is the fourth recurring referee class: a gate can itself be wrong, and
the same ceremony catches that too, after the lock.

Add the interim benefit seam (#156: gross $41.35B -> net $36.02B, offsets
enumerated, 4/4 expectations, engine-vs-transport gap 6e-8), stating the
PolicyEngine-executes / Axiom-cross-validates division; and the deployment
infrastructure (contract identity, env sidecars, a generic K=20 evaluator
reproducing the three committed gate verdicts; the household candidate-9
registry port).

Recompute the tally per the paper's conventions: forty-two registered runs
across six gates (13/16/9/2/1/1), thirty-seven failures against five passes,
six gates locked with FIVE ratified amendments (two gate 1, two gate 2, one
transport), ten forensics rounds, six external-anchor replications, and fifty
forecasts registered with forty-nine graded — the one open registration the
transport gate's second candidate. Frozen sections byte-identical.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Jul 13, 2026
#169)

* gate_w1 amendment 2 proposal: the family-A concept cells (forensics-2)

DRAFT proposal (ceremony pending). Demotes 7 structurally-unclearable cells to
report-only: the C1 fingerprint (fingerprint_reversal_not_realized), the two
18-24 participation cells (population_concept_delta_head_spouse_universe, a
22.1pp head/spouse-vs-all-person gap), and the four 65+ marital/coresident cells
(cohort_vintage_hazard_frame_mismatch, divorce over-accumulation -- a
cohort-vintage hazard/frame mismatch; six permitted-lever construction-attempts
each fail). Zero threshold movement; gates.yaml untouched.

Family-A faithful OC recomputes 0.922/0.9481 -> 0.9344/0.9623 on the residual 47
cells (removing 6 family-A cells, unlike amendment 1's invariance); overall gate
OC 0.9623 x I(C2) on the 48-cell surface (55 -> 48 gated). No-self-rescue is
over-determined: both candidate 1 (PR #162) and candidate 2 (PR #167) still fail
family A (0/5 seeds on the 47) AND family C (C2 tau 0.333) -- the rescue set is
empty. Consistency bindings in tests/test_gate_w1_amendment2_proposal.py string-
bind the section-7 flip text/roll-ups and section-8 history (amendment-1 fix-B
standard, mutation-checked). Tier artifact 879 -> 897 (CI-equivalent recount).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* gate_w1 amendment 2 fixes: per-cell grounds + retained-surface candor (referee 4953763322)

Adversarial referee round (PR #169 comment 4953763322) ruled AMEND THE AMENDMENT;
demotion set of 7 survives, grounds and candor corrected. Zero threshold movement;
gates.yaml untouched; OC numbers unchanged (referee reproduced them exact).

F1 (per-cell truth): the blanket "no candidate can clear any of the 7" was false --
candidate 1 PASSED coresident_spouse.65+|female 4/5 seeds. The 65+ quad now carries
TWO machine reasons: cohort_vintage_hazard_frame_mismatch (married pair +
coresident-65+|male, the stationary ceiling ~0.577 F / ~0.717 M the deployment
cannot reach; married-65+|female caps 2-3/5 by ceiling-vs-window, Q1 entry-0 0.5767
vs Q6 entry-0.58 0.5728) and scored_duplicate_of_demoted_married_quantity
(coresident-65+|female, deployed coresident/married ratio 1.0, straddles an easier
window; demoted on duplicate/composition-blind grounds not impossibility). Per-seed
pass records added to the doc + ledger + bindings; the c1 4/5 pass stated plainly.

F2 (candor): the 48-cell surface is stated NOT KNOWN PASSABLE -- Q7 graded REFUTED
for hh_size (all 5 cells 0/5 both candidates; "not closable by these two entry-state
levers alone"); C2 is one bit-identical measurement (deployed cap_150k 16.7y vs
Smith rank-4 1y; corrected-tail tau -1/3; robust only for the elim<->+2pp pair).
Series forecast added: amendment-3 risks (5 hh_size + C2 cap_150k) pre-named, each
reopenable only via the same forensics-then-ceremony standard.

F3: section-3 sigma range corrected 3-8 -> 2.0-6.6 (0.11-0.44 ln vs 0.027-0.072
sigma; sub-3sigma end = the female cells that sometimes pass).

F4: the referee's per-band-entry (0.4228/0.6004), entry-55 (0.4951/0.6090), and
max-entry-bound construction-attempts incorporated into the 4c table (cite 4953763322).

F9: section-4a Mermin sentence rewritten; C1 empirical legs qualified as one
bit-identical measurement.

Tests: 24 bindings (from 18), mutation-checked incl. the corrected sentences.
Tier artifact 897 -> 903 (CI-equivalent recount).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* gate_w1 amendment 2 fixes 2: per-cell truth for §2c/§3.1 + MM4/MM6 bindings (verification 4954135376)

The verification round (comment 4954135376, verdict FURTHER FIXES) ruled the
scored_duplicate_of_demoted_married_quantity ground PRINCIPLED but caught two
per-cell-false survivors introduced/inherited by the fixes commit, plus a stale
body and one hh_size count (note N2).

- §2c: the fixes commit re-instantiated the F1 blanket ("the 65+ cells cannot be
  cleared by any permitted entry-state lever") — false for
  coresident_spouse.65+|female, which candidate 1 clears 4/5 because the ~0.577
  stationary ceiling sits INSIDE that cell's lower window on 4 of 5 seeds
  (lower edges [0.5478, 0.5759, 0.5717, 0.5769, 0.5813]). Rewritten to per-cell
  truth: ceiling-below-window holds for the married pair + coresident male; the
  coresident-female window straddles the ceiling, which is why its ground is
  duplication, not unreachability. Bound by
  test_section2c_no_blanket_65plus_impossibility_coresident_inside_window (MM4).

- §3.1: dropped marital_share.never_married.25-34|male from the "5/5 for both
  candidates" list — candidate 1 clears it 1/5 (seed 1 0.1707 vs tol 0.192,
  flags [T,F,F,F,F]). The complete gate-eligible 5/5-fail retained set is
  hh_size_share.{1..5plus} + marital_share.married.25-34|male +
  earnings_participation.35-44|female; never_married is retained a fortiori.
  Bound by test_section3_1_5of5_fail_list_per_cell_true_excludes_never_married
  (MM6).

- §4c: folded the verifier's principled ruling + deployment-contingent guard into
  the duplicate ground — ratio==1.0 is a machine-checkable identity per candidate
  (both deployments' spec_resolutions regenerate coresident_spouse as
  (terminal marital_state == married), bit-identical); the ground dissolves for a
  future candidate modeling coresidence separately, and re-gating then requires
  the standing forensics-then-ceremony path. Cites comment 4954135376.

- N2: reconciled the amendment-3 hh_size risk count to FOUR (sizes 1/3/4/5+) in
  §1/§5/§8/§9 prose — Q7's joint lever clears only size-2. All five hh_size cells
  still fail 5/5. Bound in test_c2_record_bound_and_amendment3_forecast.

Frontmatter + §11 checklist updated to record the verification round and this
fixes-2 revision.

Bindings 24 -> 26; artifact tier 903 -> 905, total 2,601 -> 2,603
(tests/tier_counts.json + tests/README-tiers.md, enforced by test_tier_policy).
Mutation battery re-run against the corrected sentences: prior FM1-8 / MM1-2 stay
caught, and the MM4 / MM6 analogues the verification round found unbound are now
caught. gates.yaml byte-identical to origin/master; the draft moves nothing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

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