You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The zero-mode filter |lambda| > EPS_GAP with absoluteEPS_GAP = 1e-10 is duplicated across five modules — diagnostics/spectral.py (D1/D3/D4), diagnostics/lep.py (D16), diagnostics/mpemba.py (D19/D20), diagnostics/nonnormality.py, _zhou.py (D24). A Liouvillian carries rate dimension, so this is the same defect class as #101, but located in the spectral core: D1 feeds D17 gap_rate_consistency, kappa_trans, the F5 reach leg and gap_to_gns_ratio.
Both failure directions were reproduced with running code on main@f137053 (not read — measured).
claim_status: pending.
Direction A — small c: false A11/F4 Mpemba candidate
Amplitude-damped qubit (H = 0, jump sigma_-), rho_0 = |+><+|, pure unit rescale L -> cL:
c
D1 gap
gap/c
D19 c_1
is_mpemba_candidate
1e-10
0.0
0.0
0.0
True
1e-5
5.0e-06
0.5
0.5
False
1
0.5
0.5
0.5
False
1e10
5.0e+09
0.5
0.5
False
At c = 1e-10 every genuine mode falls below the absolute floor, so _slowest_mode() returns None, overlap_c1 returns 0.0, and 0.0 < overlap_threshold = 1e-4 fires the candidate flag. The issue-#68 non-triviality guard cannot correct this: it also depends on _slowest_mode, so it silently reports trivial_overlap = False.
End-to-end verdict flip (diagnose(), same physics, only the rate unit changed):
F4 is the highest-priority rung of the decision ladder, so this over-claim shadows every other mechanism. A textbook amplitude-damped qubit is promoted to a quantum-Mpemba candidate by a change of units alone — the exact over-claim class the library exists to prevent.
Direction B — large c: negative spectral gap
The numerical zero mode scales as ~eps * ||L||, so it eventually exceeds a fixed absolute floor and is counted as a genuine mode. Rabi-driven amplitude-damped qubit (H = 0.7 sigma_x, jump sigma_-, rate 0.4), true gap/c = 0.2:
A negative gap is not merely inaccurate, it is contract-violating: Delta = -max{Re lambda : lambda != 0} is non-negative for any GKSL generator. Downstream, gap <= 0 unconditionally sets _psr_fires = True in the F5 branch, so this also feeds the gapless blind spot already noted in #101.
Why the existing conformance suite did not catch it
tests/test_scale_conformance.py (#101 slice B) covers the new scale-relative diagnostics D8b/D10b/D13 and the rate_scale helper. The spectral layer (D1/D3/D4), D16, and the Mpemba layer (D19/D20) are outside its scope, so the defect sits in the gap between the suite and the classifier.
Correct fix (canonical, no free parameter)
Unlike the #101 F5 threshold — where the replacement value cannot be derived without a calibration study — this correction has a canonical form and needs no calibration:
One shared zero-mode tolerance derived from the spectrum itself. The functions receive only eigenvalues, not L, so the natural scale is the spectral radiusmax|lambda|: homogeneous of degree one, unitary-similarity invariant, and consistent with numerics.scale.rate_scale.
tol = rtol * max|lambda| with rtol = 1e-10. At max|lambda| ~ O(1) this reproduces the historical absolute floor, so anchor behaviour is expected to be unchanged (must be verified byte-identically, not assumed).
Clamp the gap at zero with a fail-closed rationale, so a round-off-dominated spectrum can never report a negative gap.
Extend the conformance suite to D1/D3/D4/D16/D19/D20 over c in {1e-10, 1e-5, 1, 1e5, 1e10}, including the end-to-end verdict invariance that this issue's repro exercises.
This is a numerical-correctness fix in the fail-closed direction, not a threshold change: no classifier threshold is re-tuned, and the F5/A10 gate switch remains gated on #101 slice C.
Refs #101 (same defect class, disjoint location), #102 (the false A11 path is exactly the priority-shadowing failure mode tracked there).
Summary
The zero-mode filter
|lambda| > EPS_GAPwith absoluteEPS_GAP = 1e-10is duplicated across five modules —diagnostics/spectral.py(D1/D3/D4),diagnostics/lep.py(D16),diagnostics/mpemba.py(D19/D20),diagnostics/nonnormality.py,_zhou.py(D24). A Liouvillian carries rate dimension, so this is the same defect class as #101, but located in the spectral core: D1 feeds D17gap_rate_consistency,kappa_trans, the F5 reach leg andgap_to_gns_ratio.Both failure directions were reproduced with running code on
main@f137053(not read — measured).claim_status: pending.Direction A — small
c: false A11/F4 Mpemba candidateAmplitude-damped qubit (
H = 0, jumpsigma_-),rho_0 = |+><+|, pure unit rescaleL -> cL:cgap/cc_1is_mpemba_candidateAt
c = 1e-10every genuine mode falls below the absolute floor, so_slowest_mode()returnsNone,overlap_c1returns0.0, and0.0 < overlap_threshold = 1e-4fires the candidate flag. The issue-#68 non-triviality guard cannot correct this: it also depends on_slowest_mode, so it silently reportstrivial_overlap = False.End-to-end verdict flip (
diagnose(), same physics, only the rate unit changed):F4 is the highest-priority rung of the decision ladder, so this over-claim shadows every other mechanism. A textbook amplitude-damped qubit is promoted to a quantum-Mpemba candidate by a change of units alone — the exact over-claim class the library exists to prevent.
Direction B — large
c: negative spectral gapThe numerical zero mode scales as
~eps * ||L||, so it eventually exceeds a fixed absolute floor and is counted as a genuine mode. Rabi-driven amplitude-damped qubit (H = 0.7 sigma_x, jumpsigma_-, rate 0.4), truegap/c = 0.2:|
c| smallest|lambda|| D1 gap |gap/c||---|---|---|---|
| 1 | 1.17e-16 | 2.00e-01 | 2.00e-01 |
| 1e6 | 1.63e-10 | 1.63e-10 | 1.63e-16 |
| 1e10 | 1.57e-06 | -1.43e-06 | -1.43e-16 |
| 1e12 | 5.79e-05 | -5.76e-05 | -5.76e-17 |
A negative gap is not merely inaccurate, it is contract-violating:
Delta = -max{Re lambda : lambda != 0}is non-negative for any GKSL generator. Downstream,gap <= 0unconditionally sets_psr_fires = Truein the F5 branch, so this also feeds the gapless blind spot already noted in #101.Why the existing conformance suite did not catch it
tests/test_scale_conformance.py(#101 slice B) covers the new scale-relative diagnostics D8b/D10b/D13 and therate_scalehelper. The spectral layer (D1/D3/D4), D16, and the Mpemba layer (D19/D20) are outside its scope, so the defect sits in the gap between the suite and the classifier.Correct fix (canonical, no free parameter)
Unlike the #101 F5 threshold — where the replacement value cannot be derived without a calibration study — this correction has a canonical form and needs no calibration:
eigenvalues, notL, so the natural scale is the spectral radiusmax|lambda|: homogeneous of degree one, unitary-similarity invariant, and consistent withnumerics.scale.rate_scale.tol = rtol * max|lambda|withrtol = 1e-10. Atmax|lambda| ~ O(1)this reproduces the historical absolute floor, so anchor behaviour is expected to be unchanged (must be verified byte-identically, not assumed).atolopt-in for the legacy absolute floor, mirroring the resolution of Deep-review follow-ups 2026-07-12: methodology-gated findings (D7b formula, F5 Henrici scale-dependence, AR(1) correction, input-hash framing, steady-state tolerance semantics) #97 item 5 in fix: scale-relative steady-state tolerance, dense + sparse guard (#97 item 5) #99.c in {1e-10, 1e-5, 1, 1e5, 1e10}, including the end-to-end verdict invariance that this issue's repro exercises.This is a numerical-correctness fix in the fail-closed direction, not a threshold change: no classifier threshold is re-tuned, and the F5/A10 gate switch remains gated on #101 slice C.
Refs #101 (same defect class, disjoint location), #102 (the false A11 path is exactly the priority-shadowing failure mode tracked there).