# Fourteen runnable research utilities

The [twelve earlier utilities](PROTOTYPES-2026-10-09-v3.md) now have an existing-solver certificate adapter and a bounded exact perfect-pairing analyzer. Source novelty, finite component correctness, model fit and buyer value remain separate evidence stages.

## Existing-solver certificate adapter

[solve_and_audit_matching.py](tools/solve_and_audit_matching.py) proposes a simple unweighted matching with NetworkX and independently audits it. It attempts a subset from deletion solves when the initial bound is loose. Only a feasible matching attaining a checked upper bound gets a maximum-cardinality certificate. A loose or capped proposal may remain unknown. The adapter rejects weights/extra objectives, caps vertices at 256 and solver calls at 257, and has no wall-time deadline.

```sh
python3 research/tools/solve_and_audit_matching.py research/fixtures/karate-club-unweighted-2026-10-09-v1.json
```

[72 saved integration checks](snapshots/2026-10-08-baseline/matching-integration-validation-2026-10-09-v1.json) cover all four-vertex graphs against a separate brute-force optimizer, incomplete proposals, input limits and three workload certificates. The [public/generated workload record](snapshots/2026-10-08-baseline/matching-integration-2026-10-09-v1.json) records NetworkX 3.4.2, input conversion and one-run stage timings. The karate-club graph has an independently certified 13-edge matching. Those timings exclude imports and I/O; no source-backend advantage or realistic customer workload is demonstrated. The adapter requires NetworkX; other standalone graph/reference audits use the Python standard library.

## Perfect-pairing fragility reference

[perfect_matching_reference.py](tools/perfect_matching_reference.py) uses conventional exact subset dynamic programming, with at most 24 vertices, 200,000 memo states and one million subset/branch work units. It counts labeled unweighted perfect matchings, replays supplied ranks, and reports each edge's containing count, surviving count after failure, exact uniform-law fraction and whether it is forced. A graph with no perfect pairing has no marginal distribution. Counting exhaustion returns unknown; optional sensitivity exhaustion preserves the exact count and marks the edge list incomplete. No random rank is drawn, source FPRAS implemented or fairness/quality guarantee granted.

```sh
python3 research/tools/perfect_matching_reference.py research/fixtures/two-triangles-bridge-2026-10-09-v1.json --rank 0
```

[93 saved checks](snapshots/2026-10-08-baseline/perfect-matching-validation-2026-10-09-v1.json) compare counts, complete rank coverage and edge sensitivities with independent edge-subset enumeration on all four-vertex graphs and sixteen seeded six-vertex graphs, plus formulas/input/budget cases. The [saved example](snapshots/2026-10-08-baseline/perfect-matching-example-2026-10-09-v1.json) has one pairing and three forced edges. The [declared source schedule record](snapshots/2026-10-08-baseline/matching-count-parameters-2026-10-09-v1.json) explains why this bounded reference is separate from the theoretical approximate counter.

## Full current utility list

| Utility | Capability |
| --- | --- |
| [Proof preflight](tools/proof_preflight.py) | Static configuration/module/trust inspection |
| [Withdrawal impact](tools/withdrawal_impact.py) | Explicit corrections and dependency paths |
| [Embedding audit](tools/audit_embedding.py) | Finite floating-point distortion |
| [GAD capacity objective](tools/gad_capacity.py) | Finite scalar objective evaluation |
| [Claim contract audit](tools/audit_claim_contract.py) | Documentary gaps in nine curated contracts |
| [Periodic interface reference](tools/periodic_interface_reference.py) | Explicit cubic-periodic perimeter formula |
| [Binary waveform audit](tools/audit_binary_waveform.py) | Exact correlations and sampled spectrum |
| [Ramanujan graph audit](tools/audit_ramanujan_graph.py) | Exact finite strict spectral bound |
| [Cyclic-chain reference](tools/cyclic_chain_reference.py) | Exact small-group shortest cyclic quotient chain |
| [Evidence bundle](tools/evidence_bundle.py) | Source fingerprints and joined local report |
| [Contingency reference](tools/contingency_reference.py) | Exact bounded table count/rank generation |
| [Matching certificate audit](tools/audit_matching_certificate.py) | Feasibility plus attaining cardinality bound |
| [Existing-solver adapter](tools/solve_and_audit_matching.py) | Bounded candidate/subset proposal and separate audit |
| [Perfect-pairing reference](tools/perfect_matching_reference.py) | Exact bounded count/rank and single-edge fragility |

Ten component validation reports contain 1,638 passed checks. The new adapter's 72 and the count reference's 93 add to the prior 1,473. These finite checks do not establish mathematical source validity, formal program verification, broad benchmark superiority or demand. Earlier static, withdrawal and embedding fixtures remain separate evidence. Dated validation/batch drivers preserve editions and must not be rerun into existing output paths.
