Provenance: G4-T4 (#301) review, 2026-08-27. Not introduced by that diff.
Perturbing MatR::zero_matrix (src/mat.rs:77) to fill R::one() instead of R::zero() reddens nothing workspace-wide (146 binaries, 0 failed). Its call sites read shape or a property the fill does not change: the round-trip oracle is S(mat_to_sfg(M)) == M for whatever M the constructor produced; try_inverse_of_singular_is_none (tests/mat_f64.rs:178) holds for an all-ones 2×2 too; mat_kron.rs:273 and trace.rs:139 use it for shape.
Fix: pin the entries directly — zero_matrix(2, 3).entries() all R::zero(), on at least one rig whose zero is not 0.0 (Tropical::zero() is +∞).
MatKron::zero_matrix (src/mat_kron.rs:82) delegates and inherits the gap.
Provenance: G4-T4 (#301) review, 2026-08-27. Not introduced by that diff.
Perturbing
MatR::zero_matrix(src/mat.rs:77) to fillR::one()instead ofR::zero()reddens nothing workspace-wide (146 binaries, 0 failed). Its call sites read shape or a property the fill does not change: the round-trip oracle isS(mat_to_sfg(M)) == Mfor whateverMthe constructor produced;try_inverse_of_singular_is_none(tests/mat_f64.rs:178) holds for an all-ones 2×2 too;mat_kron.rs:273andtrace.rs:139use it for shape.Fix: pin the entries directly —
zero_matrix(2, 3).entries()allR::zero(), on at least one rig whose zero is not0.0(Tropical::zero()is+∞).MatKron::zero_matrix(src/mat_kron.rs:82) delegates and inherits the gap.