Wave 3 Conditioning Strategy Comparison

Generated 2026-07-06 | Source: post-fix wave 1 replay (10,000 designs × 1 seed × both designs)

Design B (Geography Frozen)

StrategyNQ minQ p5Q medJ pass%P falls%Both%maint.bias
shrinkage
maint.bias
mean
attempt.bias
shrinkage
identity
shrinkage
S0: Current (top-1000)100035.682.5152.324%19%14%47%+0.333%-0%
SB: Top-200 composite20035.665.8126.862%48%40%50%+0.5526%14%
SC: Union(500 STPM + J+P)144035.693.2558.670%69%68%42%+0.729%6%
SD: Constraint-first50050.6133.2548.0100%100%100%48%+0.7727%17%
SE: Near-flat+J, top-500 Q50035.696.6194.453%36%30%50%+0.5929%11%

NROY target zone (from wave 2 NROY designs): maintenance.bias mean = +0.63, attempt.bias mean = -3.74, identity mean = +1.29

Q distribution Parameter distributions Shrinkage comparison maint.bias vs Q scatter Prevalence vs Q scatter

Design A (Geography Free)

StrategyNQ minQ p5Q medJ pass%P falls%Both%maint.bias
shrinkage
maint.bias
mean
attempt.bias
shrinkage
identity
shrinkage
S0: Current (top-1000)100057.997.9169.324%14%10%30%+0.113%-1%
SB: Top-200 composite20057.975.7126.652%32%27%31%+0.3718%8%
SC: Union(500 STPM + J+P)138357.9102.2874.269%68%66%31%+0.397%4%
SD: Constraint-first50073.0140.5983.4100%100%100%35%+0.4921%16%
SE: Near-flat+J, top-500 Q50065.4103.5220.354%25%21%31%+0.3123%12%

NROY target zone (from wave 2 NROY designs): maintenance.bias mean = +0.63, attempt.bias mean = -3.74, identity mean = +1.29

Q distribution Parameter distributions Shrinkage comparison maint.bias vs Q scatter Prevalence vs Q scatter

Recommendation: Strategy SE for Wave 3

SE: Near-flat prevalence (δ < +2pp) + ≤1 Jackson failure, top-500 by QSTPM
Why not the alternatives?

Implementation

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.

Wave 2 NROY Design Characteristics (Design B)

30 NROY designs from wave 2 Design B (post-fix Vs scoring). These are the designs we want wave 3 conditioning to target — the region of parameter space that produces QSTPM < 34.3.
NROY scatter

NROY Design Parameters

ParameterW1 Prior meanW2 Prior meanNROY meanNROY sdNROY rangeW2 Prior sd"NROY shrinkage"
maintenance.bias-0.389+0.480+0.6290.574[-0.27, +2.29]0.70318%
attempt.bias-3.644-3.745-3.7420.347[-4.73, -3.10]0.42518%

"NROY shrinkage" = 1 - (NROY sd / W2 prior sd). Shows how concentrated the NROY region is relative to the wave-2 prior.

Prior → Posterior → NROY Evolution

Prior posterior NROY
Key insight: The NROY region is well-localised in 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.

NROY Constraint Satisfaction

ConstraintPass countPass rate
Prevalence falls13 / 3043%
Jackson pass17 / 3057%
Both10 / 3033%

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.