New endpoints:
- GET /api/wizard/status — resume-after-refresh; returns wizard_step + saved_data
- POST /api/wizard/step — persist step data; side effects per step
(step 3: plain_text_resume.yaml, step 5: .env keys,
step 6: search_profiles.yaml)
- GET /api/wizard/hardware — GPU detection + profile suggestion
- POST /api/wizard/inference/test — soft-fail Ollama/LLM connectivity check
- POST /api/wizard/complete — set wizard_complete=true, apply service URLs
Updated:
- GET /api/config/app now includes wizardComplete (from user.yaml) and isDemo
(from DEMO_MODE env) so the Vue nav guard can gate on a single config fetch
30 tests, all passing