Generated 2026-07-06 | Source: post-fix wave 1 replay (10,000 designs × 1 seed × both designs)
| Strategy | N | Q min | Q p5 | Q med | J pass% | P falls% | Both% | maint.bias shrinkage | maint.bias mean | attempt.bias shrinkage | identity shrinkage |
|---|---|---|---|---|---|---|---|---|---|---|---|
S0: Current (top-1000) | 1000 | 35.6 | 82.5 | 152.3 | 24% | 19% | 14% | 47% | +0.33 | 3% | -0% |
SB: Top-200 composite | 200 | 35.6 | 65.8 | 126.8 | 62% | 48% | 40% | 50% | +0.55 | 26% | 14% |
SC: Union(500 STPM + J+P) | 1440 | 35.6 | 93.2 | 558.6 | 70% | 69% | 68% | 42% | +0.72 | 9% | 6% |
SD: Constraint-first | 500 | 50.6 | 133.2 | 548.0 | 100% | 100% | 100% | 48% | +0.77 | 27% | 17% |
SE: Near-flat+J, top-500 Q | 500 | 35.6 | 96.6 | 194.4 | 53% | 36% | 30% | 50% | +0.59 | 29% | 11% |
NROY target zone (from wave 2 NROY designs): maintenance.bias mean = +0.63, attempt.bias mean = -3.74, identity mean = +1.29
| Strategy | N | Q min | Q p5 | Q med | J pass% | P falls% | Both% | maint.bias shrinkage | maint.bias mean | attempt.bias shrinkage | identity shrinkage |
|---|---|---|---|---|---|---|---|---|---|---|---|
S0: Current (top-1000) | 1000 | 57.9 | 97.9 | 169.3 | 24% | 14% | 10% | 30% | +0.11 | 3% | -1% |
SB: Top-200 composite | 200 | 57.9 | 75.7 | 126.6 | 52% | 32% | 27% | 31% | +0.37 | 18% | 8% |
SC: Union(500 STPM + J+P) | 1383 | 57.9 | 102.2 | 874.2 | 69% | 68% | 66% | 31% | +0.39 | 7% | 4% |
SD: Constraint-first | 500 | 73.0 | 140.5 | 983.4 | 100% | 100% | 100% | 35% | +0.49 | 21% | 16% |
SE: Near-flat+J, top-500 Q | 500 | 65.4 | 103.5 | 220.3 | 54% | 25% | 21% | 31% | +0.31 | 23% | 12% |
NROY target zone (from wave 2 NROY designs): maintenance.bias mean = +0.63, attempt.bias mean = -3.74, identity mean = +1.29
Run condition_wave1.py with:
python tools/calibration/condition_wave1.py --wave1-root output/calibration_runs/20260703_0711_postfix_wave1 --design design_B_geography_frozen --impl-dir postprocess/implausibility_prefixVs --selection-mode top-k --top-k-n 500 --w-stpm 1 --w-sts 0 --w-jackson 34 --w-prevalence 34 --jackson-band strict --output-dir output/wave3_conditioning
But first filter the input pool to designs with prevalence_delta < 0.02 and jackson_fail_count ≤ 1,
then rank by QSTPM. This requires either a pre-filtering step or a new --pool-filter
argument to condition_wave1.py.
| Parameter | W1 Prior mean | W2 Prior mean | NROY mean | NROY sd | NROY range | W2 Prior sd | "NROY shrinkage" |
|---|---|---|---|---|---|---|---|
maintenance.bias | -0.389 | +0.480 | +0.629 | 0.574 | [-0.27, +2.29] | 0.703 | 18% |
attempt.bias | -3.644 | -3.745 | -3.742 | 0.347 | [-4.73, -3.10] | 0.425 | 18% |
"NROY shrinkage" = 1 - (NROY sd / W2 prior sd). Shows how concentrated the NROY region is relative to the wave-2 prior.
maintenance.bias
(mean +0.63, much narrower than the W2 prior sd=0.70) and mNonSmokerSelfIdentity
(shifted +0.6 SD from W2 prior mean). These two parameters, along with attempt.bias,
should be the primary conditioning targets for wave 3. A strategy that concentrates the posterior
around maintenance.bias ≈ +0.6 and identity ≈ +1.3 would maximise the chance of hitting the NROY zone.
| Constraint | Pass count | Pass rate |
|---|---|---|
| Prevalence falls | 13 / 30 | 43% |
| Jackson pass | 17 / 30 | 57% |
| Both | 10 / 30 | 33% |
Even among NROY designs, only 33% pass both constraints. The structural tension between QSTPM and prevalence is narrowing but not resolved.
Source: post-fix wave 1 replay, scored with pre-fix Vs. Generated 2026-07-06.