# Verification Runbook

## Environment

Use Python 3.11 or newer.

```bash
python -m pip install -r requirements.txt
```

## Complete Release Check

```bash
python verify_release.py
```

This checks:

- exact allowlisted file inventory;
- SHA-256 integrity;
- JSON parsing;
- Python syntax;
- five formal capsule surfaces;
- four prospective simulation chains;
- two architecture exhibits.

## File-Only Check

```bash
python verify_release.py --files-only
```

## Representative Individual Checks

```bash
python cct-public-replication/theorem_verifiers/verify_op0a_multiwell.py
python cct-public-replication/theorem_verifiers/verify_op1_bridge_v1.py
python cct-public-replication/theorem_verifiers/verify_op3_theorem_assumptions.py
python cct-public-replication/estimators/vector_op4_resource_front.py \
  cct-public-replication/examples/vector_op4_resource_front_cases.csv \
  --check-expected
python cct-public-replication/theorem_verifiers/verify_aperture_focusing.py
python cct-public-replication/theorem_verifiers/verify_bt7b_born_helmholtz.py

python gu/scripts/active/verify_fixed_wave_function_pilot.py
python gu/scripts/active/verify_fixed_wave_function_confirmatory.py
python gu/scripts/active/verify_coordination_order_challenge_phase0.py
python gu/scripts/active/verify_fhn_coordination_transfer_phase1a.py
python gu/scripts/active/verify_cross_domain_opportunity_map_phase0r.py
python gu/scripts/active/verify_cross_domain_opportunity_discrimination_phase1.py
python gu/scripts/active/verify_cct_limited_probe_discovery_phase0.py
python gu/scripts/active/verify_retained_geometry_open_loop_program_phase1.py
python gu/scripts/active/verify_steel_frequency_position_codesign.py
```

The simulation verifiers check packaged frozen outputs and reports.

## Non-Destructive Campaign Regeneration

Create a mutable copy before rerunning a campaign. The preparer refuses to
overwrite an existing destination and clears only explicitly named packaged
outputs under `gu/data` or `gu/reports/final` in the copied workspace.

For the fixed-wave pilot and confirmation:

```bash
python tools/prepare_regeneration_workspace.py ../cct-fixed-wave-rerun \
  --clear gu/data/fixed_wave_function_pilot \
  --clear gu/data/fixed_wave_function_confirmatory \
  --clear gu/reports/final/FIXED_WAVE_FUNCTION_PHASE0_PILOT_REPORT.md \
  --clear gu/reports/final/FIXED_WAVE_FUNCTION_PHASE1_CONFIRMATORY_REPORT.md
cd ../cct-fixed-wave-rerun
python gu/scripts/active/fixed_wave_function_pilot.py --calibrate
python gu/scripts/active/fixed_wave_function_pilot.py --run-pilot
python gu/scripts/active/fixed_wave_function_confirmatory.py --run
python gu/scripts/active/verify_fixed_wave_function_pilot.py
python gu/scripts/active/verify_fixed_wave_function_confirmatory.py
```

For the limited-probe discovery pilot:

```bash
python tools/prepare_regeneration_workspace.py ../cct-limited-probe-rerun \
  --clear gu/data/cct_limited_probe_discovery_phase0 \
  --clear gu/reports/final/CCT_LIMITED_PROBE_DISCOVERY_PHASE0_REPORT.md
cd ../cct-limited-probe-rerun
python gu/scripts/active/cct_limited_probe_discovery_phase0.py
python gu/scripts/active/verify_cct_limited_probe_discovery_phase0.py
```

Run `verify_release.py` against the untouched extracted release. A regeneration
workspace is deliberately mutable and records its source release and cleared
outputs in `REGENERATION_WORKSPACE.json`.
