Phase 3.5 Probe Results: Empirical validation of Track B ADRs¶
Date: 2026-04-29
Branch: chess-spectral/phase-3.5-probes
Probes: python/research/track_b_*_probe.py (4 files)
Results: python/research/track_b_*_results.json (4 files) + track_b_pawn_pt_symmetry_findings.md
This document is the authoritative empirical-validation record for the five Track B ADRs. Each ADR has a probe (or is unconditional). The probes report pass/fail vs the acceptance criterion the ADR itself specified. Where a probe fails, this document records the amendment to the ADR's design decision.
ADRs themselves are preserved as the design record at the time of the decision; this doc captures the empirical reality that came back when those decisions were tested. Phase 4 implementation reads ADR + this doc together — when the two disagree, this doc wins for design-level decisions; the ADR's reasoning still stands as the rationale.
Summary¶
| ADR | Probe | Acceptance gate | Result | Status |
|---|---|---|---|---|
| 001 | phase distinguishability | ≥80% pairs |⟨ψ_A|ψ_B⟩| < 0.99 |
100% below threshold | ✅ PASS — ship as-is |
| 002 | (no probe; not gated) | — | — | ✅ PASS — ship as-is |
| 003 | ε / cond percentiles | FIB ε p95 ≤ 0.10; FD_DIAG cond ≤ 100 | FIB ε p95 = 5.6 / 6.8 / 46.8 ❌; FD_DIAG cond p95 = 8.6 ✅ | ⚠️ AMEND — FIB falls back to measurement-only re-encode |
| 004 | U_move ↔ J_op anti-commutation | per-channel residual ≤ 1e-10 | residual p95 = 128 ❌ | ⚠️ AMEND — §3.4 weakened |
| 005 | pawn PT-realness + pseudo-Hermiticity | |Im(spec)| ≤ 1e-10 AND ‖M^T − P_w·M·P_w⁻¹‖ ≤ 1e-10 |
spec real (nilpotent, 0 throughout) ✅; pseudo-Hermiticity holds for single-push only ⚠️ | ⚠️ AMEND — decompose M_pawn = M_single + M_double |
Phase 4 readiness post-amendments:
| Milestone | Gate | Status |
|---|---|---|
| B1 A_1 channel move-as-permutation | ADR-001 ✅ | ✅ UNBLOCKED |
| B2 Zeno-style evolution + H_0 | ADR-002 ✅ | ✅ UNBLOCKED |
| B3a strict A_1 + STD4 channels | ADR-003 ✅ | ✅ UNBLOCKED with ADR-004 §3.4 caveat |
| B3b pawn-antisym channels | ADR-003 ✅ | ✅ UNBLOCKED with ADR-004 §3.4 caveat |
| B3c FIB_SYM ½/3 | ADR-003 ⚠️ | ⚠️ REVISED PATH: ship as measurement-only re-encode in v1.5 (per ADR-003 §3.3 fallback) |
| B3d/e FD_DIAG | ADR-003 ✅ | ✅ UNBLOCKED (rank-1 update path validated) |
| B4 Z_2 grading + tests | ADR-004 ⚠️ | ⚠️ REVISED: §3.4 weakened to sector-flip-via-state_to_psi; tests must reflect this |
| B5 pawn observables | ADR-005 ⚠️ | ⚠️ REVISED: decompose M_pawn for η-metric; v1.5 Hermitian-projection unchanged |
Probe 1 (ADR-001): phase distinguishability — PASS¶
Hypothesis: Per-channel phase formula in ADR-001 (Option D, B_4-irrep-derived) produces distinguishable post-move quantum states.
Acceptance: ≥80% of pairs (A, B) with distinct from→to coords have |⟨ψ_A|ψ_B⟩| < 0.99.
Method: 50 seeded positions × 20 distinct legal moves each → 9,500 (A, B) move pairs on the same starting state. For each pair: encode the post-move position classically, multiply each channel block by ADR-001's phase factor, renormalize, compute inner product.
Result: - Inner-product overlap percentiles: p5=0.065, p50=0.325, p95=0.759 - Fraction below 0.99: 100.00% (gate: ≥80%) - Fraction below 0.50 (strong distinguishability): 73.6%
Verdict: ADR-001 ships as-is. The Aaronson escape valve is empirically open — channel-distinct phases produce real interference, not notational restatement of classical permutations. The 73.6% strong-distinguishability rate suggests the QM mapping has genuine quantum content beyond the trivial.
File: track_b_phase_distinguishability_probe.py.
Probe 2 (ADR-003): ε / cond percentiles — PARTIAL PASS¶
Hypothesis: FIB_SYM channels admit best-effort linearization with ε ≤ 0.10; FD_DIAG admits a rank-1 update with cond ≤ 100.
Acceptance: 95th percentile of ε ≤ 0.10 per FIB channel; 95th percentile of cond ≤ 100 for FD_DIAG.
Method: 934 (state, move) pairs across the seeded corpus. Per pair: compute pre-move and post-move encoded vectors; estimate per-channel Jacobian J_c numerically via finite differences; compute ε = ‖ψ_post_actual − (ψ_pre + J_c · δv)‖ / ‖ψ_post_actual‖. For FD_DIAG: build rank-1 update matrix and compute np.linalg.cond.
Result:
| Channel | Acceptance gate | p95 result | Outcome |
|---|---|---|---|
| FIB_SYM_1 | ε ≤ 0.10 | 5.64 | ❌ FAIL by ~56× |
| FIB_SYM_2 | ε ≤ 0.10 | 6.82 | ❌ FAIL by ~68× |
| FIB_SYM_3 | ε ≤ 0.10 | 46.76 | ❌ FAIL by ~468× |
| FD_DIAG (synth-capture) | cond ≤ 100 | 8.60 | ✅ PASS |
Diagnosis: Dominant source of error is the occupancy-change term: when a piece moves from origin to destination, origin's contrib_k term disappears and destination's appears. This is structurally non-linear in delta_sig — no Jacobian J_c can capture it because the perturbation is not infinitesimal in the right space. The Jacobian model assumes δψ = J_c · δposition, but the true map is piecewise with a non-smooth boundary at every move.
Amendment to ADR-003: Phase 4 milestone B3c must ship FIB channels under the §3.3 fallback path: measurement-only re-encode (apply move classically, re-encode the post-move position, project channel-wise). This is honest within the QM formalism (a measurement-then-evolution sequence) and matches the ADR's original §3.3 fallback. The "best-effort linearization" path is closed for FIB channels in v1.5; revisit in v1.7+ if a linearization-friendly reformulation surfaces.
File: track_b_linearization_quality_probe.py.
Probe 3 (ADR-005): pawn PT-realness + pseudo-Hermiticity — PARTIAL PASS¶
Hypothesis: M_pawn (specifically phase_operators_4d.P_pawn_w_white lifted to a 4096×4096 matrix) is pseudo-Hermitian under η = P_w (W-axis parity flip), satisfying M^T = P_w · M · P_w⁻¹. This implies real spectrum — necessary for coherent QM treatment of pawn dynamics.
Acceptance: |Im(spec)| ≤ 1e-10 AND Frobenius ‖M^T − P_w · M · P_w⁻¹‖ ≤ 1e-10.
Method: Build M_pawn from predicate; build P_w as the permutation (x,y,z,w) → (x,y,z,7-w); compute the residual; compute spectrum via eigs.
Result:
| Variant | nnz | spec real? | η = P_w residual | Outcome |
|---|---|---|---|---|
| Full (push + double-push + captures) | 10,368 | ✅ (all 0; nilpotent) | 32.0 | ❌ FAIL pseudo-Herm |
| Single-push + captures (no double-push) | (smaller) | ✅ | 0.000e+00 | ✅ PASS exact |
| Single-push only | (smallest) | ✅ | 0.000e+00 | ✅ PASS exact |
The duality P_w · M_white · P_w = M_black holds exactly (residual 0.0) in all variants — this is the strongest structural identity in the pawn algebra.
Diagnosis: ADR-005 §3.3.1's claim M_white^T = M_black (which would imply pseudo-Hermiticity under η = P_w via P_w · M_white · P_w = M_black = M_white^T) holds in the no-double-push idealization. The starting-rank double-push breaks the transpose identity, contributing a residual of 32.0 in Frobenius norm.
Amendment to ADR-005: Decompose M_pawn_w_white = M_single_push + M_double_push. The η-metric (P_w pseudo-Hermitian) applies to M_single_push exactly; M_double_push is treated separately as a non-pseudo-Hermitian rank-deficient operator outside the QM framework. Spectrum-realness is trivially satisfied (full M_pawn is nilpotent — every eigenvalue is 0 — which is real).
v1.5 unchanged: Track A's Hermitian-part projection (H_pawn_w_4_herm = (M + M^T)/2) ships as designed; this probe doesn't affect v1.5 deliverables.
v1.6+ promotion path remains open with the decomposition correction documented.
File: track_b_pawn_pt_symmetry_probe.py + track_b_pawn_pt_symmetry_findings.md.
Probe 4 (ADR-004): U_move ↔ J_op anti-commutation — FAIL¶
Hypothesis: ADR-004 §3.4 declares U_move odd-parity under J_op (Z_2 grading from central-inversion + color-flip). For each strict-unitary channel: {U_move, J_op} = U_move · J_op + J_op · U_move = 0 within 1e-10.
Acceptance: Per-channel anti-commutator residual ≤ 1e-10 averaged over 100 sampled (state, move) pairs.
Method: Build J_op as the linear map (x,y,z,w) → (7-x, 7-y, 7-z, 7-w) with sign flip; for each strict-unitary channel, construct U_move per ADR-001's phase formula × ADR-003's permutation; compute the anti-commutator's Frobenius norm.
Result:
- All 5 strict-unitary channels: anti-commutator p95 = 1.280e+02 (target < 1e-10) — fails by 30 orders of magnitude
- Commutator p95 = 2.83 (also non-zero — neither commutes nor anti-commutes for non-J-symmetric moves)
- 0 of 200 sampled moves are J-symmetric (J(origin) = destination) — typical move geometry doesn't preserve central inversion
- Global -1 prefactor (testing side-to-move sign hypothesis) gives identical residual since ‖cM‖_F = |c|·‖M‖_F
Diagnosis: §3.4's strict anti-commutation {J_op, U_move} = 0 is mathematically impossible for the swap-permutation construction in ADR-001 / ADR-003. For non-J-symmetric moves (which is essentially all real moves), the swap matrix on (origin, destination) and the global central-inversion+color-flip do not commute or anti-commute as algebraic operators on ℂ^4096. The Z_2 sector flip happens at a different layer.
Amendment to ADR-004: Replace §3.4 with:
The Z_2 sector flip is mediated by
state_to_psi's side-to-move sign multiplier (per Pre-flight 1's Z_2 superselection finding). The per-channelΠ_candU_moveare not required to formally anti-commute withJ_opas algebraic operators. Instead: applying U_move and updating side-to-move via state_to_psi's sign convention together implement the parity sector change at the state-vector level. Tests should verify thatstate_to_psi(applied_state, new_side_to_move)returns ψ in the correct parity sector, not thatΠ_c · J_op = -J_op · Π_c.
This is a documentation/design clarification with no code architectural change. Phase 4 B4 ships with the weakened §3.4 understanding; B4's test suite must be designed around the state-level parity check, not the operator-level anti-commutation.
File: track_b_zsuperselection_parity_probe.py.
Phase 4 readiness — final¶
After applying the three amendments above, Phase 4 milestones are unblocked as follows:
- B1, B2 ship as designed (ADR-001 + ADR-002 unmodified).
- B3 ships in 4 sub-paths:
- B3a (A_1, STD4) strict permutation × phase per ADR-001 + ADR-003.
- B3b (pawn antisymmetric) strict permutation × phase per ADR-001 + ADR-003.
- B3c (FIB_SYM ½/3) measurement-only re-encode per ADR-003 §3.3 fallback (revised).
- B3d/e (FD_DIAG) rank-1 update + renormalization per ADR-003 (validated).
- B4 ships with revised §3.4 — sector-flip-via-state_to_psi tests, not operator-anti-commutation tests.
- B5 ships v1.5 Hermitian-part projection unchanged. v1.6+ promotion path uses the M_single_push / M_double_push decomposition.
The three amendments are documentation-level; no probe revealed a need to redesign at the architectural level. Phase 4 implementation can begin immediately on B1.
Reproducing the probes¶
cd python
python research/track_b_phase_distinguishability_probe.py
python research/track_b_linearization_quality_probe.py
python research/track_b_pawn_pt_symmetry_probe.py
python research/track_b_zsuperselection_parity_probe.py
Total runtime ~50s on a modern CPU. Each script writes its own JSON results file to python/research/. All probes are deterministic (seeded RNG); reruns produce bit-identical outputs.