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.8 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| f35-launch-status-done-config-crud-blocked | F35.1 UI statut de lancement du serveur local livrée+verte ; F35.2 config CRUD bloquée sur un DTO figé qui ne matche pas le wire réel + delete manquant. |
|
Ticket #35 sur feature/modeles-locaux.
F35.1 LIVRÉ (vert) : événements model_server_status_changed/agent_launch_failed déjà exposés via domain://event. Consommés dans useAgents → modelServerStatusByServer (par serverId) + launchFailureByAgent (par agentId). Badge ModelServerLaunchBadge monté par ligne dans AgentsPanel, corrélé via profile.opencode.localModelServerId. Contrat réel ≠ DTO figé du ticket : serverId sur l'enveloppe (pas par état) ; états camelCase notConfigured|probing|starting|ready{reused}|failed{code,message} ; PAS de baseURL/model émis dans le statut. Je me suis aligné sur le wire réel.
F35.2 BLOQUÉ — 3 gaps backend remontés à Main :
- (bloquant)
save_model_server/list_model_serverstransmettent le domaineLocalModelServerConfigenserde(transparent), forme IMBRIQUÉE :{id, kind:"llamaCpp", name, endpoint:{baseURL,port}, model:{id,label,path?,servedName}, binary?, args, autoStart, stopPolicy}. Le DTO figé du ticket est plat et FAUX (kind "llamacpp", baseURL/port/modelPath/servedModelName/binaryPath à plat). Pire :modelexigeid+labelnon-vides (LocalModelRef::new) absents du DTO figé → payload figé rejeté. Besoin arbitrage Architect : (A) couche DTO plate app-tauri qui remplit model.id/label, ou (B) MAJ du DTO figé vers la forme imbriquée + sémantique de model.id/label. - Pas de commande
delete_model_server. - (côté moi) créer
ModelServerGateway/port/adapter une fois le contrat tranché.
Saisie simple de localModelServerId (F36) laissée en place, pas de régression. tsc propre ; suite 593/593.