Found by the Copilot pass over Wave D PR #345 (2026-07-08); TODO(BUG) marker at src/underworld3/meshing/smoothing/api.py (commit 300bba4). Pre-existing, not a Wave-D regression: signature-binding probes at base 8a94f67 show spring/MA/OT never had a kwargs catch-all, so the unconditional method_kwargs['resolution_ratio'] injection raised identically before the readability split.
smooth_mesh_interior(metric=..., strategy='med') with the default method='spring' (or 'ma'/'ot') → TypeError: ..._mover() got an unexpected keyword argument 'resolution_ratio'. Only the anisotropic/mmpde movers accept it.
Fix options: inject only for movers that accept it, or — given the maintainer ruling that spring/MA/OT are RETIRED (superseded by mmpde; see #346 discussion) — route strategy= to a surviving mover and fold this into the retired-mover prune.
Underworld development team with AI support from Claude Code
Found by the Copilot pass over Wave D PR #345 (2026-07-08);
TODO(BUG)marker atsrc/underworld3/meshing/smoothing/api.py(commit 300bba4). Pre-existing, not a Wave-D regression: signature-binding probes at base 8a94f67 show spring/MA/OT never had a kwargs catch-all, so the unconditionalmethod_kwargs['resolution_ratio']injection raised identically before the readability split.smooth_mesh_interior(metric=..., strategy='med')with the defaultmethod='spring'(or 'ma'/'ot') →TypeError: ..._mover() got an unexpected keyword argument 'resolution_ratio'. Only the anisotropic/mmpde movers accept it.Fix options: inject only for movers that accept it, or — given the maintainer ruling that spring/MA/OT are RETIRED (superseded by mmpde; see #346 discussion) — route
strategy=to a surviving mover and fold this into the retired-mover prune.Underworld development team with AI support from Claude Code