# EXTERNAL BAR — `extraction-to-circuit-boundary`

## The lab's own F2 line (verbatim, `CROWN_JEWELS_RESOLVED.md:99` at commit `cb6d9d7d`)

> **F2 — what would move the third-party axis to A.** Axis B — a system Genesis does not own already grades this one: scikit-rf is_passive() arbitrates the exported network; no pre-registered bar (bar recorded: `none`). To reach axis A, that same external system must be run against a bar **pre-registered before the run** and its own output cited. Today only Gate 97 (FastCap) and Gate 133 (Touchstone) sit under a content-sealed bar, and `PEER_REVIEW_2026-09.md:20-23` records axis A = 0 across this register.

## What an independent party would have to do to move this entry to axis A

1. **Pre-register the bar before the run.** Write down the acceptance test: for every network the export path writes,
   scikit-rf's `Network.is_passive()` must return True, and the enforcement must be load-bearing (without it, the same
   network stays non-passive). Also fix the input networks, including at least one real extracted N-port from
   `benchmarks/`, not only the synthetic sigma_max = 1.2 two-port. Seal the bar where Genesis cannot edit it.
2. **Run it themselves.** On their own machine, with their own scikit-rf install, run
   `PYTHONPATH=. python3 scripts/audit/verify_passive_export_gate.py` at the named commit. Better still, load the written
   `.sNp` into a circuit simulator Genesis does not own (ngspice or a commercial SPICE through its Touchstone import)
   and record whether the simulator accepts it and whether a transient run stays bounded.
3. **What they need.** A laptop and seconds of CPU; no GPU. The data is the files listed in `INPUTS.sha256`. Tools:
   scikit-rf (1.10.0 here), numpy and scipy.

## What would falsify the claim

- A network written by the export path that scikit-rf, or the external simulator, judges non-passive.
- Enforcement that is not load-bearing: the unenforced network is already passive, so case B no longer holds.
- A fit error so large that the passive model no longer represents the extracted data. The claim itself sets no
  bound on it; the witness reports it as a cost (0.104 RMS on the synthetic network).
