# Attack Plan: From Suspect to Receipt

**Status:** ACTIVE — every result suspect until receipt matches conjecture
**Date:** 2026-07-04
**Principle:** No claim is accepted without a receipt. Conjecture → prediction → measurement → receipt → accept or reject.

---

## The 13 Things We Actually Have

| # | What | Type | Receipt |
|---|------|------|---------|
| 1 | sidon_preserved_mod (2-moduli CRT Sidon) | Lean proof | CRTSidon.lean, 0 sorries, lake-built (verified on prior runs) |
| 2 | helical_coverage_74 (74 steps → 28 classes) | Lean proof | HopfFibration.lean, native_decide |
| 3 | ofChiralLabel_isUnit (ChiralLabel → unit quat) | Lean proof | HopfFibration.lean |
| 4 | ring_fastest (ring > SUBLEQ > AVX-512) | Lean proof | HCMR.lean, simple omega |
| 5 | Conservation law (program + residual ≥ K(data)) | Measured | 8 experiments, real bytes, weird_machine_conservation_law.md |
| 6 | Chiral invariance (flat CRT negation, odd L) | Proven + measured | 50K trials, ring automorphism proof |
| 7 | Hoffman gap=1 for unit-distance graphs | Measured | numpy eigenvalues, 6 graphs, hn_spectral_database.json |
| 8 | q-profile sweep (q>1 = 100% Sidon) | Measured | crt_qprofile_sweep.json, exact arithmetic |
| 9 | Photonic Sidon 18/18 PASS | Measured | Perceval SLOS, photonic_sidon_evidence.jsonl |
| 10 | pipeline_core.py runs (binary swaps) | Implemented | chiral_batch_pipeline.json, 256→64 |
| 11 | dna_braid.wgsl (GPU braid sort) | Implemented | Existing, tested |
| 12 | dna_radix_gpu.py (GPU QUBO sort) | Implemented | Existing, tested |
| 13 | BraidStateN.lean ChiralLabel/Rossby | Lean, compiles | Prior lake build passed |

---

## Conjectures to Validate (in priority order)

### C1: CRTSidonN.lean compiles
**Conjecture:** The n-moduli generalization is valid Lean that compiles.
**Prediction:** `lake build SilverSight.CRTSidonN` exits 0.
**Receipt needed:** Build log showing 0 errors.
**Status:** Lake build running (currently at ~73% of full Mathlib).
**Action:** Wait for build, check exit code.

### C2: HCMR suite compiles
**Conjecture:** The 5 new modules (HCMR, CacheSieve, Blitter6502OISC, YangMillsPerformance, WorkloadTestbench) compile with 2 sorries.
**Prediction:** `lake build` exits 0 with exactly 2 sorries (CacheSieve.evict_prefers_reset, YangMillsPerformance.compression_overhead_bounded).
**Receipt needed:** Build log + sorry count.
**Status:** Same lake build run.
**Action:** Check build output for error count and sorry locations.

### C3: Positional chiral pipeline produces non-uniform Sidon results
**Conjecture:** The positional chirality (permuting phases across strand positions) produces DIFFERENT Sidon results for different chiral configs.
**Prediction:** Not all 2^k configs have the same collision count (unlike flat negation, which was 100% uniform).
**Receipt needed:** pipeline_core.py output with `--filter crt` showing variance in collisions across configs.
**Status:** UNTESTED. The previous run used flat negation (chiral-invariant).
**Action:** Run pipeline_core.py with positional chirality on CPU compute. Compare collision counts across configs. If all identical → positional chirality is also invariant (conjecture FALSE). If variance exists → conjecture TRUE.

### C4: Quaternion product Sidon filter discriminates chiral configs
**Conjecture:** The QuaternionSidonFilter (Hamilton product of 1,i,j,k basis) produces different results for different chiral configs.
**Prediction:** Some configs pass (0 collisions), others fail (>0 collisions).
**Receipt needed:** pipeline_core.py output with `--filter quat` showing variance.
**Status:** UNTESTED. Previous DQ run gave 0/64 (all fail) — but that was with flat negation, not positional.
**Action:** Run with positional chirality + quaternion filter. If variance → TRUE. If uniform → FALSE.

### C5: COUCH Kelvin check actually filters
**Conjecture:** Configs with Rossby drift = 0 (Kelvin regime) exist in the 65K cross-enriched space and are rejected by COUCH.
**Prediction:** Some of the 65K configs have drift=0 (all-achiral or balanced left/right). These should be rejected.
**Receipt needed:** COUCH pass count < total, with some configs tagged "kelvin".
**Status:** UNTESTED.
**Action:** Run pipeline with k=8, count Kelvin-rejected configs.

