Done. Summary of what was found:

**Experiment**: Duality Scale Contrast — measured how the real-vs-shuffle z-score scales with window size N for prime gaps, GUE, and Poisson.

**Result**: The scaling exponent alpha discriminates primes from GUE:
- **Primes**: alpha ~ 0.39 (SR), 0.32 (L1), 0.37 (triple_var) — all below 0.5. The dipolar structure weakens with scale.
- **GUE**: alpha ~ 0.54 (SR), 0.60 (L1), 0.63 (triple_var) — all above 0.5. The structure is scale-independent.
- **Poisson**: alpha ~ 0. No structure.

The boundary between dipolar and illusory duality is not a location but a trajectory: prime gaps approach Poisson asymptotically, with effect size decaying as N^{-0.11}. The discriminator is alpha, not the observable value at any fixed scale.

**Files produced**:
- `tools/exp_duality_scale_contrast.py` (reusable script)
- `tools/data/duality_scale_contrast_20260508.json` (data)
- `tools/data/reports/agent_20260508_0011.md` (report)
- `tools/data/seme.json` (updated with DUALITY_SCALE_CONTRAST vincolo)
