chore(ideai): versionne le store tickets/sprints/mémoire du sprint Modeles locaux
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>
This commit is contained in:
@ -73,3 +73,7 @@
|
|||||||
- [ticket14-local-lan-openai-adapter-scoping](ticket14-local-lan-openai-adapter-scoping.md) — memory note ticket14-local-lan-openai-adapter-scoping
|
- [ticket14-local-lan-openai-adapter-scoping](ticket14-local-lan-openai-adapter-scoping.md) — memory note ticket14-local-lan-openai-adapter-scoping
|
||||||
- [ticket28-firstrun-detect-hang-scoping](ticket28-firstrun-detect-hang-scoping.md) — Cadrage hexagonal du bug bloquant first-run (#28) — panic block_on imbriqué dans detect + découplage busy/détection, contrats et point de vérité QA.
|
- [ticket28-firstrun-detect-hang-scoping](ticket28-firstrun-detect-hang-scoping.md) — Cadrage hexagonal du bug bloquant first-run (#28) — panic block_on imbriqué dans detect + découplage busy/détection, contrats et point de vérité QA.
|
||||||
- [ticket28-f1-frontend-delivered](ticket28-f1-frontend-delivered.md) — Lot F1 du ticket #28 livré sur feature/ticket28-firstrun-detect-hang — invariant busy/detectProfiles, flag detecting, timeout UI, test de non-régression.
|
- [ticket28-f1-frontend-delivered](ticket28-f1-frontend-delivered.md) — Lot F1 du ticket #28 livré sur feature/ticket28-firstrun-detect-hang — invariant busy/detectProfiles, flag detecting, timeout UI, test de non-régression.
|
||||||
|
- [opencode-llamacpp-replaces-ollama](opencode-llamacpp-replaces-ollama.md) — memory note opencode-llamacpp-replaces-ollama
|
||||||
|
- [f36-multi-opencode-profiles-frontend](f36-multi-opencode-profiles-frontend.md) — Multiplicité des profils OpenCode locaux côté UI first-run wizard — livrée, verte, sans gap backend.
|
||||||
|
- [f35-launch-status-done-config-crud-blocked](f35-launch-status-done-config-crud-blocked.md) — 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.
|
||||||
|
- [f35-config-crud-delivered](f35-config-crud-delivered.md) — F35.2 (config serveur local + sélection dans les profils OpenCode) livrée et verte sur feature/modeles-locaux ; clôt le sprint modèles locaux F34-F36.
|
||||||
|
|||||||
13
.ideai/memory/f35-config-crud-delivered.md
Normal file
13
.ideai/memory/f35-config-crud-delivered.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
name: f35-config-crud-delivered
|
||||||
|
description: F35.2 (config serveur local + sélection dans les profils OpenCode) livrée et verte sur feature/modeles-locaux ; clôt le sprint modèles locaux F34-F36.
|
||||||
|
metadata:
|
||||||
|
type: project
|
||||||
|
---
|
||||||
|
Ticket #35 F35.2 LIVRÉ (vert) sur `feature/modeles-locaux`. Débloqué par le contrat PLAT d'Architect.
|
||||||
|
|
||||||
|
**Contrat backend** : `list_model_servers` / `save_model_server({request:{config}})` / `delete_model_server({serverId})`. DTO plat camelCase `LocalModelServerConfig { id, kind:"llamaCpp", name, baseURL, port, modelPath?, servedModelName, binaryPath?, args, autoStart, stopPolicy }`. PIÈGE intégré : `save_model_server` exige un UUID valide dans `config.id` même à la création (backend ne génère PAS l'id serveur, seulement le model.id interne caché) → le front minte l'UUID client-side (`newModelServerId`). Erreur suppression référencée = `code:"model_server_in_use"`.
|
||||||
|
|
||||||
|
**Livré** : `ModelServerGateway` (port + adapter Tauri `adapters/modelServer.ts` + `MockModelServerGateway` avec `markInUse`). Feature `features/model-servers/` : `useModelServers` (CRUD, traduit in-use en message FR actionnable), `ModelServersPanel` (déclarer/éditer/supprimer), `ModelServerSelect` (dropdown binding avec « None » = serveur externe + préserve un id orphelin « unknown/removed »). Dans `FirstRunWizard`, le champ texte `localModelServerId` (F36) est remplacé par `ModelServerSelect`.
|
||||||
|
|
||||||
|
Cohérent avec F35.1 (badge corrèle via localModelServerId). tsc 0 ; suite 608/608. Sprint modèles locaux (F34 backend, F35, F36) désormais complet côté frontend.
|
||||||
16
.ideai/memory/f35-launch-status-done-config-crud-blocked.md
Normal file
16
.ideai/memory/f35-launch-status-done-config-crud-blocked.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
name: f35-launch-status-done-config-crud-blocked
|
||||||
|
description: 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.
|
||||||
|
metadata:
|
||||||
|
type: project
|
||||||
|
---
|
||||||
|
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 :**
|
||||||
|
1. (bloquant) `save_model_server`/`list_model_servers` transmettent le domaine `LocalModelServerConfig` en `serde(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 : `model` exige `id`+`label` non-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.
|
||||||
|
2. Pas de commande `delete_model_server`.
|
||||||
|
3. (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.
|
||||||
17
.ideai/memory/f36-multi-opencode-profiles-frontend.md
Normal file
17
.ideai/memory/f36-multi-opencode-profiles-frontend.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
name: f36-multi-opencode-profiles-frontend
|
||||||
|
description: Multiplicité des profils OpenCode locaux côté UI first-run wizard — livrée, verte, sans gap backend.
|
||||||
|
metadata:
|
||||||
|
type: project
|
||||||
|
---
|
||||||
|
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.
|
||||||
35
.ideai/memory/opencode-llamacpp-replaces-ollama.md
Normal file
35
.ideai/memory/opencode-llamacpp-replaces-ollama.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
name: opencode-llamacpp-replaces-ollama
|
||||||
|
description: memory note opencode-llamacpp-replaces-ollama
|
||||||
|
metadata:
|
||||||
|
type: project
|
||||||
|
---
|
||||||
|
---
|
||||||
|
title: OpenCode local provider — llama.cpp remplace Ollama (chantier livré)
|
||||||
|
type: decision
|
||||||
|
description: Le provider local d'OpenCode passe d'Ollama à llama.cpp (llama-server OpenAI-compatible). Profil éditable baseURL/apiKey/model. Livré sur develop (merge 2e98f1f). Clôt le diagnostic tool-calling Ollama.
|
||||||
|
---
|
||||||
|
|
||||||
|
# OpenCode local : llama.cpp remplace Ollama (2026-07-11)
|
||||||
|
|
||||||
|
## Pourquoi
|
||||||
|
Le tool-calling des modèles locaux via **Ollama** ne s'est jamais déclenché nativement en live : OpenCode fuyait les appels d'outils en texte `<function=...>` (émulation par prompt), jamais parsés. Diagnostic utilisateur : la faute est dans la relation **OpenCode↔Ollama**. Décision : abandonner Ollama comme provider OpenCode et passer à **llama.cpp** (`llama-server`, endpoint OpenAI-compatible). Voir historique : [[opencode-config-model-agnostic-tool-diagnostic]], [[opencode-ollama-native-tool-call-flag]], [[opencode-ollama-tool-calling-surface-overload]] (contexte Ollama, désormais superseded).
|
||||||
|
|
||||||
|
## Contrat livré
|
||||||
|
`OpenCodeConfig` (domaine + DTO app-tauri + type frontend) :
|
||||||
|
`{ baseURL: String (requis, http/https), apiKey: Option<String>, model: String (requis), reasoning: Option<bool>=true, attachment: Option<bool>=false }`. Sérialisation wire camelCase (`baseURL` via serde rename), `apiKey`/`reasoning`/`attachment` `skip_serializing_if=None`.
|
||||||
|
|
||||||
|
Seed profil canonique : `opencode-ollama` → **`opencode-llamacpp`** ("OpenCode + llama.cpp"), command `opencode`, adapter `OpenCode`, defaults `baseURL=http://localhost:8080/v1`, `apiKey=sk-no-key`, `model=qwen3-coder-30b`.
|
||||||
|
|
||||||
|
`opencode_config_json` (crates/application/src/agent/lifecycle.rs) régénère un opencode.json MINIMAL : provider `llamacpp` (`npm=@ai-sdk/openai-compatible`, `options.baseURL/apiKey` du profil, def modèle `llamacpp/<model>` avec `tool_call:true,reasoning,attachment`), MCP `idea` inchangé, `permission bash/edit=ask`, `disabled_providers=["anthropic","openai","gemini","ollama"]`. `apiKey` omis (pas `null`) si absent. Plus aucun résidu `ollama`/préfixe `ollama/`/allow-list diagnostic.
|
||||||
|
|
||||||
|
Frontend : wizard profil OpenCode = 3 champs éditables **Base URL / Model / API key(optionnel)** (`FirstRunWizard.tsx`, `profile.ts`, mocks). L'embedder Ollama (`ollamaDetected`, mémoire vectorielle) est un AUTRE usage, NON touché.
|
||||||
|
|
||||||
|
## État
|
||||||
|
- Fichiers : domain/profile.rs, application/{catalogue.rs,lifecycle.rs,tests/agent_lifecycle.rs}, infrastructure/session/opencode.rs ; frontend domain/index.ts, adapters/mock/*, features/first-run/*.
|
||||||
|
- QA VERT : domain 244, application 81+64, infra 263/10 (les 10 = bind-port sandbox, identiques sur develop = non-régression), frontend 574, tsc propre. Claude/Codex non régressés.
|
||||||
|
- Git : commit `4e70631`, merge `--no-ff` `2e98f1f` sur `develop`. Base branche = `eaba05d` (profil OpenCode process-backed). WIP diagnostic Ollama capsulé dans `3cdedf2` sur `feature/opencode-glm47-flash-tool-diagnostic`. PAS de push distant.
|
||||||
|
- Tickets : #32 fermé ; #42/#43 (Ollama) retirés du store.
|
||||||
|
|
||||||
|
## Reste ouvert
|
||||||
|
E2E live llama.cpp jamais exécuté (aucun `llama-server` joignable sur :8080 au moment QA ; `llama-server` 9859 + `opencode` 1.17.18 installés). À valider côté utilisateur : lancer llama-server, relancer l'Appointe rebuild, créer un agent profil llama.cpp, vérifier un vrai `tool_use` MCP (pas de `<function=` texte). Rebuild AppImage requis pour le live (binaire qui tourne = AppImage). Build via `NO_STRIP=true` cf [[appimage-build-no-strip-relr-dyn-fix]].
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
id: "883534aa-7fc1-4d83-a9c0-17cac4a4eea5"
|
||||||
|
order: 4
|
||||||
|
name: "Modeles locaux"
|
||||||
|
status: "planned"
|
||||||
|
createdBy: {"kind":"user"}
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
createdAt: 1783757092388
|
||||||
|
updatedAt: 1783757205620
|
||||||
|
version: 2
|
||||||
|
---
|
||||||
@ -27,6 +27,15 @@
|
|||||||
"status": "planned",
|
"status": "planned",
|
||||||
"updatedAt": 1783330421738,
|
"updatedAt": 1783330421738,
|
||||||
"version": 3
|
"version": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "883534aa-7fc1-4d83-a9c0-17cac4a4eea5",
|
||||||
|
"path": "883534aa-7fc1-4d83-a9c0-17cac4a4eea5",
|
||||||
|
"order": 4,
|
||||||
|
"name": "Modeles locaux",
|
||||||
|
"status": "planned",
|
||||||
|
"updatedAt": 1783757205620,
|
||||||
|
"version": 2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
issueRef: "#32"
|
issueRef: "#32"
|
||||||
version: 5
|
version: 6
|
||||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||||
updatedAt: 1783491681672
|
updatedAt: 1783723378815
|
||||||
---
|
---
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
id: "9291e7ad-a300-4f15-83b1-93f56f6e1b79"
|
id: "9291e7ad-a300-4f15-83b1-93f56f6e1b79"
|
||||||
number: 32
|
number: 32
|
||||||
title: "[Bug] Erreur CLI Ollama profile"
|
title: "[Bug] Erreur CLI Ollama profile"
|
||||||
status: "inProgress"
|
status: "closed"
|
||||||
priority: "medium"
|
priority: "medium"
|
||||||
sprint: null
|
sprint: null
|
||||||
links: [{"target":"#14","kind":"relatesTo"}]
|
links: [{"target":"#14","kind":"relatesTo"}]
|
||||||
@ -10,8 +10,8 @@ agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}
|
|||||||
createdBy: {"kind":"user"}
|
createdBy: {"kind":"user"}
|
||||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||||
createdAt: 1783491571863
|
createdAt: 1783491571863
|
||||||
updatedAt: 1783491681672
|
updatedAt: 1783723378815
|
||||||
version: 5
|
version: 6
|
||||||
---
|
---
|
||||||
J'ai créé un profile IA Ollama et j'ai ajouté un agent avec ce profile (agent TestOllama), mais quand
|
J'ai créé un profile IA Ollama et j'ai ajouté un agent avec ce profile (agent TestOllama), mais quand
|
||||||
j'essaie d'afficher sa cli j'ai un bandeau rouge qui dit "Échec du lancement de l'agent : process error: pty spawn
|
j'essaie d'afficher sa cli j'ai un bandeau rouge qui dit "Échec du lancement de l'agent : process error: pty spawn
|
||||||
|
|||||||
6
.ideai/tickets/35/carnet.md
Normal file
6
.ideai/tickets/35/carnet.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
issueRef: "#35"
|
||||||
|
version: 5
|
||||||
|
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||||
|
updatedAt: 1783757457771
|
||||||
|
---
|
||||||
16
.ideai/tickets/35/issue.md
Normal file
16
.ideai/tickets/35/issue.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
id: "77ef65a5-bbb8-44d2-a610-27bf15c54a0a"
|
||||||
|
number: 35
|
||||||
|
title: "Avoir llamacpp intégré"
|
||||||
|
status: "inProgress"
|
||||||
|
priority: "high"
|
||||||
|
sprint: "883534aa-7fc1-4d83-a9c0-17cac4a4eea5"
|
||||||
|
links: []
|
||||||
|
agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}]
|
||||||
|
createdBy: {"kind":"user"}
|
||||||
|
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||||
|
createdAt: 1783756863540
|
||||||
|
updatedAt: 1783757457771
|
||||||
|
version: 5
|
||||||
|
---
|
||||||
|
Nous avons llamacpp qui marche super avec OpencCode à présent. J'aimerais maintenant que llamacpp soit lancé automatiquement via IdeA avec le bon modele à la bonne url et bon port si celui-ci n'est pas encore lancé
|
||||||
6
.ideai/tickets/36/carnet.md
Normal file
6
.ideai/tickets/36/carnet.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
issueRef: "#36"
|
||||||
|
version: 5
|
||||||
|
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||||
|
updatedAt: 1783757458773
|
||||||
|
---
|
||||||
16
.ideai/tickets/36/issue.md
Normal file
16
.ideai/tickets/36/issue.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
id: "3bb071b9-08eb-4e1b-b4b4-dccee8114a7e"
|
||||||
|
number: 36
|
||||||
|
title: "[UI] Pouvoir déclarer plusieurs profils AI de modeles locaux"
|
||||||
|
status: "inProgress"
|
||||||
|
priority: "medium"
|
||||||
|
sprint: "883534aa-7fc1-4d83-a9c0-17cac4a4eea5"
|
||||||
|
links: []
|
||||||
|
agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}]
|
||||||
|
createdBy: {"kind":"user"}
|
||||||
|
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||||
|
createdAt: 1783757232381
|
||||||
|
updatedAt: 1783757458773
|
||||||
|
version: 5
|
||||||
|
---
|
||||||
|
Actuellement chaque type de profils ne peux déclarer qu'un seul profile AI. J'aimerais que le profile OpenCode puisse permetre d'en décalrer plusieurs différents.
|
||||||
6
.ideai/tickets/37/carnet.md
Normal file
6
.ideai/tickets/37/carnet.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
issueRef: "#37"
|
||||||
|
version: 5
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
updatedAt: 1783757520082
|
||||||
|
---
|
||||||
16
.ideai/tickets/37/issue.md
Normal file
16
.ideai/tickets/37/issue.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
id: "a2b6212a-8725-4ace-b8a4-c3a41e2c2988"
|
||||||
|
number: 37
|
||||||
|
title: "[UI] garder les tickets dans les sprints, mais ajouter l'affichage du status et la possibiliter de filtrer les tickets"
|
||||||
|
status: "open"
|
||||||
|
priority: "low"
|
||||||
|
sprint: "5afd6780-0f76-40d7-a10f-32ee52469d74"
|
||||||
|
links: []
|
||||||
|
agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}]
|
||||||
|
createdBy: {"kind":"user"}
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
createdAt: 1783757421147
|
||||||
|
updatedAt: 1783757520082
|
||||||
|
version: 5
|
||||||
|
---
|
||||||
|
Actuelleemnt dans les sprints les tickets sont retirés une fois fait. J'aimerais que les tickets restent dans le sprints mais qu'on ajoute l'affichage du status de chaque ticket. J'aimerais aussi qu'on ai la possibilité de trier les tickets via leur status, leur priorité etc comme sur la liste des tickets
|
||||||
6
.ideai/tickets/38/carnet.md
Normal file
6
.ideai/tickets/38/carnet.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
issueRef: "#38"
|
||||||
|
version: 5
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
updatedAt: 1783757636999
|
||||||
|
---
|
||||||
16
.ideai/tickets/38/issue.md
Normal file
16
.ideai/tickets/38/issue.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
id: "7e89bfc9-dc56-4656-a154-690f02e69756"
|
||||||
|
number: 38
|
||||||
|
title: "[UI] Pouvoir ajouter un ticket à un sprint pendant sa création"
|
||||||
|
status: "open"
|
||||||
|
priority: "low"
|
||||||
|
sprint: "5afd6780-0f76-40d7-a10f-32ee52469d74"
|
||||||
|
links: []
|
||||||
|
agentRefs: []
|
||||||
|
createdBy: {"kind":"user"}
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
createdAt: 1783757548614
|
||||||
|
updatedAt: 1783757636999
|
||||||
|
version: 5
|
||||||
|
---
|
||||||
|
J'aimerais que dans la création de ticket on puisse lui attribuer un sprint via une popup comme celle du choix de tickets
|
||||||
6
.ideai/tickets/39/carnet.md
Normal file
6
.ideai/tickets/39/carnet.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
issueRef: "#39"
|
||||||
|
version: 3
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
updatedAt: 1783757851100
|
||||||
|
---
|
||||||
16
.ideai/tickets/39/issue.md
Normal file
16
.ideai/tickets/39/issue.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
id: "02ff2d0c-4312-47c3-b84c-834029723fc4"
|
||||||
|
number: 39
|
||||||
|
title: "[UI] Fermer toutes les fernetres lors de la fermeture de la fenetre principale principale"
|
||||||
|
status: "open"
|
||||||
|
priority: "low"
|
||||||
|
sprint: "5afd6780-0f76-40d7-a10f-32ee52469d74"
|
||||||
|
links: []
|
||||||
|
agentRefs: []
|
||||||
|
createdBy: {"kind":"user"}
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
createdAt: 1783757707896
|
||||||
|
updatedAt: 1783757851100
|
||||||
|
version: 3
|
||||||
|
---
|
||||||
|
Quand on ferme la fenetre principale d'IdeA, j'aimerais que toutes les fenêtres IdeA se ferment aussi.
|
||||||
6
.ideai/tickets/40/carnet.md
Normal file
6
.ideai/tickets/40/carnet.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
issueRef: "#40"
|
||||||
|
version: 5
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
updatedAt: 1783757857115
|
||||||
|
---
|
||||||
16
.ideai/tickets/40/issue.md
Normal file
16
.ideai/tickets/40/issue.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
id: "6b04c8d1-177c-422a-9955-7fee2e8afdeb"
|
||||||
|
number: 40
|
||||||
|
title: "[UI] réouvrir les fenetres au lancement d'IdeA"
|
||||||
|
status: "open"
|
||||||
|
priority: "low"
|
||||||
|
sprint: "5afd6780-0f76-40d7-a10f-32ee52469d74"
|
||||||
|
links: [{"target":"#39","kind":"dependsOn"}]
|
||||||
|
agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}]
|
||||||
|
createdBy: {"kind":"user"}
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
createdAt: 1783757766786
|
||||||
|
updatedAt: 1783757857115
|
||||||
|
version: 5
|
||||||
|
---
|
||||||
|
Au lancement d'IdeA, j'aimerais que les fenêtres fermées lors de la précédentes fermeture de la fenêtre principale d'IdeA soient automatiqument réouvertes dans le même status, position, écran que quand elles ont été fermée
|
||||||
6
.ideai/tickets/41/carnet.md
Normal file
6
.ideai/tickets/41/carnet.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
issueRef: "#41"
|
||||||
|
version: 4
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
updatedAt: 1783757942954
|
||||||
|
---
|
||||||
16
.ideai/tickets/41/issue.md
Normal file
16
.ideai/tickets/41/issue.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
id: "7d026901-333a-46a6-87f6-7384bf742310"
|
||||||
|
number: 41
|
||||||
|
title: "[UI] Selection multiple lors de la selection de tickets pour les sprints"
|
||||||
|
status: "open"
|
||||||
|
priority: "low"
|
||||||
|
sprint: "5afd6780-0f76-40d7-a10f-32ee52469d74"
|
||||||
|
links: []
|
||||||
|
agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}]
|
||||||
|
createdBy: {"kind":"user"}
|
||||||
|
updatedBy: {"kind":"user"}
|
||||||
|
createdAt: 1783757895085
|
||||||
|
updatedAt: 1783757942954
|
||||||
|
version: 4
|
||||||
|
---
|
||||||
|
Lorsque je selectionne les tickets pour mes sprints, j'iamerais que la selection me permette d'en choisir plusieurs à la fois pour ne pas avoir à réouvrir chaque fois la fenetre.
|
||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"nextNumber": 35
|
"nextNumber": 42
|
||||||
}
|
}
|
||||||
@ -343,13 +343,13 @@
|
|||||||
"issueRef": "#32",
|
"issueRef": "#32",
|
||||||
"path": "32",
|
"path": "32",
|
||||||
"title": "[Bug] Erreur CLI Ollama profile",
|
"title": "[Bug] Erreur CLI Ollama profile",
|
||||||
"status": "inProgress",
|
"status": "closed",
|
||||||
"priority": "medium",
|
"priority": "medium",
|
||||||
"sprint": null,
|
"sprint": null,
|
||||||
"assignedAgentIds": [
|
"assignedAgentIds": [
|
||||||
"a6ced819-b893-4213-b003-9e9dc79b9641"
|
"a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||||
],
|
],
|
||||||
"updatedAt": 1783491681672
|
"updatedAt": 1783723378815
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"issueRef": "#33",
|
"issueRef": "#33",
|
||||||
@ -370,6 +370,86 @@
|
|||||||
"sprint": null,
|
"sprint": null,
|
||||||
"assignedAgentIds": [],
|
"assignedAgentIds": [],
|
||||||
"updatedAt": 1783492562056
|
"updatedAt": 1783492562056
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"issueRef": "#35",
|
||||||
|
"path": "35",
|
||||||
|
"title": "Avoir llamacpp intégré",
|
||||||
|
"status": "inProgress",
|
||||||
|
"priority": "high",
|
||||||
|
"sprint": "883534aa-7fc1-4d83-a9c0-17cac4a4eea5",
|
||||||
|
"assignedAgentIds": [
|
||||||
|
"a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||||
|
],
|
||||||
|
"updatedAt": 1783757457771
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"issueRef": "#36",
|
||||||
|
"path": "36",
|
||||||
|
"title": "[UI] Pouvoir déclarer plusieurs profils AI de modeles locaux",
|
||||||
|
"status": "inProgress",
|
||||||
|
"priority": "medium",
|
||||||
|
"sprint": "883534aa-7fc1-4d83-a9c0-17cac4a4eea5",
|
||||||
|
"assignedAgentIds": [
|
||||||
|
"a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||||
|
],
|
||||||
|
"updatedAt": 1783757458773
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"issueRef": "#37",
|
||||||
|
"path": "37",
|
||||||
|
"title": "[UI] garder les tickets dans les sprints, mais ajouter l'affichage du status et la possibiliter de filtrer les tickets",
|
||||||
|
"status": "open",
|
||||||
|
"priority": "low",
|
||||||
|
"sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74",
|
||||||
|
"assignedAgentIds": [
|
||||||
|
"a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||||
|
],
|
||||||
|
"updatedAt": 1783757520082
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"issueRef": "#38",
|
||||||
|
"path": "38",
|
||||||
|
"title": "[UI] Pouvoir ajouter un ticket à un sprint pendant sa création",
|
||||||
|
"status": "open",
|
||||||
|
"priority": "low",
|
||||||
|
"sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74",
|
||||||
|
"assignedAgentIds": [],
|
||||||
|
"updatedAt": 1783757636999
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"issueRef": "#39",
|
||||||
|
"path": "39",
|
||||||
|
"title": "[UI] Fermer toutes les fernetres lors de la fermeture de la fenetre principale principale",
|
||||||
|
"status": "open",
|
||||||
|
"priority": "low",
|
||||||
|
"sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74",
|
||||||
|
"assignedAgentIds": [],
|
||||||
|
"updatedAt": 1783757851100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"issueRef": "#40",
|
||||||
|
"path": "40",
|
||||||
|
"title": "[UI] réouvrir les fenetres au lancement d'IdeA",
|
||||||
|
"status": "open",
|
||||||
|
"priority": "low",
|
||||||
|
"sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74",
|
||||||
|
"assignedAgentIds": [
|
||||||
|
"a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||||
|
],
|
||||||
|
"updatedAt": 1783757857115
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"issueRef": "#41",
|
||||||
|
"path": "41",
|
||||||
|
"title": "[UI] Selection multiple lors de la selection de tickets pour les sprints",
|
||||||
|
"status": "open",
|
||||||
|
"priority": "low",
|
||||||
|
"sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74",
|
||||||
|
"assignedAgentIds": [
|
||||||
|
"a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||||
|
],
|
||||||
|
"updatedAt": 1783757942954
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user