crates/namir-ui/src/host.rs:262-293 and src/app.rs:55-59
FR-STATE-030 is a Must ("the user shall be able to save the current state as a named preset and recall it"), and namir-ui is the only GUI. UiSnapshot::unsaved_changes is rendered as "* unsaved changes", but UiIntent has no save, recall, or revert variant -- so the view surfaces a dirty flag the user has no control to resolve. namir-app documents the hole from its side (namir-app/src/host.rs:461: "not a UiIntent today").
Fix: add SavePreset/RecallPreset intents plus the two controls.
crates/namir-ui/src/host.rs:262-293andsrc/app.rs:55-59FR-STATE-030 is a Must ("the user shall be able to save the current state as a named preset and recall it"), and namir-ui is the only GUI.
UiSnapshot::unsaved_changesis rendered as "* unsaved changes", butUiIntenthas no save, recall, or revert variant -- so the view surfaces a dirty flag the user has no control to resolve. namir-app documents the hole from its side (namir-app/src/host.rs:461: "not aUiIntenttoday").Fix: add
SavePreset/RecallPresetintents plus the two controls.