Gate-1 candidate 9: calibrated memory and a zero-anchor participation regime - #62
Merged
Merged
Conversation
… 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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
MaxGhenis
marked this pull request as ready for review
July 7, 2026 01:12
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
|λ·u_w(donor) + (1−λ)·u_A(donor) − u_A(target)|at the 0.25 weight (bare on re-entry).u_wis candidate 8's shrunk permanent rank (candidate 3's z-panel decomposition, PR Gate-1 candidate 8: permanent-rank donor matching #58);u_Athe 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.Per-seed table
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)
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.
[−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.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.jsonto float precision before any seed was scored: True.Reproduction & determinism
test_seed0_reproduces_committed_artifactruns 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.Artifact
runs/gate1_rank_knn_v3.json(schemagate1_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