Skip to content

Gate-1 candidate 9: calibrated memory and a zero-anchor participation regime - #62

Merged
MaxGhenis merged 1 commit into
masterfrom
gate1-candidate9-calibrated
Jul 7, 2026
Merged

Gate-1 candidate 9: calibrated memory and a zero-anchor participation regime#62
MaxGhenis merged 1 commit into
masterfrom
gate1-candidate9-calibrated

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

The eleventh pre-registered gate-1 run and the first candidate scored under the amended gate (PR #57/#59). Frozen spec: issue #42 candidate-9 comment. Candidate 7's machinery verbatim with two registered changes; the only calibration is the registered train-side SMM for λ. One shot; this reports the verdict exactly as computed.

Verdict (amended gate): FAIL

gate_1_pass = False — geometry 0/5, battery 2/5, pooled Q0 −17.89% (> 5, fail). All three of the amended gate's conditions fail.

Amended pass rule (live in gates.yaml, PR #59): a seed passes geometry iff every locked geometry threshold on both views holds (runs-view c2st demoted to reported-not-gated) AND every per-seed benefit-space metric (|mean %|, |median %|, gated deciles d3–d9 %, weighted KS) holds; a seed passes battery iff every locked tolerance holds; the gate passes iff ≥4/5 geometry AND ≥4/5 battery AND the pooled Q0 gate (|pooled-mean Q0 %| ≤ 5).

The two registered changes

  1. SMM-calibrated donor-coordinate blend. The k-NN third distance term becomes |λ·u_w(donor) + (1−λ)·u_A(donor) − u_A(target)| at the 0.25 weight (bare on re-entry). u_w is candidate 8's shrunk permanent rank (candidate 3's z-panel decomposition, PR Gate-1 candidate 8: permanent-rank donor matching #58); u_A the anchor ranks (candidate 7). λ is calibrated per seed on the train split by SMM in the 5b tradition: grid λ∈{0,…,1.0}, generate the full machinery over the first 2,000 train persons at each λ, score the autocorrelation-ladder (lags 1/2/5) SSE against the subsample's own ladder, pick the minimizing λ (ties to smaller). λ=0 reproduces candidate 7; λ=1 candidate 8.
  2. Zero-anchor participation regime. Zero-anchor holdout persons draw participation from a gate refit only on zero-anchor train pairs (same features, same populace-fit defaults — a conditional refit, not a dial; ~17,000 pairs/seed, not the ~6,400 the risk note estimated) and their re-entry innovations from a re-entry pool restricted to zero-anchor train donors (PR Q0 forensics: why generated zero-anchor careers overstate benefits #61 measured the unrestricted pool importing attached persons' +0.027 higher pre-gap ranks). Positive-anchor persons keep the shared gate and full pools exactly as candidate 7. Candidate 9 does not adopt candidate 8's attachment distance — the blend is the third term for all targets.

Per-seed table

seed λ geo thresholds (pairs c2st) benefit-space geometry battery ac2 (dev) ac4 (dev) ac10 (dev)
0 0.2 FAIL (0.550) FAIL (mean, d3, d4, KS) FAIL FAIL (2yr) 0.789 (.059) 0.713 (.056) 0.578 (.039)
1 0.0 FAIL (0.531) pass FAIL FAIL (10yr) 0.721 (.009) 0.630 (.028) 0.439 (.100)
2 0.3 FAIL (0.540) FAIL (d3, d4, KS) FAIL pass 0.779 (.049) 0.699 (.042) 0.553 (.014)
3 0.1 FAIL (0.535) FAIL (d3, d4) FAIL pass 0.776 (.046) 0.699 (.042) 0.555 (.016)
4 0.0 FAIL (0.532) pass FAIL FAIL (10yr) 0.722 (.009) 0.645 (.013) 0.443 (.096)

Geometry (amended) = locked geometry thresholds AND per-seed benefit-space. Battery tolerances: 2yr 0.05, 4yr 0.06, 10yr 0.07; pairs c2st threshold 0.53.

Geometry 0/5: the binding constraint is the pairs-view c2st_auc — 0.531–0.550 on all five seeds, all just over 0.53. The blend plus the zero-anchor regime raise the pairs-view distinguishability past threshold everywhere; benefit-space additionally fails on seeds 0/2/3. Even the two benefit-passing seeds (1, 4) fail geometry on c2st, so geometry never reaches 4/5.

Battery 2/5: seeds 2 and 3 pass (λ=0.3/0.1 land the 10-year rung at 0.553/0.555, in band, with the 2-year rung under tolerance at 0.779/0.776, dev 0.049/0.046). Seed 0 (λ=0.2) lands the 10-year rung but pushes the 2-year rung to dev 0.059 > 0.05. Seeds 1 and 4 — the SMM chose λ=0 (pure candidate 7) — leave the 10-year rung short at 0.439/0.443 (dev 0.100/0.096). This is the registered risk materialising exactly: "the λ grid may not contain a value that lands the 10-year rung without disturbing the 2/4-year rungs (the blend changes all three)."

Chosen λ per seed

{seed 0: 0.2, seed 1: 0.0, seed 2: 0.3, seed 3: 0.1, seed 4: 0.0} — the SMM never chose λ above 0.3, and on two seeds it chose λ=0 (candidate 7). The train-side SMM systematically favours the lower end of the bracket because raising λ lifts all three rungs together; the 10-year rung reaches band around λ=0.1–0.3, but the 2-year rung overshoots at the same λ on the seeds where the 10-year rung lands.

The eleven-run autocorrelation ladder (2/4/10 yr)

run 2yr 4yr 10yr
baseline 0.726 0.573 0.333
c2 0.726 0.688 0.649
c3 0.722 0.695 0.647
c4 0.464 0.401 0.354
5a 0.779 0.704 0.616
5a′ 0.720 0.631 0.490
5b 0.716 0.653 0.507
c6 0.692 0.548 0.381
c7 0.719 0.636 0.459
c8 0.791 0.733 0.670
c9 (pooled) 0.757 0.677 0.514
reference band 0.730±0.05 0.657±0.06 0.539±0.07

The c9 pooled 10-year rung (0.514) sits inside the reference band [0.469, 0.609] and between the c7/c8 bracket (0.459 / 0.670) — the blend achieved its stated aim on the 10-year rung in the pooled mean. But the pooled 2-year rung (0.757) is above its band [0.680, 0.780] edge and the per-seed picture is bimodal: the λ=0 seeds (1, 4) reproduce c7 (10-year short), the λ>0 seeds (0, 2, 3) pull the 10-year rung into band while pushing the 2-year rung to the tolerance edge. No single λ on the grid lands all three rungs simultaneously.

Q0: did the participation regime close it?

The participation law is fixed; the level over-corrected.

  • Pooled Q0 PIA-proxy gap: −17.89% (real target 2.66% pooled floor, ±5% band → gate FAIL), vs c7 +9.3% and c8 +12.2%. The sign flipped and the magnitude grew. Per-seed Q0 means are strongly λ-dependent and bimodal: [−36.5, +10.2, −32.7, −32.3, +1.9] — the λ=0 seeds (1, 4) keep c7-like positive Q0 (+10.2/+1.9), while the λ>0 seeds (0, 2, 3) swing to −32 to −37.
  • Q0 participation diagnostics (generated vs real, zero-anchor holdout subgroup, over non-anchor periods): generated all-zero share 0.3155 vs real 0.3147 (gap +0.0007); generated mean positive periods 2.677 vs real 2.729. The zero-anchor gate refit closed the never-worker resurrection the shared gate caused (PR Q0 forensics: why generated zero-anchor careers overstate benefits #61's +20.7pp zero-to-positive conversion collapses to +0.07pp) — the participation law now matches reality almost exactly.

The remaining Q0 error is a level error, not a participation error: the zero-anchor persons who do work now draw re-entry innovations from the zero-anchor-restricted donor pool, whose pre-gap ranks are systematically lower, and combined with the concave 90%-replacement region below the first PIA bend point this over-corrects Q0 PIA-proxy far past zero into −18% pooled. The forensics' diagnosis was directionally right (the +9.3% was participation-driven), but the two-part fix over-shoots: removing the +20.7pp resurrection and restricting the re-entry pool together subtract more than the +9.3% they were meant to remove.

Battery-reference reproduction

The battery-reference bit-exact precheck reproduced every committed value in runs/noise_floor_psid_family_9822.json to float precision before any seed was scored: True.

Reproduction & determinism

  • test_seed0_reproduces_committed_artifact runs live in .venv-gate (PSID staged + populace-fit) and reproduces seed 0's λ, geometry, battery, pool sizes, u_w decomposition, and the gated Q0 statistic to float precision — the run reproduces from the seed alone.
  • The standard consistency block recomputes the amended verdict from the stored scores: geometry conjoins the per-seed benefit-space metrics, the pooled Q0 gate recomputes from the per-seed Q0 means, and the gate conjoins ≥4/5 geometry AND ≥4/5 battery AND pooled Q0. 24/24 tests pass.

Artifact

runs/gate1_rank_knn_v3.json (schema gate1_rank_knn.v3, spec_registration = the candidate-9 comment): per-seed chosen λ + SMM target-vs-simulated ladders, the amended-gate scorecard including the benefit_space block per seed + pooled Q0, Q0 participation diagnostics (generated vs train-real all-zero share and mean positive periods), and the standard diagnostics. pe-us revision (SSA oracle): bf71be3b.

Provenance

Base machinery: candidate 7 (#55); u_w: candidate 8 (#58); benefit-space functional: #56; C2ST forensics: #54. Amended gate: proposal #57, flipped live #59; Q0 forensics: #61. Links issue #42.

Do not merge — this publishes the pre-registered result under the amended gate.

🤖 Generated with Claude Code

… regime (fails under the amended gate)

The eleventh pre-registered gate-1 run and the first candidate scored
under the amended gate (PR #57/#59). Candidate 7's machinery verbatim
with two registered changes; the only calibration is the registered
train-side SMM for lambda.

Verdict under the amended gate: FAIL. Geometry 0/5, battery 2/5, pooled
Q0 -17.89% (> 5).

Two registered changes:
1. SMM-calibrated donor-coordinate blend. The k-NN third distance term
   becomes |lambda*u_w(donor) + (1-lambda)*u_A(donor) - u_A(target)| at
   the 0.25 weight; u_w is candidate 8's shrunk permanent rank, u_A the
   anchor ranks. lambda is calibrated per seed on the train split by SMM
   in the 5b tradition (grid {0,...,1.0}, autocorrelation-ladder SSE on
   the first 2,000 train persons, ties to the smaller lambda). lambda=0
   reproduces candidate 7; lambda=1 candidate 8.
2. Zero-anchor participation regime. Zero-anchor holdout persons draw
   participation from a gate refit only on zero-anchor train pairs and
   their re-entry innovations from a zero-anchor-restricted re-entry
   pool. Positive-anchor persons keep the shared gate and full pools
   exactly as candidate 7. Candidate 9 does NOT adopt candidate 8's
   attachment distance.

Findings:
- Chosen lambda per seed: {0: 0.2, 1: 0.0, 2: 0.3, 3: 0.1, 4: 0.0}. The
  train SMM never chose lambda above 0.3 and chose lambda=0 (candidate 7)
  on two seeds.
- The c9 pooled 10-year autocorrelation rung (0.514) lands inside the
  reference band [0.469, 0.609] and between the c7/c8 bracket
  (0.459/0.670) -- the blend achieved its aim on the 10-year rung in the
  pooled mean. But no single lambda on the grid lands all three rungs
  simultaneously: the registered risk materialized (the blend changes
  all three rungs together). Battery passes only 2/5 (seeds 2, 3);
  seed 0 fails the 2-year rung (dev 0.059), seeds 1/4 (lambda=0) leave
  the 10-year rung short.
- Geometry 0/5: the binding constraint is the pairs-view c2st_auc
  (0.531-0.550, all just over 0.53) on all five seeds; benefit-space
  additionally fails on seeds 0/2/3.
- The zero-anchor participation regime closed the never-worker
  resurrection (generated all-zero share 0.3155 vs real 0.3147, gap
  +0.0007, vs PR #61's +20.7pp for the shared gate) -- the participation
  law now matches reality. But the level over-corrected: pooled Q0
  PIA-proxy moved from c7 +9.3% / c8 +12.2% to c9 -17.89% (the restricted
  re-entry pool plus the resurrection fix together subtract more than the
  +9.3% they were meant to remove).

Artifact runs/gate1_rank_knn_v3.json (schema gate1_rank_knn.v3):
per-seed chosen lambda + SMM ladders, the amended-gate scorecard (the
benefit_space block per seed + pooled Q0), Q0 participation diagnostics,
and the standard diagnostics. The battery-reference bit-exact precheck
reproduced every committed value before scoring. Tests: seed-0
reproduction (live in .venv-gate) + the amended-verdict recomputation
block (24 pass in .venv-gate; 311 pass / 16 skip in the repo .venv).

Links issue #42; base machinery candidate 7 (#55); u_w candidate 8
(#58); benefit-space functional #56; C2ST forensics #54; amended gate
#57/#59; Q0 forensics #61.

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

vercel Bot commented Jul 7, 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 7, 2026 12:57am

Request Review

@MaxGhenis
MaxGhenis marked this pull request as ready for review July 7, 2026 01:12
@MaxGhenis
MaxGhenis merged commit 3c18702 into master Jul 7, 2026
7 checks passed
MaxGhenis added a commit that referenced this pull request Jul 7, 2026
…try under the amended gate) (#64)

The twelfth pre-registered gate-1 run, and the first whose every constant was
selected by nested validation (PR #63) rather than by outer-gate feedback.
Candidate 10 is the inner sweep's V1-lam0.1 variant at outer scale: candidate
7's k-NN conditional-rank-bootstrap machinery, candidate 9's zero-anchor
participation regime with its two poisons removed (the re-entry-pool
restriction dropped, Q0 targets held memory-exempt), and a FIXED lambda = 0.1
donor-coordinate blend for the non-Q0 targets. No calibration stage: lambda is
fixed, not chosen against any score.

Frozen spec: issue #42 comment 4902561460. Scored under the amended gate
(gates.yaml gate_1, PR #57/#59) exactly as run 11: runs-view c2st demoted,
gated benefit-space block folded into the geometry verdict, >=4/5 geometry AND
>=4/5 battery AND pooled Q0 (abs <= 5).

Verdict, exactly as computed: gate_1_pass = FALSE -- geometry 3/5 (needs 4/5),
battery 4/5 (passes), pooled Q0 +0.038% (passes). Seeds 0 and 1 each clip the
pairs-view C2ST (0.5315, 0.5330 vs 0.53); seeds 2/3/4 clear it. The only
battery failure is seed 0's 2-year autocorrelation (0.7896, deviation 0.0595 >
0.05) -- a short-lag overshoot from the memory injection, not the 10-year
undershoot of earlier candidates (every seed clears 4yr and 10yr).

Inner-vs-outer: the ~0.005-0.01 heat correction the inner sweep predicted for
the pairs C2ST delivered a reshuffle, not a uniform cooling -- mean cooled
-0.0014 (inner 0.5293 -> outer 0.5279), but seeds 0/1 heated up (crossing to
fail) while the worst inner seed (3, 0.5365) cooled to a comfortable pass
(0.5260). Still 3/5, one seed short -- exactly the forecast's named failure
(comment 4902561584, P(pass) ~0.42). The Q0 program was solved: pooled Q0
generalized inner +1.19% -> outer +0.04%, and the generated-vs-real all-zero
share gap is +0.0007 (no never-worker resurrection).

Generation verified byte-identical to the inner sweep's generate_variant at
memory_mode=lambda_blend, lam=0.1, use_zero_anchor_gate=True under candidate-7
seeding. Seed-0 reproduction run live in .venv-gate (float-exact). Full pytest
green in the repo .venv (361 passed, 22 skipped). ruff + black -l 79 clean.

Deliverables:
- scripts/run_gate1_candidate10.py -- deterministic; candidate-7 two-element
  substreams; the registered rules exactly.
- runs/gate1_rank_knn_v4.json -- schema gate1_rank_knn.v4; spec_registration =
  the candidate-10 comment; standard diagnostics + Q0 participation numbers +
  per-seed benefit_space + the amended scorecard.
- tests/test_gate1_qrf_candidate10.py -- seed-0 reproduction (skipif PSID +
  importorskip populace.fit) + generation-equivalence to the inner sweep + the
  Q0-exempt/full-pool checks + the amended-gate consistency block.

Links: issue #42; PRs #63 (inner-validation harness + design sweep), #62
(candidate 9), #61 (Q0 forensics), #55 (candidate 7).

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