Repository navigation
feat(ui): interactive model picker + Supported Models docs - #12
Merged
Merged
Conversation
- README: new "Supported Models" section between Setup Flags and Manual vs Automated. Lists all 4 governance-approved models (Qwen3-235B, Qwen3-32B-FP8, QwQ-32B, Kimi-K2.6) with min VRAM, GPU arch, and image variant. Adds `--model` row to the Setup Flags table. - docs/nop-guide.md: new "Picking a model" top-level section + hardware ↔ model decision matrix + cross-ref to the per-model governance opt-in flow for models the operator cannot run locally. Picking a hardware-incompatible model (e.g. Kimi on A100) is a hard error at setup time — flag rejects mismatches before any files are written.
M11 Slice 3 shipped BuildModelMenuOptions(arch) + tests but never wired the helper into a prompt — interactive setup auto-recommended a model and gave the operator no way to override without restarting with --model. This connects the existing menu filter to a real UI. Behavior: - Phase 02 (GPU detection) calls recommendConfig as before to compute the auto-default. - If --model was NOT passed and we are in interactive mode AND the arch-filtered option set has ≥2 entries, present ui.SelectWithDefault with the auto-recommended model preselected. - Picking a non-default re-runs recommendConfig so TP/PP/memory and image-variant selection match the operator's choice. The arch gate in recommendConfig still fast-fails on incompatible picks (defense in depth — BuildModelMenuOptions already filtered them out). - Non-interactive (--yes) and --model paths are unchanged. New ui helper: - ui.SelectWithDefault(message, options, defaultVal): like Select() but with a preselected entry. Override + non-interactive paths honor the default when it is in the option set. Docs: - README "Supported Models" section now describes the interactive picker behavior alongside the non-interactive --model override. - docs/nop-guide.md "Picking a model" section splits the interactive vs --yes paths explicitly. Tests: - Existing phases + ui package tests stay green (the new code path is guarded by IsNonInteractive() which existing tests already exercise). - Manual smoke validation pending: needs a fresh setup wizard run.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #12 +/- ##
==========================================
- Coverage 41.67% 41.43% -0.25%
==========================================
Files 59 59
Lines 7868 7914 +46
==========================================
Hits 3279 3279
- Misses 4410 4455 +45
- Partials 179 180 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Slice 3 shipped
BuildModelMenuOptions(arch)+ tests but never connectedthe helper to a real prompt; this commit adds the
ui.Selectafter GPUdetection so operators can override the auto-recommended model from a
list filtered by GPU architecture (Kimi-K2.6 hidden on A100/H100/H200,
visible on Blackwell). Picking a non-default re-runs
recommendConfigso TP/PP/memory settings match.
ui.SelectWithDefault(message, options, defaultVal)— preselects an entry while keeping override + non-interactive contracts.
section in docs/nop-guide.md covering both the picker (interactive) and
the
--modelflag (non-interactive) paths.Behavior
--yes(non-interactive) or--modelflag was passed.recommendConfigauto-picks.Test plan
go test ./...greengo vet ./...cleangolangci-lint run0 new issues