With all 11 plan modals migrated onto the session-backed engine, the mm multi-step
wizard framework has zero runtime callers (transaction/edit.clj builds its
:multi-form-state map from its own wrap-derive-state and never required the namespace).
Delete it:
- src/.../components/multi_modal.clj — the ModalWizardStep/LinearModalWizard/
Initializable/Discardable protocols, the MultiStepFormState record, and the
wrap-wizard / wrap-decode-multi-form-state / default-render-step / encode-step-key
middleware + helpers (~22KB).
- test/.../transaction/edit_simple_advanced_mode_test.clj — the last importer of mm; it
was already broken (refers edit-vendor-changed-handler / edit-wizard-toggle-mode-handler,
both removed when Transaction Edit migrated, so it no longer loaded) and tests the old
mm interface that no longer exists.
- test_server.clj: drop the stale unused mm require.
form-cursor (fc/*) stays — still used by ~18 non-wizard forms outside this plan. The
alpine-morph focus mechanism stays — it belongs to the whole-form-swap doctrine, not the
wizard machinery.
Fresh from-disk JVM compiles clean without the namespace; full e2e suite 71/71.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>