ui-craft v1.0.6
Found by actually installing through the interactive hub in a scratch test project: install via ui-craft (either "Start installation" or the new "Install (this project)") and everything writes correctly to disk — but ui-craft update afterward would say "nothing installed yet" and refuse to update. Root cause predates this week's work — the TUI hub has never called the state-saving step since it was introduced in v1.0.2, only the direct ui-craft install command did.
Fix: the interactive hub now saves state.json after every install, scoped correctly to global (~/.ui-craft) or per-project, matching what ui-craft install already did correctly. doctor and uninstall were only cosmetically affected before (uninstall already re-detects from disk when state is empty) and need no changes.