Two non-blocking findings from the #543 adversarial review of the rotated-workspace reuse (full detail in the review comment there):
- m1 —
solver.tolerance and a custom-FMG registration latch into the cached KSP at ctx creation. A later tightening is still honoured on the true residual (measured 1e-4 → 1e-10, err 1.8e-11) but via extra outer increments, with the inner-margin discipline silently violated. The cache key (or the ctx) should observe the tolerance/FMG configuration and rebuild the KSP when it changes.
- m3 — the coefficient-variable enumeration is reused on geometry match alone; today this is safe only because every dependency-changing route forces a full
_build teardown — a coincidence inherited from aux-layout invalidation, not enforced by the cache. Re-derive the enumeration on JIT-key mismatch so the safety is by construction.
Underworld development team with AI support from Claude Code
Two non-blocking findings from the #543 adversarial review of the rotated-workspace reuse (full detail in the review comment there):
solver.toleranceand a custom-FMG registration latch into the cached KSP at ctx creation. A later tightening is still honoured on the true residual (measured 1e-4 → 1e-10, err 1.8e-11) but via extra outer increments, with the inner-margin discipline silently violated. The cache key (or the ctx) should observe the tolerance/FMG configuration and rebuild the KSP when it changes._buildteardown — a coincidence inherited from aux-layout invalidation, not enforced by the cache. Re-derive the enumeration on JIT-key mismatch so the safety is by construction.Underworld development team with AI support from Claude Code