Commit graph

2 commits

Author SHA1 Message Date
openresearch
e61ee5cfdc fix: COUCH gate — Kelvin wave regime check
The COUCH gate now has TWO stages (matching BraidStateN.lean):

Stage A — Rossby/Kelvin regime:
  - Rossby drift ≠ 0 → Rossby regime (dispersive, active mixing) → PASS
  - Rossby drift = 0 → Kelvin regime (boundary-trapped, NO mixing) → FAIL

  The Kelvin regime is the degenerate case: perfectly balanced chiral
  distribution. Energy dissipation rate is ZERO (proven in
  rossby_energy_dissipation_rate: requires isActive=true).

  kelvinLabels8 (all achiral_stable) → drift=0 → Kelvin → FAIL
  rossbyLabels8 (alternating left/right) → drift≠0 → Rossby → PASS

  This is the 'q=1 degenerate' / 'rational surface' / 'stuck' case.

Stage B — scarred contention:
  - scarred_count → self_loop → threshold (unchanged)

A config passes COUCH iff BOTH stages pass.

Updated both pipeline_core.py (Python) and chiral_cross_enrich.wgsl
(GPU shader) with the Kelvin check.
2026-07-04 21:09:03 +00:00
openresearch
3cbf5a2560 feat(gpu): cross-enriched chiral Sidon filter — 4^8=65K configs on GPU
Cross-enrichment: each strand can have MULTIPLE chiral types
contributing simultaneously. With 4 ChiralLabel types × 8 strands
= 4^8 = 65,536 configurations (vs 2^8=256 from binary swaps).

This is why GPU is needed: 65K configs × pairwise quaternion product
checks = millions of operations.

WGSL shader uses:
- ChiralLabel types from BraidStateN.lean (achiral/scarred/left/right)
- Rossby drift weights (left=+65536, right=-65536, scarred=+32768, achiral=0)
- Quaternion basis from HopfFibration.lean (1,i,j,k)
- Golden angle winding mod 28 (HopfFibration.lean)
- COUCH gate as cheap pre-filter (scarred count → self-loop → threshold)

Pipeline: COUCH filter (cheap, O(1)) → Quaternion Sidon filter
(expensive, O(n²)) — only COUCH-passing configs reach the Sidon check.

256 threads/workgroup × 256 workgroups = 65,536 threads = all configs
checked in ONE dispatch. Zero-copy via existing dna_radix_gpu.py
infrastructure.
2026-07-04 21:04:21 +00:00