### C6: Cross-enrichment (4^8 = 65K) runs on GPU
**Conjecture:** chiral_cross_enrich.wgsl compiles and runs, processing 65K configs.
**Prediction:** GPU dispatch completes, output buffer has 65K results.
**Receipt needed:** WGSL compilation + dispatch log + output JSON.
**Status:** UNTESTED. Shader is written but never compiled.
**Action:** Test on GPU pod (A40 or user's WebGPU node). Check compilation, then run.

### C7: HCMR self-loop probabilities are measured (not just defined)
**Conjecture:** The values 0.823, 0.885, 0.0 come from real EPYC KVM benchmarks.
**Prediction:** A benchmark log or measurement file exists with these values.
**Receipt needed:** Benchmark output showing these numbers.
**Status:** SUSPECT. The Lean module DEFINES them as constants. No measurement file found.
**Action:** Search Research Stack for benchmark logs. If none found → relabel as "assumed" not "measured".

### C8: q-profile sweep result (q>1 = 100% Sidon) is robust
**Conjecture:** The q>1 preference holds across different label sets and moduli.
**Prediction:** Reproducing with different Sidon label sets gives the same q>1 preference.
**Receipt needed:** Re-run with 3+ different label sets, check q>1 rate.
**Status:** Measured once (3 label sets). Need more.
**Action:** Run q-profile sweep with 10+ random Sidon label sets.

### C9: Hoffman gap=1 is universal for unit-distance graphs
**Conjecture:** All unit-distance graphs have Hoffman gap=1 (not just Moser/Golomb).
**Prediction:** de Grey 1581 graph also has gap=1.
**Receipt needed:** Hoffman bound on de Grey 1581.
**Status:** UNTESTED (the --full flag never ran successfully).
**Action:** Run hn_spectral_database.py --full on GPU pod (needs numpy for 1581×1581 eigenvalues).

### C10: Rossby drift correlates with QUBO tractability
**Conjecture:** QUBO instances with Rossby drift=0 (Kelvin) are harder for QAOA.
**Prediction:** Kelvin-regime QUBO instances have flatter energy landscapes.
**Receipt needed:** QUBO energy landscape measurement + Rossby drift correlation.
**Status:** ENTIRELY SPECULATIVE. No experiment designed.
**Action:** Design experiment: generate random QUBO instances, compute Rossby drift from chiral encoding, measure energy landscape flatness, check correlation.

---

## Execution Order

```
Phase 0: VERIFY FOUNDATION (blocking)
  C1: CRTSidonN compiles?        → lake build (running)
  C2: HCMR suite compiles?       → same build
  C7: HCMR self-loops measured?  → search Research Stack

Phase 1: TEST THE PIPELINE (blocking)
  C3: Positional chirality varies?  → run pipeline_core.py --filter crt
  C4: Quaternion filter varies?     → run pipeline_core.py --filter quat
  C5: Kelvin check filters?         → count Kelvin-rejected in C3/C4 output

Phase 2: GPU (after Phase 1 confirms variance)
  C6: Cross-enrich shader runs?     → compile + dispatch on GPU
  C9: de Grey Hoffman bound?        → run --full on GPU

Phase 3: ROBUSTNESS (after Phase 2)
  C8: q-profile robust?             → 10+ label sets
  C10: Rossby ↔ QUBO?               → design + run correlation experiment

Phase 4: QUANTUM (after Phase 3 confirms C10)
  QUBO/QAOA integration experiments
```

---

## Rule

Every conjecture has:
1. A PREDICTION (what we expect)
2. A RECEIPT needed (what would prove it)
3. A REJECTION criterion (what would disprove it)

No conjecture is accepted until the receipt matches the prediction.
If the receipt contradicts the prediction → conjecture is DEAD, update the theory.

If C3 fails (positional chirality is also invariant):
  → The entire chiral filtering story is dead
  → COUCH (geometric) is the only discriminating filter
  → Sidon filter is decorative, not functional

If C4 fails (quaternion filter is uniform):
  → The quaternion/S³ story is dead
  → Stick with CRT sums (proven, 2-moduli)

If C10 fails (Rossby ≠ QUBO tractability):
  → The QUBO/QAOA bridge is dead
  → The pipeline is a combinatorial filter, not a quantum pre-filter

Each failure narrows the theory to what's actually true.
