Done. Summary of the experiment:

**Two-Channel PSD Decomposition** — tested whether the two anti-correlation channels (residue + magnitude) are spectrally independent, connecting TWO_CHANNEL_DECOMPOSITION with PSD_BLUE_NOISE via Wiener-Khinchin theorem.

**Results** (2M primes, 20 surrogates):

1. **PSD additivity confirmed**: S_full = S_res + S_mag with 0.44% error (r=0.998). The channels are spectrally independent.

2. **Residue channel is 2.16x bluer** — spectral slope +0.160 vs magnitude +0.074. Both massively significant vs shuffle (z=107, z=70).

3. **PSD_BLUE_NOISE two-component structure explained**: the "Poisson floor" is the magnitude channel (99% of power, weakly blue), the extra low-f dip comes from the steeper residue channel.

4. **The 2x amplitude gap resolved**: fitting a single-slope model to a two-slope mixture systematically misestimates amplitudes. The discrepancy is a mixing artifact, not a model failure.

5. **Residue spectral shape is structurally stable** (5% drift across scale) while magnitude fades faster (16% drift) — consistent with residue being algebraic (Markov-determined) and magnitude being number-theoretic.

**Verdict**: CONFIRMED + CONSTRAINT on TWO_CHANNEL_DECOMPOSITION + PSD_BLUE_NOISE

**Consecutio**: derive residue PSD slope (+0.160) analytically from the Z/6Z Markov chain transition matrix. If it matches, the residue channel PSD is fully algebraic — zero number theory needed.

**Files**: `tools/exp_two_channel_psd.py` (reusable), report in `tools/data/reports/agent_20260420_0330.md`, seme updated.
