Store d'orchestration du sprint « Modeles locaux » : sprint 883534aa, tickets #35/#36 (et #32/#37–#41 du store), compteurs et index, notes mémoire de livraison (#35 CRUD/statut, #36 multi-profils, OpenCode↔llama.cpp). Runtime transitoire volontairement exclu (background-tasks/, agent scratch testllamacpp.md). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.5 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| f36-multi-opencode-profiles-frontend | Multiplicité des profils OpenCode locaux côté UI first-run wizard — livrée, verte, sans gap backend. |
|
Ticket #36 (F36.1) livré côté frontend sur feature/modeles-locaux.
Constat clé : aucun gap backend. Le backend supporte déjà N profils OpenCode (identité = ProfileId) via clone_opencode_profile_from_seed, list_profiles, save_profile, delete_profile, configure_profiles. OpenCodeConfig DTO expose localModelServerId (camelCase).
Ce qui manquait, purement front : la commande clone n'était câblée dans aucun gateway, et le miroir TS OpenCodeConfig n'avait pas localModelServerId.
Livré : ProfileGateway.cloneOpenCodeProfileFromSeed (port + adapter Tauri + mock) ; le first-run wizard (FirstRunWizard.tsx + useFirstRun.ts) gère désormais une LISTE de profils OpenCode — bouton "Add OpenCode profile" + "Duplicate" par ligne, name éditable, cases reasoning/attachment, champ localModelServerId (saisie simple).
Reste : lot F35 = UI riche de config serveur local (remplacera la saisie simple de localModelServerId). Le wizard reste la surface de gestion de profils (Settings ▸ Configure profiles = forceOpen) ; il lit firstRunState().referenceProfiles, pas list_profiles — à vérifier au lot F35 pour l'édition de profils OpenCode déjà persistés.
tsc propre ; 62 tests first-run/mock verts ; suite complète 581/581.