Paper 5 · Sensitivity study

Optimising audit friction while holding unsafe approvals accountable

Monorepo root commit
Not recorded in the public portfolio system_snapshot.json (v1.2, 2026-04-11T07:37:21Z) used for this binding. Not invented on this page.
Tier-0 shared-core commit (portfolio snapshot)
cd9ad79fe16f34ad861bd6527670dcfbef8fe864
Paper 5 repository commit (released)
75e90ccf676374dc6fcfa79c92b55b13116fed06
Zenodo DOI
https://doi.org/10.5281/zenodo.19499806
Release version
v2.0.0 (portfolio release designation); CITATION.cff may list package version 1.0.0 — treat commit + DOI as authoritative if they diverge.
Page generated (UTC)
2026-04-12

Executive overview

Problem: Stricter gates reduce unsafe approvals but increase organisational friction; looser rules improve throughput but can explode rare harm. Policy makers rarely see the joint surface of those trade-offs under explicit uncertainty.

Why it matters: Designing thresholds without sensitivity and multi-objective reasoning invites accidental corner solutions—acceptable on one metric and unacceptable on another.

Core insight

Multi-objective search exposes a structured frontier: detection, safe throughput, false-negative harm, and friction can be traded off transparently. Global sensitivity analysis shows which gates dominate which outcomes—information committees can act on without reading simulation code.

What was done

The pipeline generates 10,000 synthetic systems per evaluation, executes scenario families across threshold profiles, runs NSGA-II to approximate Pareto surfaces, applies Sobol’ indices on seven parameters, models lifecycle drift with re-audit, performs bootstrap and Bayesian intervals, validates against seven internal tests, and enforces a replication tolerance protocol. Decision-curve style analysis supports preference-weighted policy comparison.

What was found

Under reported configurations, non-compensatory moderation achieves very high unsafe-case detection relative to a compensatory comparator while accepting lower throughput—consistent with the programme’s conjunctive design thesis. Pareto sets contain a minority of “sweet-spot” solutions under declared detection/throughput floors. Sobol’ results attribute dominant variance for key outcomes to identifiable gates. Lifecycle summaries quantify decay and harm accumulation with modest re-audit rates.

Why this matters for regulation, safety, and deployment

  • Resource planning: friction metrics make operational cost of governance visible alongside safety metrics.
  • Threshold setting: sensitivity indices show where small parameter changes swing outcomes—critical for oversight.
  • Procurement: supports evidence requests that go beyond single-number accuracy claims.

Limitations and ethics

Synthetic structural causal model—parameters are research artefacts, not national statistics. Environmental noise (e.g. messaging library warnings) may appear in logs; pipeline completion remains the authority per QA notes. Compensatory anchoring includes narrative-only regulatory references not reimplemented as numeric claims in code.

QA posture: Second independent run (2026-04-12) completed full reproduce_all.py with validation passed; traceability retains Traced row labels as in the engineering matrix (row-level VERIFIED tags were not promoted in-source).

View technical detail — notebook walkthrough (conceptual)
01_simulation_pipeline Documents the phased simulation driver (may mirror scripts/run_all.py when embedded runs are enabled).
02_results_and_tables Builds manuscript-aligned tables including per-100-deployment comparisons (P5-C14, P5-C18).
03_figures Frontier and diagnostic figures (P5-C19–C20).
04_sensitivity_and_inference Sobol exports, inference summaries, DCA outputs (P5-C21–C24, P5-C26–C27, P5-C30).

Closing this panel does not remove the executive conclusions already stated above.

Full claim traceability (P5-C01–P5-C32)

One-to-one with docs/claim_traceability.md in the pinned repository.

