# 3372 - Bias-signal contexts dropped jointly, and the shared-bias SD: two documented sensitivities of the synthesis

**Status: documented sensitivity analyses. They change nothing in the primary**: `hierarchy_final_p18.json`, 3350, 3371, `gate_decisions.json` and every other existing file are untouched (existing modules imported read-only; module globals changed only in memory inside worker processes; fits under `project_results/bias_sensitivity_3372/`).

## Bottom line

**Analysis 1, plain language: dropping the three contexts whose designs show a bias signal on a primary negative control (U.S. PCV, Brazil maternal DTaP, Hong Kong PCV) leaves the central estimates essentially where they were; the upper limits rise modestly because three of the 15 contexts' information is gone.** The primary shared mean goes from 0.96 (0.60-1.52) to 0.97 (0.58-1.58) and the A1 common effect from 0.96 (0.64-1.46) to 0.97 (0.63-1.49) (medians +0.008 / +0.007, upper limits +0.068 / +0.036; P(RR > 1.25) +0.024 / +0.016); no A1 exclusion call changes. Adding the lockdown-free Colombia curve on top gives 1.07 (0.65-1.76) (primary) and 1.08 (0.70-1.65) (A1); the Colombia curve alone (3371: 1.05 (0.65-1.65) and 1.05 (0.70-1.59)) accounts for 77%-79% of that median shift. Against the published A1, the A1 exclusion call at 1.50 flips (as it already does with the Colombia curve alone). Every one of these intervals includes 1 with room on both sides.

**Analysis 2, plain language: the upper limit depends strongly on the shared-bias SD; the central estimate does not.** With every context allowance unchanged, the upper 95% limit of the A1 common effect is 1.31 with no shared bias, 1.33 at 0.05, 1.38 at 0.10, 1.46 at the primary's 0.15, 1.55 at 0.20 and 1.76 at 0.30, while the median barely moves (0.963-0.968). A common RR of 1.50 is excluded at shared SDs 0.00, 0.05, 0.10, 0.15; 1.25 at none; 1.10 at none: even with no shared bias at all, the data and the context allowances leave the upper limit at 1.31, so 1.25 is not excluded by removing the shared allowance alone (3350 T1 found the same). The primary shared mean behaves the same way (1.39 / 1.52 / 1.80 at 0 / 0.15 / 0.30; it excludes 1.50 only at 0.00, 0.05, 0.10).

