# EXPECTED — `independent-solver-anchors`

<!-- kit:claim witness="PYTHONPATH=. python3 scripts/audit/verify_fastercap_gate.py && PYTHONPATH=. python3 scripts/audit/verify_operator_vs_palace_gate.py && PYTHONPATH=. python3 scripts/audit/reconcile_solver_anchor_disagreement.py" extract="PASS\|\| FastCap second-independent-anchor gate: median advantage ([0-9.]+)x CI \[([0-9.]+), ([0-9.]+)\], wins (\d+)% of (\d+), verdict (\w+)[\s\S]*?PASS\|\| operator beats pairwise vs INDEPENDENT Palace 3D-FEM electrostatics[^:]*: ([0-9.]+)×[\s\S]*?fraction of the log gap MEASURED: ([0-9.]+)%" -->
<!-- repro:expect [{"group": 1, "equals": "15.567"}, {"group": 2, "equals": "10.883"}, {"group": 3, "equals": "23.141"}, {"group": 4, "equals": "100"}, {"group": 5, "equals": "11"}, {"group": 6, "equals": "PASS"}, {"group": 7, "near": 4.191, "abs_tol": 0.21}, {"group": 8, "near": 19.2, "abs_tol": 0.1}] -->

**The claim** (`top40.json` rank 4, `CROWN_JEWELS_RESOLVED.md` §4): the many-body coupling operator beats pairwise
superposition when graded by two solvers Genesis does not own, FastCap 3-D BEM and Palace 3-D FEM, and the
disagreement between the two anchors is decomposed.

**What this packet reproduces.** The lab's three legs, chained with `&&` exactly as `witness_command` is:

| parsed group | expected | meaning |
|---|---|---|
| 1 | 15.567 | FastCap leg: median advantage of the operator over pairwise, across the committed layouts |
| 2 / 3 | 10.883 / 23.141 | its 95% CI |
| 4 / 5 | 100 / 11 | the operator wins on 100% of 11 layouts |
| 6 | PASS | the verdict under the sealed prereg `claims/fastercap_baseline_prereg_2026_07.json` (≥80% wins, median ≥2.0x) |
| 7 | 4.191 ± 0.21 | Palace leg: advantage on a FRESH N=6 layout solved live by Palace (floor 2.0 from `claims/palace_anchor_prereg_2026_09.json`) |
| 8 | 19.2 ± 0.1 | reconciliation leg: share of the log BEM-2D/Palace gap that is measured, not assumed |

The FastCap leg's summary comes from the committed witness JSON. It is guarded twice: the content seal is
re-checked, and one stored layout is re-solved live (FastCap run here: stored 11.179x vs live 11.18x, 0.01% apart,
tolerance 10%). A fault injection that substitutes pairwise-as-truth must collapse the advantage below 1.05x
(0.044x here).

**Tolerances.**
- Groups 1–6 are printed from committed, sealed data and must match exactly.
- The Palace advantage comes from a live finite-element solve. ±5% (0.21) allows Palace/MPI build and mesh round-off
  differences, and stays far above the sealed 2.0 floor that the claim rests on.
- The reconciliation share is a deterministic 2-D computation printed to one decimal; ±0.1 is that rounding.

**Not covered.**
- The Palace run under the sealed bar has already MISSED it on sample size: 5 fresh layouts against 12
  (`NEGATIVE_RESULTS.md` N2, and the lab's own F2 line). This leg re-derives one fresh N=6 layout only.
- Leg 3's decomposition has no failing path (`dataroom/witness_quality.json`: unbound).
- Both solver legs spawn Python worker subprocesses (`/opt/homebrew/opt/python@3.11/bin/python3.11`) and the
  solver binaries. `repro/trace_inputs.py` records only the files the three top-level interpreters open, so
  `INPUTS.sha256` may miss files that only a worker reads.

**Measured** 2026-09-17 in a tree holding exactly commit `a16c009b`: all three legs exit 0 in 134 s under the input
tracer, with FastCap at `$HOME/tools/src/FastCap2/bin/fastcap` and Palace 0.16.0 at the spack path the witness pins.