Claim ID Claim (paraphrase / anchor) Code / pipeline Primary outputs Status
P5-C01Monte Carlo governance simulation with SCM linking latent traits to harms, signals, lifecyclescripts/run_all.py; src/scm/causal_model.py; scm_functions.yamloutputs/processed/simulation_summary.jsonTraced
P5-C0210,000 synthetic systems per evaluationconfig/parameters.yamlsimulation.n_systems; src/generators/system_generator.pyoutputs/raw/scenario_results.csvTraced
P5-C03Five scenario families × four threshold profiles × five replicates (100 evaluations)scripts/run_all.py Phase 2; config/scenarios/scenarios.yamloutputs/raw/scenario_results.csvTraced
P5-C04SCM DAG: 28 nodes, 19 edges (Figure 6)config/scm_graph.dot; src/scm/causal_model.pyConsole + outputs/figures/fig6_scm.pngTraced
P5-C05Structural equations from versioned scm_functions.yaml v1.0scm_functions.yaml; apply_scmScenario + summary JSONTraced
P5-C06Preregistered analysis plan hash 1fba2e24analysis_plan.yaml; src/preregistration/plan.pyoutputs/processed/simulation_summary.json (manifest.plan_hash)Traced
P5-C07NSGA-II: 30 generations, pop 60, 5D thresholds [0.1, 0.9], four objectivessrc/optimisation/nsga2_search.py; Phase 5outputs/processed/pareto_solutions.csvTraced
P5-C08Sweet-spot: detection ≥70% and safe throughput ≥50%scripts/run_all.py; identify_sweet_spot in nsga2_search.pypareto_solutions.csv (in_sweet_spot)Traced
P5-C09Sobol: 7 parameters (5 gates + noise + UBR), 64 base samplessrc/analysis/sensitivity.py; Phase 7outputs/tables/sobol_*.csvTraced
P5-C10Bootstrap n=500 + Bayesian rate intervals for key metricssrc/analysis/inference.py; Phase 9outputs/processed/inference_results.jsonTraced
P5-C11Lifecycle: 12 periods, drift, re-auditsrc/analysis/lifecycle.py; Phase 6simulation_summary.jsonlifecycle_summaryTraced
P5-C12Seven internal validation tests (named suite)src/validation/validation_suite.py; Phase 1outputs/logs/validation_report.jsonTraced
P5-C13Replication protocol within ≤0.01 absolute tolerancesrc/replication/replication.py; Phase 10reproducibility/replication_report.jsonTraced
P5-C14Table 1 — four profiles at 20% UBR, moderate audit (detection, throughput, FN harm, friction)Phase 12 table build; notebooks/02_results_and_tables.ipynboutputs/tables/table1_thresholds.csvTraced
P5-C15Moderate NC detection 99.8% vs compensatory 77.2%GovernancePolicyEngine vs CompensatoryPolicyEngine; Phase 3outputs/raw/compensatory_comparison.csv; summaryTraced
P5-C16False-negative harm 152× lower NC vs compensatory (2.1 vs 323.1)Phase 3compensatory_comparison.csv; manuscript Table 2 narrativeTraced
P5-C17Throughput: NC moderate 21.3% vs compensatory 81.2%Phase 2–3scenario_results.csv; compensatory_comparison.csvTraced
P5-C18Expected unsafe approvals per 100 deployments: NC moderate 0.04 vs compensatory 4.56 (20% base)Derived in notebooks/02_results_and_tables.ipynboutputs/tables/table2_per100_deployments.csvTraced
P5-C1960 Pareto solutions; 20 in sweet-spot (~33%)Phase 5pareto_solutions.csv; fig1_frontier.pngTraced
P5-C20Reported Pareto ranges (detection, throughput, FN harm, friction)Phase 5 + figuresfig1_frontier.png; Table 3 / table2_pareto.csvTraced
P5-C21Sobol: safety gate ST = 1.00 for unsafe detection rateformat_sensitivity_table; Phase 7sobol_unsafe_detection_rate.csvTraced
P5-C22Sobol: safety gate ST = 1.00 for false-negative harmPhase 7sobol_false_negative_harm.csvTraced
P5-C23Sobol: safe throughput — calibration gate dominant (ST ≈ 0.32)Phase 7sobol_safe_throughput.csvTraced
P5-C24Sobol: mean friction — safety gate ST ≈ 0.23Phase 7sobol_mean_total_friction.csvTraced
P5-C25Lifecycle: mean final decay ~0.033, mean cumulative harm ~5.05, re-audit ~10.1%Phase 6simulation_summary.jsonTraced
P5-C26Bootstrap: detection mean 0.996, CI [0.994, 0.998]Phase 9inference_results.jsonTraced
P5-C27Bootstrap: safe throughput 0.210 [0.203, 0.217]Phase 9inference_results.jsonTraced
P5-C28All seven validation tests passedPhase 1validation_report.jsonTraced
P5-C29Deterministic replication: zero absolute difference on key metricsPhase 10replication_report.jsonTraced
P5-C30Decision Curve Analysis supports policy comparison under preferencessrc/analysis/dca.py; Phase 8outputs/processed/dca_results.json; fig5_dca.pngTraced
P5-C31Grid search over safety × evidence gatesrun_grid_search; Phase 4outputs/processed/grid_results.jsonTraced
P5-C32Companion historical replay / Core-12 statistics (91.7% sensitivity, specificity 1.000, etc.)Cross-repo (P4) — manuscript cites unified engine; not recomputed in this repoEscalation: verify against ethical-alpha-audit-paper-4-historical-replay frozen artefactExternal