**What the negative controls support.** Read as evidence on a shared bias, the negative-control summaries estimate it with an uncertainty of 0.11 (3330 preview set S7, 12 controls), 0.146 (3370's posterior SD of the mean bias mu_b) and 0.27 (3330 preview set C_INJ, the 5 primary injury controls). So a shared-bias SD of roughly 0.11-0.27 is what those data can support: the primary's 0.15 sits inside that range, 0.20 too, 0.30 is more conservative than they require, and 0, 0.05 and 0.10 are not supported (they would claim more knowledge of the shared bias than any of these summaries provides; 0.10 is close to S7's 0.11). Within the supported range the A1 upper limit runs from 1.40 to 1.69 and P(common RR > 1.25) from 0.084 to 0.185; the A1 exclusion of 1.50 holds at 0.112, 0.146, 0.150 and fails at 0.200, 0.269 within that range. No NC summary distinguishes the mean bias from zero (means -0.072, +0.065, -0.039 on the log scale, every 95% interval spanning 0), so nothing here argues for shifting the centre. These are a descriptive preview (3330) and an exchangeability-dependent model (3370), and a shared bias specific to autism series (diagnostic-practice or awareness trends that move autism but not injuries) is invisible to every control, so the NC-implied SD is a floor for the shared SD, not an estimate of it: the data argue against shrinking the shared allowance below about 0.11, not for any particular larger value.

## Rule

Documented in `qa/bias_sensitivity_20260930/3372_rule.json` (SHA-256 `a53229819fe358ff1362c1043cd20c83c1df2183efa0940de525fed10792e56f`, sidecar `qa/bias_sensitivity_20260930/3372_rule.sha256`; file time 2026-09-30T06:06:03-05:00), written before any 3372 computation (first fit started 2026-09-30T06:10:15-05:00; smoke tests of the worker at p16 wrote only to a scratch folder). The script refuses to run if the rule or any input / code file hashed in it has changed. The negative-control files (3330 preview, 3370) are read at report time and hashed then, not locked, because other workflows regenerate them (Negative controls, below, says whether they changed).

Machinery. **E1** = the primary shared mean: `global_hierarchy.run_spec` of the primary reference spec (core v2, p18, seeds 23091/23092, 241-point grid, heterogeneity grid product SD {.1,.35,.7} x context SD {.1,.35}, calibrated bias map = assumed floors, U.S. rotavirus 2006 untied), each dropped context removed by its own `primary_contexts` drop exactly as `run_final` builds the `loco_*` scenarios (U.S. PCV untied: its data stay in the joint U.S. likelihood, its PCV product becomes core-free; Brazil omitted; Hong Kong omitted from the frozen builder). **E2** = the 3350 A1 common effect: 3350 `make_spec(..., "floors", drop_ids)` and its `fit_worker` body (`global_hierarchy.component` at tp = tc = 0 on the 1201-point grid) with 3350 `summarize_theta` (Simpson 3/8; shared SD 0.15; prior N(0, ln 2)). **+COL_R1** = the Colombia block's reference curve replaced in memory by 3371's R1 curve (2020-2021 removed; SHA-256 `a533f6bf...`, equal to 3371's receipt). ESS rule: a p18 fit with minimum relevant core ESS < 50 is refitted and reported at p20.

## Verification (documented; every check passed)

| check | result | passes |
|---|---|---|
| E1, no drop, vs `hierarchy_final_p18.json` headline (median, limits, P>1, P>1.10, P>1.25) and saved components | max abs diff 1.1e-16; components 0.0e+00 | True |
| E2, no drop, vs 3350 A1 (median, limits, four exceedances) and `A1_p18.npz` values | max abs diff 0.0e+00; values 0.0e+00 | True |
| Single drop US_PCV: E1 vs published `loco_US_PCV`; E2 vs 3350 `A4_US_PCV` | E1 max abs diff 1.1e-16 (components 0.0e+00); E2 0.0e+00 (values 0.0e+00) | True |
| Single drop BRA: E1 vs published `loco_BRA_MDTPA_census_autism`; E2 vs 3350 `A4_BRA_MDTPA_census_autism` | E1 max abs diff 0.0e+00 (components 0.0e+00); E2 0.0e+00 (values 0.0e+00) | True |
| Single drop HKG: E1 vs published `loco_HKG_PCV_autism`; E2 vs 3350 `A4_HKG_PCV_autism` | E1 max abs diff 0.0e+00 (components 0.0e+00); E2 0.0e+00 (values 0.0e+00) | True |
| Analysis 2: shared SD 0.15 rows equal the primary headline / A1; SD 0 A1 row equals 3350 T1 (shared bias removed) | max abs diff 0.0e+00 / 0.0e+00 / 0.0e+00 | True |

The single drops are fitted by the same code path as the pairs and the joint drop, so their exact agreement with the published leave-one-out fits verifies how the drops are built.

## Analysis 1: the bias-signal contexts dropped

Contexts whose designs show a bias signal on a primary (reading-row) negative control (3330): U.S. PCV (IDEA hearing impairment 1.41 (1.05-1.91) on the core cells), Brazil maternal DTaP (SUS injury admissions 0.51 (0.29-0.83) and SIM unintentional injury deaths 0.36 (0.15-0.79) on the same 108 census cells), Hong Kong PCV (police road-traffic casualties 0.66 (0.48-0.92)) and U.S. rotavirus 2006 (IDEA traumatic brain injury 2.37 (1.09-4.58)), which the primary already unties from the shared mean. The three pooled ones are dropped here jointly, in pairs and singly.

| model | contexts dropped | Colombia curve | RR (95% CrI) | P>1.05 / 1.10 / 1.25 / 1.50 | excluded at 1.05, 1.10, 1.25, 1.50 | min core ESS | power |
|---|---|---|---|---|---|---|---|
| Primary shared mean | none (published) | production | 0.957 (0.599-1.517) | 0.345 / 0.275 / 0.126 / 0.028 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 106 | p18 |
| Primary shared mean | none (reproduced here) | production | 0.957 (0.599-1.517) | 0.345 / 0.275 / 0.126 / 0.028 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 106 | p18 |
| Primary shared mean | U.S. PCV (= published leave-one-out) | production | 0.947 (0.588-1.511) | 0.331 / 0.262 / 0.120 / 0.027 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 100 | p18 |
| Primary shared mean | Brazil maternal DTaP (= published leave-one-out) | production | 0.971 (0.599-1.560) | 0.371 / 0.300 / 0.145 / 0.036 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 96 | p18 |
| Primary shared mean | Hong Kong PCV (= published leave-one-out) | production | 0.962 (0.597-1.539) | 0.356 / 0.286 / 0.135 / 0.032 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 101 | p18 |
| Primary shared mean | U.S. PCV, Brazil maternal DTaP | production | 0.960 (0.588-1.555) | 0.356 / 0.287 / 0.139 / 0.034 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 91 | p18 |
| Primary shared mean | U.S. PCV, Hong Kong PCV | production | 0.951 (0.584-1.535) | 0.341 / 0.273 / 0.129 / 0.031 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 96 | p18 |
| Primary shared mean | Brazil maternal DTaP, Hong Kong PCV | production | 0.977 (0.597-1.587) | 0.383 / 0.312 / 0.156 / 0.041 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 96 | p18 |
| **Primary shared mean** | U.S. PCV, Brazil maternal DTaP, Hong Kong PCV | production | **0.966 (0.583-1.585)** | 0.368 / 0.300 / 0.150 / 0.040 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 87 | p18 |
| Primary shared mean | none (3371) | lockdown-free (R1) | 1.045 (0.654-1.655) | 0.492 / 0.413 / 0.220 / 0.061 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 124 | p18 |
| **Primary shared mean** | U.S. PCV, Brazil maternal DTaP, Hong Kong PCV | lockdown-free (R1) | **1.072 (0.648-1.755)** | 0.533 / 0.458 / 0.267 / 0.088 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 107 | p18 |
| A1 common effect | none (published) | production | 0.964 (0.637-1.455) | 0.343 / 0.265 / 0.108 / 0.018 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 181 | p18 |
| A1 common effect | none (reproduced here) | production | 0.964 (0.637-1.455) | 0.343 / 0.265 / 0.108 / 0.018 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 181 | p18 |
| A1 common effect | U.S. PCV (= published leave-one-out) | production | 0.955 (0.627-1.449) | 0.328 / 0.253 / 0.103 / 0.017 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 144 | p18 |
| A1 common effect | Brazil maternal DTaP (= published leave-one-out) | production | 0.976 (0.642-1.480) | 0.365 / 0.286 / 0.122 / 0.021 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 181 | p18 |
| A1 common effect | Hong Kong PCV (= published leave-one-out) | production | 0.968 (0.637-1.469) | 0.352 / 0.275 / 0.115 / 0.020 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 175 | p18 |
| A1 common effect | U.S. PCV, Brazil maternal DTaP | production | 0.966 (0.631-1.474) | 0.350 / 0.274 / 0.116 / 0.021 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 144 | p18 |
| A1 common effect | U.S. PCV, Hong Kong PCV | production | 0.958 (0.626-1.463) | 0.337 / 0.262 / 0.110 / 0.019 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 138 | p18 |
| A1 common effect | Brazil maternal DTaP, Hong Kong PCV | production | 0.981 (0.641-1.496) | 0.376 / 0.297 / 0.130 / 0.024 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 175 | p18 |
| **A1 common effect** | U.S. PCV, Brazil maternal DTaP, Hong Kong PCV | production | **0.971 (0.630-1.491)** | 0.360 / 0.284 / 0.124 / 0.023 | 1.05 no, 1.10 no, 1.25 no, 1.50 yes | 138 | p18 |
| A1 common effect | none (3371) | lockdown-free (R1) | 1.054 (0.697-1.591) | 0.507 / 0.420 / 0.209 / 0.047 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 253 | p18 |
| **A1 common effect** | U.S. PCV, Brazil maternal DTaP, Hong Kong PCV | lockdown-free (R1) | **1.078 (0.700-1.655)** | 0.547 / 0.463 / 0.249 / 0.065 | 1.05 no, 1.10 no, 1.25 no, 1.50 no | 213 | p18 |

Shift of the joint drop against the published numbers: primary median +0.008, upper limit +0.068, P>1.25 +0.024, P>1.50 +0.012; A1 median +0.007, upper limit +0.036, P>1.25 +0.016, P>1.50 +0.006. With the lockdown-free Colombia curve as well: primary +0.114 / +0.238, A1 +0.114 / +0.199 (median / upper limit), against +0.088 / +0.138 and +0.090 / +0.136 for the Colombia curve alone (3371).

The three contexts pull in different directions. Alone, dropping U.S. PCV (own-data autism estimate 1.17 (0.97-1.39)) moves the A1 median -0.009, dropping Brazil (0.77 (0.51-1.14)) +0.011 and dropping Hong Kong (0.89 (0.66-1.16)) +0.004; the joint drop's +0.007 is close to their sum (+0.006). The upper limits rise in every drop set (joint drop +0.068 primary, +0.036 A1) because removing contexts removes information.

3350 exclusion calls (excluded = 97.5th percentile below the threshold). Published A1: 1.05 no, 1.10 no, 1.25 no, 1.50 yes. Joint drop: 1.05 no, 1.10 no, 1.25 no, 1.50 yes. Joint drop + lockdown-free Colombia: 1.05 no, 1.10 no, 1.25 no, 1.50 no. Primary shared mean, published: 1.05 no, 1.10 no, 1.25 no, 1.50 no; joint drop: 1.05 no, 1.10 no, 1.25 no, 1.50 no; + Colombia: 1.05 no, 1.10 no, 1.25 no, 1.50 no. The 3350 robustness category is not recomputed for the drop sets (it needs A2 / A3 / A4 / A5 on each set, which the rule did not declare); the published A1 1.50 call was already 'not robust' (it fails under doubled floors and without Colombia).

## Analysis 2: the shared-bias SD

Every context's likelihood parameter is its effect plus a context bias, a country-group bias and a shared bias b ~ N(0, s^2) common to all contexts; the data identify only a = theta + b. The shared SD s enters the summaries through the prior on a (N(0, ln2^2 + s^2)) and through theta | a ~ N(lambda a, lambda s^2), lambda = ln2^2 / (ln2^2 + s^2). The rows below post-process the no-drop likelihood values with s changed and nothing else (the construction of the primary's own prior rows and of 3350 T1); context bias floors (0.35 / 0.70) and country-group terms (0.20 / 0.25) are unchanged. Analytic ceiling = the 97.5th percentile of theta with infinitely precise data centred on RR 1, exp(1.96 sqrt(lambda) s); "largest centre" = the largest pooled RR (a-centre) that could still exclude the threshold with no other uncertainty, exp((ln t - 1.96 sqrt(lambda) s) / lambda) (3350 T2).

| shared SD | NC support | analytic ceiling | largest centre excluding 1.25 / 1.50 | A1 common effect (95% CrI) | P>1.05 / 1.10 / 1.25 / 1.50 | A1 excludes 1.05, 1.10, 1.25, 1.50 | min core ESS |
|---|---|---|---|---|---|---|---|
| 0.00 | NOT SUPPORTED | 1.000 | 1.250 / 1.500 | 0.963 (0.705-1.310) | 0.291 / 0.199 / 0.048 / 0.002 | no, no, no, yes | 181 |
| 0.05 | NOT SUPPORTED | 1.103 | 1.134 / 1.363 | 0.963 (0.695-1.328) | 0.300 / 0.209 / 0.056 / 0.003 | no, no, no, yes | 181 |
| 0.10 | NOT SUPPORTED | 1.214 | 1.030 / 1.241 | 0.963 (0.671-1.379) | 0.320 / 0.235 / 0.078 / 0.008 | no, no, no, yes | 181 |
| 0.112 (S7 se(mu)) | CONSISTENT | 1.242 | 1.007 / 1.214 | 0.964 (0.663-1.396) | 0.325 / 0.242 / 0.084 / 0.010 | no, no, no, yes | 181 |
| 0.146 (3370 SD(mu_b)) | CONSISTENT | 1.323 | 0.943 / 1.140 | 0.964 (0.640-1.448) | 0.341 / 0.263 / 0.106 / 0.017 | no, no, no, yes | 181 |
| **0.15** | CONSISTENT | 1.333 | 0.935 / 1.132 | **0.964 (0.637-1.455)** | 0.343 / 0.265 / 0.108 / 0.018 | no, no, no, yes | 181 |
| 0.20 | CONSISTENT | 1.457 | 0.847 / 1.032 | 0.965 (0.601-1.548) | 0.364 / 0.294 / 0.142 / 0.034 | no, no, no, no | 181 |
| 0.269 (C_INJ se(mu)) | CONSISTENT | 1.634 | 0.735 / 0.906 | 0.967 (0.552-1.693) | 0.387 / 0.326 / 0.185 / 0.062 | no, no, no, no | 178 |
| 0.30 | MORE CONSERVATIVE | 1.715 | 0.687 / 0.853 | 0.968 (0.531-1.763) | 0.395 / 0.338 / 0.202 / 0.076 | no, no, no, no | 178 |

| shared SD | primary shared mean (95% CrI) | P>1 | P>1.05 / 1.10 / 1.25 / 1.50 | primary excludes 1.05, 1.10, 1.25, 1.50 | min core ESS |
|---|---|---|---|---|---|
| 0.00 | 0.956 (0.647-1.393) | 0.405 | 0.307 / 0.226 / 0.077 / 0.011 | no, no, no, yes | 106 |
| 0.05 | 0.956 (0.641-1.407) | 0.408 | 0.313 / 0.233 / 0.083 / 0.012 | no, no, no, yes | 106 |
| 0.10 | 0.956 (0.624-1.450) | 0.416 | 0.327 / 0.251 / 0.101 / 0.017 | no, no, no, yes | 106 |
| 0.112 (S7 se(mu)) | 0.957 (0.618-1.464) | 0.418 | 0.331 / 0.257 / 0.106 / 0.019 | no, no, no, yes | 106 |
| 0.146 (3370 SD(mu_b)) | 0.957 (0.601-1.511) | 0.425 | 0.344 / 0.273 / 0.124 / 0.027 | no, no, no, no | 106 |
| **0.15** | **0.957 (0.599-1.517)** | 0.425 | 0.345 / 0.275 / 0.126 / 0.028 | no, no, no, no | 106 |
| 0.20 | 0.958 (0.570-1.601) | 0.435 | 0.363 / 0.298 / 0.154 / 0.043 | no, no, no, no | 106 |
| 0.269 (C_INJ se(mu)) | 0.960 (0.529-1.735) | 0.446 | 0.383 / 0.326 / 0.190 / 0.069 | no, no, no, no | 106 |
| 0.30 | 0.961 (0.512-1.800) | 0.451 | 0.391 / 0.337 / 0.206 / 0.082 | no, no, no, no | 101 |

Reading: the posterior variance of the common effect (log scale) is lambda s^2 from the shared bias plus lambda^2 times the data's variance of a. The shared bias's share of that variance is 0% at 0.00, 9% at 0.05, 29% at 0.10, 48% at 0.15, 63% at 0.20, 81% at 0.30. At the primary's 0.15 the upper limit (1.455) sits above both the ceiling (1.333) and what the data give with no shared bias (1.310); the first s at which the shared bias carries more than half the variance is 0.20.

Figure: `08_figures/3372_bias_context_and_shared_bias_sensitivity.png` (upper limits of A1 and of the primary against s, the analytic ceiling, and the NC-supported range shaded).

### What the negative controls say about a shared bias

| source | what it estimates | mean bias (log) | SD of the shared-bias estimate | controls |
|---|---|---|---|---|
| S7: primary injury controls + round-2 informative injury controls | se(mu), 3330 preview | -0.072 | **0.112** | 12 |
| 3370 error model, mean bias mu_b (NC rounds read: [1]) | posterior SD of mu_b, 3370 | +0.065 | **0.146** | 19 same-cell controls in 6 contexts |
| C_INJ: the five primary injury controls | se(mu), 3330 preview | -0.039 | **0.269** | 5 |

Other summaries in the same files (context, not the specified three): 3370 error model with the secondary NCs (V5), mu_b SD 0.080; 3370 C_INJ reconciliation error model, mu_b SD 0.287; 3330 preview sets S4_all_designs 0.051 (n 27), S4b_all_designs_same_scale 0.088 (n 22), S7b_add_round2_all_eligible_injury 0.115 (n 14), S3_with_noninjury 0.118 (n 9), S2_uk_cell_set_E 0.199 (n 7), S1_no_us_rv2006 0.203 (n 4), S8_drop_failed_own_checks 0.268 (n 3), S5_depriored 0.370 (n 5). Only the all-designs preview set S4 (which mixes survey and national-benchmark designs from outside the hierarchy) and 3370's secondary-NC error model are precise enough to argue for a shared SD below 0.10; neither is a set of the hierarchy's own designs under its primary controls.

Support rule (specified in the rule before any result): a shared SD below the smallest of the three named values (0.112) is NOT SUPPORTED by the NC evidence, one within [0.112, 0.269] is CONSISTENT with it, and one above 0.269 is MORE CONSERVATIVE than it requires. Specified grid: 0.00 NOT SUPPORTED, 0.05 NOT SUPPORTED, 0.10 NOT SUPPORTED, 0.15 CONSISTENT, 0.20 CONSISTENT, 0.30 MORE CONSERVATIVE.

Why this mapping and why it is only a floor: if the negative-control outcomes carry the same systematic error as autism in the same designs (exchangeability), the mean of their "effects" estimates the shared bias, with the reported se(mu) / posterior SD as its uncertainty; a shared allowance smaller than that uncertainty would assume knowledge the controls do not provide. The converse does not hold: an autism-specific shared error is invisible to the controls, so the shared SD can be larger than the NC-implied value without contradicting them. The 3330 numbers are labelled a descriptive preview; 3370 rests on exchangeability of NC and autism biases.

NC files as read at report time: `project_results/negative_controls_3330/3330/calibration_preview.json` unchanged (`0e363be2d80d3fb0...`); `3370_calibrated_synthesis.json` unchanged (`4fde6e9ecdbaa0ce...`); `3370_calibrated_synthesis.md` unchanged (`e6922d274346698f...`); `3330_negative_control_summary.md` unchanged (`cb35e533d6805402...`). 3370 NC rounds read: [1].

### Consistency check: the untied core column's prior

In `global_hierarchy.component` the shared SD also appears as PRIOR_VAR = ln2^2 + 0.15^2 in the centre-free prior of an untied core column (U.S. rotavirus 2006): a constant in a that reweights the core draws. The rows above keep it at the primary's value. The specified check refits A1 with PRIOR_VAR = ln2^2 + s^2:

| shared SD | post-processing (above) | refit with PRIOR_VAR matched | max abs diff (median, limits, exceedances) | calls equal |
|---|---|---|---|---|
| 0.00 | 0.9628 (0.7047-1.3097) | 0.9628 (0.7047-1.3098) | 3.3e-06 | True |
| 0.30 | 0.9680 (0.5311-1.7629) | 0.9680 (0.5311-1.7629) | 5.7e-06 | True |

The PCV x RotaShield interaction prior hypot(ln 2, 0.15) is not a bias term (global_hierarchy docstring) and is unchanged.

## Reading and caveats

- Analysis 1 answers the review's question directly: removing every pooled context whose design shows a bias signal on a primary negative control leaves the central estimates where they were (those contexts lean in opposite directions) and widens the intervals by the information removed; no A1 exclusion call changes unless the lockdown-free Colombia curve is also used. It does not show that the remaining contexts are free of design bias: several have only uninformative or no same-cell controls (3330).
- Dropping U.S. PCV unties it (its data stay in the joint U.S. likelihood, so U.S. RotaShield stays adjusted for it), exactly as the published leave-one-out and 3350 A6 do.
- Analysis 2 is post-processing of fixed likelihood values: it changes the shared allowance and nothing else. The shared SD cannot be learned from the autism data themselves (every context moves with b), which is why the ceiling is a property of the prior, and why only external evidence (the controls) can speak to it.
- "NC support" is a statement about the three named summaries under exchangeability; it is not a new calibrated model. 3370's calibrated synthesis, which uses the controls context by context, is where that model lives.

## File receipts

- Script: `07_analysis_code/3372_bias_context_and_shared_bias_sensitivity.py` (SHA-256 `9dfe4b042be04304a80e7baccc26e08943c44834ae3b5d47c57beeb0385c98e7`, the version that wrote this report). Fit receipts record the script hash read when each fit finished (`94d8e6fbc63578c9...`). Each worker process imports the script file as it is on disk when it starts, so the fits loaded: `59ee61bf9bc8cc09...` (2026-09-30T06:08:20-05:00, kept as `project_results/bias_sensitivity_3372/fit_time_script_59ee61bf9bc8cc09.py`): E1_BRA+HKG_p18, E1_BRA_p18, E1_HKG_p18, E1_US_PCV+BRA_p18, E1_US_PCV+HKG_p18, E1_US_PCV_p18, E1_joint_p18, E1_none_p18; `94d8e6fbc63578c9...` (2026-09-30T06:16:49-05:00, kept as `project_results/bias_sensitivity_3372/fit_time_script_94d8e6fbc63578c9.py`): E1_joint+COL_R1_p18, E2_BRA+HKG_p18, E2_BRA_p18, E2_HKG_p18, E2_US_PCV+BRA_p18, E2_US_PCV+HKG_p18, E2_US_PCV_p18, E2_joint+COL_R1_p18, E2_joint_p18, E2_none_p18, E2_none_priorvar_s0.00_p18, E2_none_priorvar_s0.30_p18. The versions differ only in report code (the report stage was written while the fits ran, and the report-side helper `a1_at` gained two output fields); the worker, the task tags and every constant they use are byte-identical. The fits are pinned by content: each fit is reused only while its tag (rule hash, imported model-code hashes, task, dropped contexts, Colombia curve hash) is unchanged, and the no-drop and single-drop fits reproduce the published primary, A1 and leave-one-out rows exactly (Verification). Fits ran 2026-09-30T06:10:15-05:00 to 2026-09-30T06:36:31-05:00.
- Rule: `qa/bias_sensitivity_20260930/3372_rule.json` (SHA-256 `a53229819fe358ff1362c1043cd20c83c1df2183efa0940de525fed10792e56f`); inputs and code hashed in it were unchanged at every stage (checked before each stage).
- Outputs: `3372_bias_context_and_shared_bias_sensitivity.md`, `3372_bias_context_and_shared_bias_sensitivity.json`, `3372_bias_context_and_shared_bias_sensitivity.csv` (SHA-256 `ffccd671a9550fa5442e14956167f8152466f5e0297d5a1dc2576b3578a34750`), `08_figures/3372_bias_context_and_shared_bias_sensitivity.png` (SHA-256 `a99de3b5b66f76ab2480a77243a734e196a147d486bc10f7092455e04fd898da`); fits `project_results/bias_sensitivity_3372/fits/`.
- Fit files (SHA-256):
  - `project_results/bias_sensitivity_3372/fits/E1_BRA+HKG_p18.json` `e3fc52e52225e47f...`
  - `project_results/bias_sensitivity_3372/fits/E1_BRA+HKG_p18.npz` `a6c4dae47170f5b4...`
  - `project_results/bias_sensitivity_3372/fits/E1_BRA_p18.json` `0ba1630951c1a76c...`
  - `project_results/bias_sensitivity_3372/fits/E1_BRA_p18.npz` `3b71262654ae238e...`
  - `project_results/bias_sensitivity_3372/fits/E1_HKG_p18.json` `fcb41d7f8f9ad6ff...`
  - `project_results/bias_sensitivity_3372/fits/E1_HKG_p18.npz` `9ad2e2057266d425...`
  - `project_results/bias_sensitivity_3372/fits/E1_joint+COL_R1_p18.json` `e2b403d56dc8f0dc...`
  - `project_results/bias_sensitivity_3372/fits/E1_joint+COL_R1_p18.npz` `c29cdd9991f3aba2...`
  - `project_results/bias_sensitivity_3372/fits/E1_joint_p18.json` `eb1b48eccd38dafb...`
  - `project_results/bias_sensitivity_3372/fits/E1_joint_p18.npz` `8f90647f90afc729...`
  - `project_results/bias_sensitivity_3372/fits/E1_none_p18.json` `fd347525d16a149b...`
  - `project_results/bias_sensitivity_3372/fits/E1_none_p18.npz` `d67ad5ec3ef09b98...`
  - `project_results/bias_sensitivity_3372/fits/E1_US_PCV+BRA_p18.json` `b2d2a0b90596dbf6...`
  - `project_results/bias_sensitivity_3372/fits/E1_US_PCV+BRA_p18.npz` `2489fc448941b55a...`
  - `project_results/bias_sensitivity_3372/fits/E1_US_PCV+HKG_p18.json` `0c427fe961548517...`
  - `project_results/bias_sensitivity_3372/fits/E1_US_PCV+HKG_p18.npz` `c940144b50d70bcc...`
  - `project_results/bias_sensitivity_3372/fits/E1_US_PCV_p18.json` `4d76fde206f7d714...`
  - `project_results/bias_sensitivity_3372/fits/E1_US_PCV_p18.npz` `bac58430fdae52d1...`
  - `project_results/bias_sensitivity_3372/fits/E2_BRA+HKG_p18.json` `8eab5613560f436c...`
  - `project_results/bias_sensitivity_3372/fits/E2_BRA+HKG_p18.npz` `2f5b83f190928231...`
  - `project_results/bias_sensitivity_3372/fits/E2_BRA_p18.json` `66a8cdddba17fb1c...`
  - `project_results/bias_sensitivity_3372/fits/E2_BRA_p18.npz` `eec4ebbbcc3c2185...`
  - `project_results/bias_sensitivity_3372/fits/E2_HKG_p18.json` `86fef0e7a96eba88...`
  - `project_results/bias_sensitivity_3372/fits/E2_HKG_p18.npz` `1770277f5e5494a4...`
  - `project_results/bias_sensitivity_3372/fits/E2_joint+COL_R1_p18.json` `ee3003763abe17e2...`
  - `project_results/bias_sensitivity_3372/fits/E2_joint+COL_R1_p18.npz` `5bdd5cc75cf0eb6f...`
  - `project_results/bias_sensitivity_3372/fits/E2_joint_p18.json` `311875e949297a1f...`
  - `project_results/bias_sensitivity_3372/fits/E2_joint_p18.npz` `c264b974639c99a0...`
  - `project_results/bias_sensitivity_3372/fits/E2_none_p18.json` `681eb4445d46b4b7...`
  - `project_results/bias_sensitivity_3372/fits/E2_none_p18.npz` `1a8dafade9c989cf...`
  - `project_results/bias_sensitivity_3372/fits/E2_none_priorvar_s0.00_p18.json` `aafa4e7b4f103f70...`
  - `project_results/bias_sensitivity_3372/fits/E2_none_priorvar_s0.00_p18.npz` `b7e9c31a18cb860d...`
  - `project_results/bias_sensitivity_3372/fits/E2_none_priorvar_s0.30_p18.json` `58d1d787df4f5da1...`
  - `project_results/bias_sensitivity_3372/fits/E2_none_priorvar_s0.30_p18.npz` `3550328ab3f57456...`
  - `project_results/bias_sensitivity_3372/fits/E2_US_PCV+BRA_p18.json` `da19f35aa1be2e77...`
  - `project_results/bias_sensitivity_3372/fits/E2_US_PCV+BRA_p18.npz` `cf8d7a6ae52156b9...`
  - `project_results/bias_sensitivity_3372/fits/E2_US_PCV+HKG_p18.json` `9da926e1a84b378f...`
  - `project_results/bias_sensitivity_3372/fits/E2_US_PCV+HKG_p18.npz` `718037dfe240ed6b...`
  - `project_results/bias_sensitivity_3372/fits/E2_US_PCV_p18.json` `cb0afc322e774d70...`
  - `project_results/bias_sensitivity_3372/fits/E2_US_PCV_p18.npz` `257564c2fa5178f6...`
- Inputs hashed in the rule (unchanged): `project_results/global_integration/hierarchy/hierarchy_final_p18.json`, `project_results/global_integration/hierarchy/hierarchy_final_grid_p18.npz`, `project_results/global_integration/gate_decisions.json`, `project_results/global_integration/blocks.csv`, `project_results/global_integration/placebo_family/placebo_calibration.json`, `project_results/portfolio_v2/core_v2/likelihood_p18_s23091.npz`, `project_results/portfolio_v2/core_v2/likelihood_p18_s23092.npz`, `project_results/portfolio_v2/core_v2/likelihood_p20_s23091.npz`, `project_results/portfolio_v2/core_v2/likelihood_p20_s23092.npz`, `3350_generalized_claim_tests.json`, `3350_generalized_claim_tests.csv`, `project_results/generalized_claim_3350/fits/A1_p18.npz`, `project_results/generalized_claim_3350/fits/A4_US_PCV_p18.npz`, `project_results/generalized_claim_3350/fits/A4_BRA_MDTPA_census_autism_p18.npz`, `project_results/generalized_claim_3350/fits/A4_HKG_PCV_autism_p18.npz`, `project_results/colombia_lockdown_3371/blocks/R1/main/COL_VARICELLA_school_autism_curves.npz`, `project_results/colombia_lockdown_3371/synthesis/receipt_3371.json`, `3371_colombia_lockdown_sensitivity.json`, `3371_colombia_lockdown_sensitivity.csv`.
