mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-05-26 14:25:07 +02:00
Easy Setup wizard previously bundled AI model selection + the new ingest-policy radio into Step 3 alongside Wikipedia/ZIM tiers and curated content. Three problems with that: 1. Predicate divergence: "is AI selected?" was answered three different ways across Step 3 radio, Step 4 review card, and handleFinish persistence. Surfaced in @jakeaturner's review of PR #900. The three predicates disagree in real cases (e.g. Ollama already installed but user didn't re-select any models -- handleFinish writes the ingest KV while the review hides the AI summary). 2. Step 3 was overloaded -- ZIM tiers + curated content + AI models + ingest policy in one screen. 3. No way to opt out of seeing the AI policy radio when AI isn't part of the user's setup. This restructure makes step 4 a dedicated, conditional AI step: Step 1 (Apps) -- unchanged (services + remote Ollama toggle/URL) Step 2 (Maps) -- unchanged Step 3 (Content) -- Wikipedia + curated tiers only Step 4 (AI) -- NEW, conditional: model picker (or remote notice) + auto-index policy radio. Skipped entirely when AI isn't in the setup. Step 5 (Review) -- summary, reads back step 4's output via the same canonical predicate Decisions per issue #905 discussion: - Canonical predicate `isAiInSetup` as a useMemo. Single source consumed by step indicator, nav skip logic, review summary, and handleFinish. Both prior divergence cases collapse. - Step indicator renders dynamically: 4 dots when AI is off (positional display numbers 1..4), 5 dots when AI is on. WizardStep semantic values (1=Apps, 2=Maps, 3=Content, 4=AI, 5=Review) stay stable so nav handlers don't have to translate; the dot's `displayNumber` is decoupled from its `step` so users see sequential 1..N with no gap. - handleNext / handleBack are symmetric: 3 -> 5 forward, 5 -> 3 back, when !isAiInSetup. Same predicate gate. - Toggling AI capability off in Step 1 after AI step selections were made fires a confirm dialog ("Turning off AI will discard your AI model picks, indexing policy, and remote Ollama configuration") and clears selectedAiModels / ingestPolicy / remoteOllamaEnabled on confirm. Silent clear when nothing was set. - Remote Ollama toggle stays in Step 1 alongside the capability card. Don't fragment "am I using remote AI?" across two steps. The bundled review summary (renderStep5, was renderStep4) now uses `isAiInSetup` for the auto-index card visibility instead of the divergent `(selectedAiModels.length > 0 || remoteOllamaEnabled)`. Inertia tsconfig clean for this file (the only outstanding errors are the 3 KnowledgeBaseModal ones from issue tracked in PR #907 and the ~64 pre-existing errors elsewhere). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| docs | ||
| easy-setup | ||
| errors | ||
| settings | ||
| about.tsx | ||
| chat.tsx | ||
| home.tsx | ||
| maps.tsx | ||