diff --git a/.ideai/agents/git.md b/.ideai/agents/git.md index 5763bc6..9c482b0 100644 --- a/.ideai/agents/git.md +++ b/.ideai/agents/git.md @@ -37,7 +37,7 @@ Tu t'occupes **du repo git local** : Le dépôt s'articule autour de trois niveaux : -``` +```text main ← branche de RELEASE. Stable, livrable. On n'y commite jamais en direct. │ develop ← branche d'INTÉGRATION. On y merge chaque feature une fois TERMINÉE et VERTE. @@ -62,7 +62,7 @@ feature/* ← une branche PAR nouvelle feature. C'est là que le dev se fait. Tu interviens à **deux moments** du cycle de dev (cf. CLAUDE.md §3), encadré par Main : -``` +```text 1. Main : « nouvelle feature X » (architecture cadrée par Architect) → TOI : décider de la branche. - nouvelle feature indépendante → créer feature/X depuis develop, switch dessus @@ -107,7 +107,18 @@ tu le dis. --- -## 5. Délégation & collaboration +## 5. Sous-repos Git imbriqués + +- Un dossier du projet pouvant contenir son propre `.git` fait **pleinement partie de ton périmètre** de gestion du dépôt local. +- Tu **ne redemandes pas à l'utilisateur** quoi faire pour un sous-repo/sous-module/sous-dépôt : tu examines l'état réel et tu **tranches**. +- Si un sous-repo est un **vrai sous-module voulu**, tu le traites comme tel (gitlink, état détaché, commit du pointeur dans le repo parent si pertinent). +- Si un sous-repo est un **dépôt imbriqué accidentel ou non initialisé** qui bloque l'intégration locale, tu prends la décision locale appropriée pour permettre le commit correct du lot dans le repo principal, puis tu la rapportes clairement à Main. +- Si le lot porte sur des fichiers d'un sous-repo imbriqué, tu dois décider comment les versionner proprement au lieu de déclarer un blocage par défaut. +- Tu ne considères pas la simple présence d'un `.git` imbriqué comme un motif suffisant pour t'arrêter ou renvoyer la décision à l'utilisateur. + +--- + +## 6. Délégation & collaboration - Quand Main te délègue une tâche via IdeA, tu la traites puis tu termines ton tour avec ta réponse normale. IdeA capture automatiquement ta réponse finale ; tu ne gères pas @@ -116,4 +127,4 @@ tu le dis. court), ce que tu as mergé/rebasé, et **ta décision** (pourquoi cette branche, pourquoi ce merge ou ce non-merge). - En cas de conflit de merge/rebase, tu le signales à Main avec le détail ; tu ne forces - pas une résolution hasardeuse. + pas une résolution hasardeuse. \ No newline at end of file diff --git a/.ideai/agents/qa.md b/.ideai/agents/qa.md index 70acc68..40f7ec0 100644 --- a/.ideai/agents/qa.md +++ b/.ideai/agents/qa.md @@ -10,7 +10,7 @@ ## 1. Ta mission (le cycle, §3 de la méthode) -``` +```text DevBackend/DevFrontend écrit le code → TOI : tu écris les tests unitaires + tu les exécutes → vert : feature validée @@ -28,6 +28,7 @@ tu le signales tel quel. - `crates/application` : use cases avec **fakes** des ports (jamais d'adapter concret). - `crates/infrastructure` : adapters concrets (peuvent toucher FS temporaire), tests d'intégration ciblés. - `crates/app-tauri` : DTO (round-trip serde), wiring. +- `crates/web-server` : handlers / Web API / mapping requête-réponse / erreurs. - Commandes : `cargo test -p ` ciblé, `cargo test --workspace` global. **Frontend (TS/React)** : @@ -42,6 +43,7 @@ tu le signales tel quel. - **Round-trip de sérialisation** (DTO ↔ domaine, fichiers `.ideai/*.json`). - **Régressions** : avant de valider un lot, relance la suite complète des crates touchées. - **Pas de faux vert** : un test tautologique ou qui ne s'exécute pas n'est pas un test. +- **Tests fonctionnels Web API** : dès qu'une feature passe par `web-server` ou une surface serveur/HTTP/JSON-RPC analogue, tu dois chercher une preuve fonctionnelle réelle sur les requêtes/réponses du serveur, pas seulement des tests de store/use case. Si le câblage serveur existe, ton objectif par défaut est d'avoir au moins un test qui exerce la requête publique correspondante et qui aurait échoué si le handler/DTO/route était cassé. ## 4. Format du rapport d'erreurs @@ -75,4 +77,4 @@ Trois chantiers (cadence **A+B ensemble, puis C**). Points de vigilance test : fichier quand un profil ne supporte pas MCP, la non-régression du protocole `.ideai/requests`. Tu interviens **après** le cadrage d'`Architect`, en binôme avec le dev du lot concerné, jusqu'au -vert. +vert. \ No newline at end of file diff --git a/.ideai/tickets/103/carnet.md b/.ideai/tickets/103/carnet.md index c74429c..dcd02f7 100644 --- a/.ideai/tickets/103/carnet.md +++ b/.ideai/tickets/103/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#103" -version: 4 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1785013507979 +version: 5 +updatedBy: {"kind":"user"} +updatedAt: 1785271085635 --- # Carnet #103 — permission réseau exposée dans IdeA diff --git a/.ideai/tickets/103/issue.md b/.ideai/tickets/103/issue.md index 8232181..4d4db5a 100644 --- a/.ideai/tickets/103/issue.md +++ b/.ideai/tickets/103/issue.md @@ -2,16 +2,16 @@ id: "3d9021da-26c3-439d-9463-8d206bd06f1b" number: 103 title: "Exposer et piloter la permission réseau des agents/commandes dans IdeA" -status: "qa" +status: "closed" priority: "high" sprint: null links: [] agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1785011668081 -updatedAt: 1785013507979 -version: 4 +updatedAt: 1785271085635 +version: 5 --- ## Problème diff --git a/.ideai/tickets/107/carnet.md b/.ideai/tickets/107/carnet.md index 47158a8..985d95d 100644 --- a/.ideai/tickets/107/carnet.md +++ b/.ideai/tickets/107/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#107" -version: 3 +version: 4 updatedBy: {"kind":"user"} -updatedAt: 1785136945441 +updatedAt: 1785271098557 --- diff --git a/.ideai/tickets/107/issue.md b/.ideai/tickets/107/issue.md index ab84b6e..0f826dd 100644 --- a/.ideai/tickets/107/issue.md +++ b/.ideai/tickets/107/issue.md @@ -2,7 +2,7 @@ id: "6a79006b-0201-4176-ae54-39a05cc3baa6" number: 107 title: "[Bug] croisement entre les projet des retours des agents" -status: "open" +status: "closed" priority: "critical" sprint: null links: [] @@ -10,8 +10,8 @@ agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"} createdBy: {"kind":"user"} updatedBy: {"kind":"user"} createdAt: 1785136727824 -updatedAt: 1785136945441 -version: 3 +updatedAt: 1785271098557 +version: 4 --- Il y a un soucis très important que j'ai constatés. J'ai actuellement 2 projets ouverts: IdeA et GameTime. Les deux projets travaillaient en même temps et j'ai vu GameTime qui semblait récupérer une requete du projet IdeA. Pour plus de précision, sur mes deux projets, j'ai un agent Git qui utilise OpenCode et un modelle local llamacpp, et j'ia eu l'impression qu'ils ont tous les deux appelé leur agent Git mais GameTime à recus la réponse de IdeA car la réponse parlait d'une branche du projet IdeA. Je ne suis pas totalement sur de ce que j'avance, la seule chose dont je suis sur, c'est que GameTime s'est vu adressé une réponse qui était déstinée au projet IdeA. \ No newline at end of file diff --git a/.ideai/tickets/108/carnet.md b/.ideai/tickets/108/carnet.md new file mode 100644 index 0000000..23e47be --- /dev/null +++ b/.ideai/tickets/108/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#108" +version: 3 +updatedBy: {"kind":"user"} +updatedAt: 1785328001206 +--- diff --git a/.ideai/tickets/108/issue.md b/.ideai/tickets/108/issue.md new file mode 100644 index 0000000..399863d --- /dev/null +++ b/.ideai/tickets/108/issue.md @@ -0,0 +1,17 @@ +--- +id: "d5953745-406f-406f-9008-916de0527cbf" +number: 108 +title: "Ajouter la possibilité de joindre des fichiers aux tickets" +status: "closed" +priority: "medium" +sprint: null +links: [] +agentRefs: [] +attachments: [] +createdBy: {"kind":"user"} +updatedBy: {"kind":"user"} +createdAt: 1785311525586 +updatedAt: 1785328001206 +version: 3 +--- +J'aimerais pouvoir ajouter des fichiers (photo, texte, xml etc...) lisible par les agents AI a mes tickets. Dans le cas ou un fichier a déjà été traité par un agent, il faudrait que le fichier soit résumé dans le carnet et flag par les agents de façon a ce que si plusieurs agents lisent le même tickets, ils ne grillent pas tous leurs tokens a lire le fichier \ No newline at end of file diff --git a/.ideai/tickets/109/carnet.md b/.ideai/tickets/109/carnet.md new file mode 100644 index 0000000..008bede --- /dev/null +++ b/.ideai/tickets/109/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#109" +version: 4 +updatedBy: {"kind":"user"} +updatedAt: 1785328001167 +--- diff --git a/.ideai/tickets/109/issue.md b/.ideai/tickets/109/issue.md new file mode 100644 index 0000000..ec49e22 --- /dev/null +++ b/.ideai/tickets/109/issue.md @@ -0,0 +1,17 @@ +--- +id: "1c6440f1-806f-41e4-92c9-6cef30d3023e" +number: 109 +title: "Ajouter le nom du créateur de ticket" +status: "closed" +priority: "medium" +sprint: null +links: [] +agentRefs: [] +attachments: [] +createdBy: {"kind":"user"} +updatedBy: {"kind":"user"} +createdAt: 1785311822279 +updatedAt: 1785328001167 +version: 4 +--- +J'aiemrais que le nom de celui qui a créé le ticket soit ajouté au ticket (nom de l'agent agent ou utilisateur). et qu'un filtre soit ajouté dans la liste des tickets \ No newline at end of file diff --git a/.ideai/tickets/111/carnet.md b/.ideai/tickets/111/carnet.md new file mode 100644 index 0000000..8a630b0 --- /dev/null +++ b/.ideai/tickets/111/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#111" +version: 2 +updatedBy: {"kind":"user"} +updatedAt: 1785331658707 +--- diff --git a/.ideai/tickets/111/issue.md b/.ideai/tickets/111/issue.md new file mode 100644 index 0000000..465470e --- /dev/null +++ b/.ideai/tickets/111/issue.md @@ -0,0 +1,17 @@ +--- +id: "19adb66b-34db-4c44-98b7-d6383759e90c" +number: 111 +title: "Gestion tmp des outils idea" +status: "open" +priority: "medium" +sprint: null +links: [] +agentRefs: [] +attachments: [] +createdBy: {"kind":"user"} +updatedBy: {"kind":"user"} +createdAt: 1785331481527 +updatedAt: 1785331658707 +version: 2 +--- + dans le dossier /tmp, je vois enormement de dossier du genre : idea-structured-session-factory-openai-e5bbdcac-0405-4ce3-be82-00d9639ee648 ou encore idea-web-root-4fbc4144-065c-4915-9e05-9f6fec20aa3b ou idea-server-test-863efbe5-5098-4f34-aab8-1ba5047f4209 ou idea-openai-compat-unreachable-f713f5fa-5469-4875-96f9-242f7913441b ou idea-openai-compat-tools-rejected-d000d319-8c11-4585-8a16-6ae8a3b45c49 ou idea-openai-compat-status-422-9fd4b27f-e0c1-4043-9fb9-72dcf8d2c2e1 ou idea-openai-compat-single-final-940b1d63-6d4a-40b0-953a-0f3279ec2bdc etc qui sont visiblement créé par IdeA. J'aiemrais que pour un maximum d'entre eux, on puisse clean ça au bon momment. Il faut donc identifier ce qui créé ce cache, puis le supprimer quand ce cache n'est plus utile. \ No newline at end of file diff --git a/.ideai/tickets/112/carnet.md b/.ideai/tickets/112/carnet.md new file mode 100644 index 0000000..dd83c46 --- /dev/null +++ b/.ideai/tickets/112/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#112" +version: 3 +updatedBy: {"kind":"user"} +updatedAt: 1785332227989 +--- diff --git a/.ideai/tickets/112/issue.md b/.ideai/tickets/112/issue.md new file mode 100644 index 0000000..f876d51 --- /dev/null +++ b/.ideai/tickets/112/issue.md @@ -0,0 +1,17 @@ +--- +id: "ff8e11d1-98f8-4c6c-b5d0-a8a087c1dbbc" +number: 112 +title: "Pouvoir ajouter plusieurs tickets a la fois a un sprint" +status: "open" +priority: "medium" +sprint: null +links: [] +agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}] +attachments: [] +createdBy: {"kind":"user"} +updatedBy: {"kind":"user"} +createdAt: 1785332192429 +updatedAt: 1785332227989 +version: 3 +--- +Je veux qu'on ajoute la possibilité de set le sprint des tickets selectionnés grace a la selection multiple de ticket dans la liste des tickets. \ No newline at end of file diff --git a/.ideai/tickets/15/carnet.md b/.ideai/tickets/15/carnet.md index 58b55bd..b0a106d 100644 --- a/.ideai/tickets/15/carnet.md +++ b/.ideai/tickets/15/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#15" -version: 5 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1784093861343 +version: 6 +updatedBy: {"kind":"user"} +updatedAt: 1785271075239 --- ## Cadrage Architect — DIFFÉRÉ (2026-07-13) diff --git a/.ideai/tickets/15/issue.md b/.ideai/tickets/15/issue.md index 5178c2c..8ad4d4b 100644 --- a/.ideai/tickets/15/issue.md +++ b/.ideai/tickets/15/issue.md @@ -2,16 +2,16 @@ id: "5de121f3-1cd1-4a73-bcab-b0a43a7c257f" number: 15 title: "[Bloqué par #7 — design durable] Limites de session — re-livraison auto parquée au reset (stretch B5)" -status: "open" +status: "closed" priority: "low" sprint: "e28a4d53-8bd2-446a-b0ac-2a017373b8b2" links: [{"target":"#7","kind":"dependsOn"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1783208599385 -updatedAt: 1784093861343 -version: 5 +updatedAt: 1785271075239 +version: 6 --- Extrait du cadrage Architect du ticket #7 (baseline livrée : propagation inter-agent B1→B3 + F1/F2). Stretch non retenu dans #7. diff --git a/.ideai/tickets/58/carnet.md b/.ideai/tickets/58/carnet.md index 7e0fa2e..226a4de 100644 --- a/.ideai/tickets/58/carnet.md +++ b/.ideai/tickets/58/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#58" -version: 1 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1784064521992 +version: 2 +updatedBy: {"kind":"user"} +updatedAt: 1785271075234 --- diff --git a/.ideai/tickets/58/issue.md b/.ideai/tickets/58/issue.md index 110d1b0..5cc2a7b 100644 --- a/.ideai/tickets/58/issue.md +++ b/.ideai/tickets/58/issue.md @@ -2,16 +2,16 @@ id: "495699aa-d5d1-409f-8830-cdfaba7a4be3" number: 58 title: "[B/F] Rendu live des tâches de fond — subscriber UI + canal IPC attachable au task output" -status: "open" +status: "closed" priority: "low" sprint: null links: [{"target":"#2","kind":"dependsOn"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1784064521992 -updatedAt: 1784064521992 -version: 1 +updatedAt: 1785271075234 +version: 2 --- Sorti du ticket #2 lors de sa requalification (2026-07-14). diff --git a/.ideai/tickets/67/carnet.md b/.ideai/tickets/67/carnet.md index 42d8577..eb066d6 100644 --- a/.ideai/tickets/67/carnet.md +++ b/.ideai/tickets/67/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#67" -version: 2 +version: 3 updatedBy: {"kind":"user"} -updatedAt: 1784193467784 +updatedAt: 1785271075247 --- diff --git a/.ideai/tickets/67/issue.md b/.ideai/tickets/67/issue.md index b914898..3628584 100644 --- a/.ideai/tickets/67/issue.md +++ b/.ideai/tickets/67/issue.md @@ -2,7 +2,7 @@ id: "e3d16c70-01c5-448e-9b5e-37ba2ccbbb58" number: 67 title: "Lock inter-process de l'app-data-dir (desktop ↔ idea --serve)" -status: "open" +status: "closed" priority: "low" sprint: "028179b1-eaf4-41e9-9c1f-7c37125117e6" links: [{"target":"#13","kind":"dependsOn"}] @@ -10,8 +10,8 @@ agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"} createdAt: 1784187618710 -updatedAt: 1784193467784 -version: 2 +updatedAt: 1785271075247 +version: 3 --- Issu de la validation live #13. `idea --serve` et l'app desktop peuvent écrire le même app-data-dir (`~/.local/share/app.idea.ide`) simultanément — pas de lock inter-process → risque de corruption d'état (projects.json/profiles.json/tasks). Aujourd'hui contourné par une simple consigne de doc (« ne pas lancer les deux en même temps »). diff --git a/.ideai/tickets/71/carnet.md b/.ideai/tickets/71/carnet.md index 0318e68..31fd96c 100644 --- a/.ideai/tickets/71/carnet.md +++ b/.ideai/tickets/71/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#71" -version: 1 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1784210443885 +version: 2 +updatedBy: {"kind":"user"} +updatedAt: 1785271075230 --- diff --git a/.ideai/tickets/71/issue.md b/.ideai/tickets/71/issue.md index 619b635..7a60667 100644 --- a/.ideai/tickets/71/issue.md +++ b/.ideai/tickets/71/issue.md @@ -2,16 +2,16 @@ id: "4d78a0e9-b54c-4db6-92e5-1461c17d7c84" number: 71 title: "Diagnostic d'accessibilité du serveur : dire pourquoi ça ne marche pas, pas seulement que ça tourne" -status: "open" +status: "closed" priority: "medium" sprint: null links: [{"target":"#68","kind":"relatesTo"},{"target":"#65","kind":"relatesTo"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1784210443885 -updatedAt: 1784210443885 -version: 1 +updatedAt: 1785271075230 +version: 2 --- Issu d'une session de debug live réelle (2026-07-16) où un serveur `idea-serve` CORRECTEMENT configuré est resté injoignable, sans que rien dans le produit n'indique pourquoi. Le serveur tournait, se croyait bon, affichait « listening on … ». Deux boucles de debug successives ont été nécessaires, dont aucune n'était diagnosticable depuis le produit. diff --git a/.ideai/tickets/73/carnet.md b/.ideai/tickets/73/carnet.md index f2aae01..60b0a7b 100644 --- a/.ideai/tickets/73/carnet.md +++ b/.ideai/tickets/73/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#73" -version: 1 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1784223044517 +version: 2 +updatedBy: {"kind":"user"} +updatedAt: 1785271075224 --- diff --git a/.ideai/tickets/73/issue.md b/.ideai/tickets/73/issue.md index c93bb13..65b6bbc 100644 --- a/.ideai/tickets/73/issue.md +++ b/.ideai/tickets/73/issue.md @@ -2,16 +2,16 @@ id: "a43a07d0-573f-41e9-9b7b-2f88beb4e660" number: 73 title: "TLS intégré à idea-serve : supprimer la cause racine de la cérémonie reverse proxy" -status: "open" +status: "closed" priority: "high" sprint: null links: [{"target":"#72","kind":"relatesTo"},{"target":"#66","kind":"relatesTo"},{"target":"#68","kind":"relatesTo"},{"target":"#71","kind":"relatesTo"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1784223044517 -updatedAt: 1784223044517 -version: 1 +updatedAt: 1785271075224 +version: 2 --- **Décision utilisateur (2026-07-16) : IdeA gagne le TLS intégré.** Contrainte posée : prendre la technologie la plus légère. diff --git a/.ideai/tickets/80/carnet.md b/.ideai/tickets/80/carnet.md index 42e9d46..99f0114 100644 --- a/.ideai/tickets/80/carnet.md +++ b/.ideai/tickets/80/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#80" -version: 1 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1784287697560 +version: 2 +updatedBy: {"kind":"user"} +updatedAt: 1785271075219 --- diff --git a/.ideai/tickets/80/issue.md b/.ideai/tickets/80/issue.md index bb4bcec..59e9714 100644 --- a/.ideai/tickets/80/issue.md +++ b/.ideai/tickets/80/issue.md @@ -2,16 +2,16 @@ id: "f36ada98-0ca1-41e6-94c1-24eb81731fee" number: 80 title: "L'environnement de QA ne peut pas ouvrir de socket — il ne peut pas valider les features réseau" -status: "open" +status: "closed" priority: "medium" sprint: null links: [{"target":"#77","kind":"relatesTo"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1784287697560 -updatedAt: 1784287697560 -version: 1 +updatedAt: 1785271075219 +version: 2 --- ## Constat diff --git a/.ideai/tickets/84/carnet.md b/.ideai/tickets/84/carnet.md index 703b2c2..7e14343 100644 --- a/.ideai/tickets/84/carnet.md +++ b/.ideai/tickets/84/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#84" -version: 1 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1784377833773 +version: 2 +updatedBy: {"kind":"user"} +updatedAt: 1785271075213 --- diff --git a/.ideai/tickets/84/issue.md b/.ideai/tickets/84/issue.md index ab9f99d..dbb9c7f 100644 --- a/.ideai/tickets/84/issue.md +++ b/.ideai/tickets/84/issue.md @@ -2,16 +2,16 @@ id: "beab1811-2fd7-4563-ac39-6a354fbd1feb" number: 84 title: "[Bug] Reprise auto après limite de session ne se déclenche pas pour l'orchestrator (Main, profil Claude)" -status: "open" +status: "closed" priority: "high" sprint: null links: [{"target":"#7","kind":"relatesTo"},{"target":"#15","kind":"relatesTo"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1784377833773 -updatedAt: 1784377833773 -version: 1 +updatedAt: 1785271075213 +version: 2 --- Rapporté par l'utilisateur (2026-07-18) sur l'AppImage courante (buildée depuis develop, contient #7 baseline + #30 fix chemin direct Main) : quand l'orchestrator (Main) atteint une limite de session sur un profil Claude, la reprise automatique au reset n'a PAS lieu en pratique, alors que la feature #7 (mergée d7041c5, 2026-06-17) et le fix #30 dédié précisément au cas "Main qui limite session" (commit 9430c65, 2026-07-13, "brancher le handle de limite sur le chemin direct") sont censés couvrir ce cas. diff --git a/.ideai/tickets/85/carnet.md b/.ideai/tickets/85/carnet.md index e4aad97..98e75f8 100644 --- a/.ideai/tickets/85/carnet.md +++ b/.ideai/tickets/85/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#85" -version: 1 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1784379436323 +version: 2 +updatedBy: {"kind":"user"} +updatedAt: 1785271075206 --- diff --git a/.ideai/tickets/85/issue.md b/.ideai/tickets/85/issue.md index 3e4dd56..7dcf9c7 100644 --- a/.ideai/tickets/85/issue.md +++ b/.ideai/tickets/85/issue.md @@ -2,16 +2,16 @@ id: "34b23044-4b82-4e7e-b999-cca7cbef7861" number: 85 title: "Test flaky : setCellAgent « changing the agent kills the previous PTY (Bug #3) » échoue en exécution shuffled" -status: "open" +status: "closed" priority: "low" sprint: null links: [{"target":"#79","kind":"relatesTo"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1784379436323 -updatedAt: 1784379436323 -version: 1 +updatedAt: 1785271075206 +version: 2 --- Découvert en marge de #79 (DevFrontend puis confirmé par QA sur `npx vitest run --sequence.shuffle`, ~2 échecs sur 3 passages) : `src/features/layout/setCellAgent.test.tsx` → « changing the agent kills the previous PTY (Bug #3) ». diff --git a/.ideai/tickets/91/carnet.md b/.ideai/tickets/91/carnet.md index 1d4d9a4..0769da9 100644 --- a/.ideai/tickets/91/carnet.md +++ b/.ideai/tickets/91/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#91" -version: 4 +version: 5 updatedBy: {"kind":"user"} -updatedAt: 1784994105390 +updatedAt: 1785271075172 --- diff --git a/.ideai/tickets/91/issue.md b/.ideai/tickets/91/issue.md index 3d88ef8..e8c8069 100644 --- a/.ideai/tickets/91/issue.md +++ b/.ideai/tickets/91/issue.md @@ -2,7 +2,7 @@ id: "2d54c254-d2e8-44b3-ac12-3bf20f818d23" number: 91 title: "Sur la notification de fin de tache backend, mettre plutot les deux agents en conversation" -status: "open" +status: "closed" priority: "medium" sprint: "5afd6780-0f76-40d7-a10f-32ee52469d74" links: [] @@ -10,7 +10,7 @@ agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"} createdBy: {"kind":"user"} updatedBy: {"kind":"user"} createdAt: 1784652125081 -updatedAt: 1784994105390 -version: 4 +updatedAt: 1785271075172 +version: 5 --- Sur la notification de fin de tache backend, mettre plutot les deux agents en conveersation et qui a lancé l'appel (par exemple Main->DevBackend) pour que ça soit un peu plus explicite \ No newline at end of file diff --git a/.ideai/tickets/96/carnet.md b/.ideai/tickets/96/carnet.md index 057471b..4a0d932 100644 --- a/.ideai/tickets/96/carnet.md +++ b/.ideai/tickets/96/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#96" -version: 3 +version: 4 updatedBy: {"kind":"user"} -updatedAt: 1784994119004 +updatedAt: 1785271075243 --- ## Décision (2026-07-24) : différée — documentée, non codée diff --git a/.ideai/tickets/96/issue.md b/.ideai/tickets/96/issue.md index d7834cb..a9b401c 100644 --- a/.ideai/tickets/96/issue.md +++ b/.ideai/tickets/96/issue.md @@ -2,7 +2,7 @@ id: "d5993d21-307b-4fc8-93f9-2bfbf44223d8" number: 96 title: "Les assistants de ticket (tous adaptateurs) n'ont aucune résolution EffectivePermissions — permission toujours native/absente" -status: "open" +status: "closed" priority: "low" sprint: "883534aa-7fc1-4d83-a9c0-17cac4a4eea5" links: [] @@ -10,8 +10,8 @@ agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"} createdAt: 1784823281794 -updatedAt: 1784994119004 -version: 3 +updatedAt: 1785271075243 +version: 4 --- Trouvé en implémentant #94 (projection des permissions dans opencode.json). Le call site des assistants de ticket dans `crates/infrastructure/src/assistant/mod.rs` n'a **aucun** `PermissionStore`/`EffectivePermissions` câblé, pour aucun adaptateur (Claude, Codex, OpenCode) — vérifié par grep sur la composition root `crates/backend/src/lib.rs`. Le fix #94 y passe donc `eff: None` (préserve le comportement natif existant, pas de régression), mais ce n'est pas un vrai fix de fond : les permissions IdeA configurées pour un agent n'ont jamais été appliquées aux assistants de ticket, quel que soit l'adaptateur. diff --git a/.ideai/tickets/99/carnet.md b/.ideai/tickets/99/carnet.md index 55c1de3..d73da13 100644 --- a/.ideai/tickets/99/carnet.md +++ b/.ideai/tickets/99/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#99" -version: 3 -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedAt: 1785059758742 +version: 4 +updatedBy: {"kind":"user"} +updatedAt: 1785271085627 --- # Carnet #99 — Cadrage (prêt pour le cycle) diff --git a/.ideai/tickets/99/issue.md b/.ideai/tickets/99/issue.md index 018a47d..0169d15 100644 --- a/.ideai/tickets/99/issue.md +++ b/.ideai/tickets/99/issue.md @@ -2,16 +2,16 @@ id: "45733f3f-5ef5-4f33-96e7-25afddcd1ce6" number: 99 title: "Modèle par agent contrôlable pour Codex & Claude (headless + TUI) — égaler le pattern OpenCode" -status: "qa" +status: "closed" priority: "high" sprint: null links: [{"target":"#98","kind":"relatesTo"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} -updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} +updatedBy: {"kind":"user"} createdAt: 1784987973464 -updatedAt: 1785059758742 -version: 3 +updatedAt: 1785271085627 +version: 4 --- ## Problème diff --git a/.ideai/tickets/counter.json b/.ideai/tickets/counter.json index 5c590ed..a5ca793 100644 --- a/.ideai/tickets/counter.json +++ b/.ideai/tickets/counter.json @@ -1,3 +1,3 @@ { - "nextNumber": 107 + "nextNumber": 113 } \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index be21241..fa211b8 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -11,6 +11,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783175265022 }, { @@ -23,6 +26,10 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784065385002 }, { @@ -35,6 +42,10 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784377533777 }, { @@ -47,6 +58,10 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1783437430509 }, { @@ -59,6 +74,10 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1783328740886 }, { @@ -71,6 +90,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783312054217 }, { @@ -83,6 +105,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784718581033 }, { @@ -95,6 +120,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783310831918 }, { @@ -107,6 +135,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783210849647 }, { @@ -119,6 +150,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783241883970 }, { @@ -131,6 +165,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783278726067 }, { @@ -143,6 +180,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783312900907 }, { @@ -155,6 +195,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784193634690 }, { @@ -167,17 +210,24 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784449099987 }, { "issueRef": "#15", "path": "15", "title": "[Bloqué par #7 — design durable] Limites de session — re-livraison auto parquée au reset (stretch B5)", - "status": "open", + "status": "closed", "priority": "low", "sprint": "e28a4d53-8bd2-446a-b0ac-2a017373b8b2", "assignedAgentIds": [], - "updatedAt": 1784093861343 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075239 }, { "issueRef": "#16", @@ -189,6 +239,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783405334263 }, { @@ -199,6 +252,9 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783405334977 }, { @@ -211,6 +267,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783405335941 }, { @@ -223,6 +282,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783405337651 }, { @@ -233,6 +295,10 @@ "priority": "low", "sprint": "e28a4d53-8bd2-446a-b0ac-2a017373b8b2", "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784049665491 }, { @@ -243,6 +309,9 @@ "priority": "low", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783437364397 }, { @@ -253,6 +322,9 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783437364871 }, { @@ -263,6 +335,9 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783437365276 }, { @@ -275,6 +350,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783491435654 }, { @@ -285,6 +363,9 @@ "priority": "medium", "sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74", "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783861758866 }, { @@ -297,6 +378,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783926649550 }, { @@ -307,6 +391,10 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1783491458775 }, { @@ -317,6 +405,9 @@ "priority": "low", "sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74", "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783921595742 }, { @@ -327,6 +418,9 @@ "priority": "medium", "sprint": "d8f3f37b-87ca-4509-9116-45a99bc711df", "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783941648176 }, { @@ -337,6 +431,10 @@ "priority": "low", "sprint": "e28a4d53-8bd2-446a-b0ac-2a017373b8b2", "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784064442657 }, { @@ -349,6 +447,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783723378815 }, { @@ -359,6 +460,10 @@ "priority": "high", "sprint": "e28a4d53-8bd2-446a-b0ac-2a017373b8b2", "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784048928225 }, { @@ -369,6 +474,10 @@ "priority": "medium", "sprint": "e28a4d53-8bd2-446a-b0ac-2a017373b8b2", "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784050010085 }, { @@ -381,6 +490,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783777898736 }, { @@ -393,6 +505,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783777899737 }, { @@ -405,6 +520,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783878976369 }, { @@ -415,6 +533,9 @@ "priority": "low", "sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74", "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783879443381 }, { @@ -425,6 +546,9 @@ "priority": "low", "sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74", "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783921595316 }, { @@ -437,6 +561,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783922451268 }, { @@ -449,6 +576,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783878363957 }, { @@ -459,6 +589,10 @@ "priority": "low", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1783877612067 }, { @@ -469,6 +603,9 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784707900405 }, { @@ -481,6 +618,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783976073932 }, { @@ -493,6 +633,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783925599109 }, { @@ -505,6 +648,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783939380889 }, { @@ -517,6 +663,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783939089770 }, { @@ -529,6 +678,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783924961311 }, { @@ -541,6 +693,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783940643502 }, { @@ -553,6 +708,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783959345112 }, { @@ -563,6 +721,9 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783941336721 }, { @@ -575,6 +736,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1783958689416 }, { @@ -585,6 +749,9 @@ "priority": "medium", "sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74", "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784018300921 }, { @@ -597,6 +764,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784649948611 }, { @@ -609,17 +779,24 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784048212123 }, { "issueRef": "#58", "path": "58", "title": "[B/F] Rendu live des tâches de fond — subscriber UI + canal IPC attachable au task output", - "status": "open", + "status": "closed", "priority": "low", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1784064521992 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075234 }, { "issueRef": "#60", @@ -629,6 +806,10 @@ "priority": "high", "sprint": "e28a4d53-8bd2-446a-b0ac-2a017373b8b2", "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784360139966 }, { @@ -641,6 +822,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784661823324 }, { @@ -651,6 +835,10 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784406936659 }, { @@ -661,6 +849,9 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784098438671 }, { @@ -671,6 +862,10 @@ "priority": "medium", "sprint": "028179b1-eaf4-41e9-9c1f-7c37125117e6", "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784718418070 }, { @@ -681,6 +876,10 @@ "priority": "high", "sprint": "028179b1-eaf4-41e9-9c1f-7c37125117e6", "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784210420516 }, { @@ -691,17 +890,25 @@ "priority": "medium", "sprint": "028179b1-eaf4-41e9-9c1f-7c37125117e6", "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784193460805 }, { "issueRef": "#67", "path": "67", "title": "Lock inter-process de l'app-data-dir (desktop ↔ idea --serve)", - "status": "open", + "status": "closed", "priority": "low", "sprint": "028179b1-eaf4-41e9-9c1f-7c37125117e6", "assignedAgentIds": [], - "updatedAt": 1784193467784 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075247 }, { "issueRef": "#68", @@ -713,6 +920,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784277313706 }, { @@ -725,6 +935,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784449061397 }, { @@ -737,17 +950,24 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1785083912470 }, { "issueRef": "#71", "path": "71", "title": "Diagnostic d'accessibilité du serveur : dire pourquoi ça ne marche pas, pas seulement que ça tourne", - "status": "open", + "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1784210443885 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075230 }, { "issueRef": "#72", @@ -757,17 +977,25 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784236365445 }, { "issueRef": "#73", "path": "73", "title": "TLS intégré à idea-serve : supprimer la cause racine de la cérémonie reverse proxy", - "status": "open", + "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1784223044517 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075224 }, { "issueRef": "#74", @@ -777,6 +1005,10 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784277308704 }, { @@ -787,6 +1019,10 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784449082160 }, { @@ -797,6 +1033,10 @@ "priority": "low", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784287679986 }, { @@ -807,6 +1047,10 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784449075576 }, { @@ -817,6 +1061,10 @@ "priority": "low", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784379475877 }, { @@ -827,17 +1075,25 @@ "priority": "low", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784379476483 }, { "issueRef": "#80", "path": "80", "title": "L'environnement de QA ne peut pas ouvrir de socket — il ne peut pas valider les features réseau", - "status": "open", + "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1784287697560 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075219 }, { "issueRef": "#81", @@ -849,6 +1105,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784565918809 }, { @@ -859,6 +1118,9 @@ "priority": "critical", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784410760329 }, { @@ -869,27 +1131,38 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784567952845 }, { "issueRef": "#84", "path": "84", "title": "[Bug] Reprise auto après limite de session ne se déclenche pas pour l'orchestrator (Main, profil Claude)", - "status": "open", + "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1784377833773 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075213 }, { "issueRef": "#85", "path": "85", "title": "Test flaky : setCellAgent « changing the agent kills the previous PTY (Bug #3) » échoue en exécution shuffled", - "status": "open", + "status": "closed", "priority": "low", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1784379436323 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075206 }, { "issueRef": "#86", @@ -901,6 +1174,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784612705899 }, { @@ -913,6 +1189,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784650196560 }, { @@ -925,6 +1204,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784661583231 }, { @@ -937,19 +1219,25 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784661583085 }, { "issueRef": "#91", "path": "91", "title": "Sur la notification de fin de tache backend, mettre plutot les deux agents en conversation", - "status": "open", + "status": "closed", "priority": "medium", "sprint": "5afd6780-0f76-40d7-a10f-32ee52469d74", "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], - "updatedAt": 1784994105390 + "createdBy": { + "kind": "user" + }, + "updatedAt": 1785271075172 }, { "issueRef": "#92", @@ -959,6 +1247,9 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1784993956910 }, { @@ -969,6 +1260,10 @@ "priority": "medium", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784934179780 }, { @@ -979,6 +1274,10 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784823278030 }, { @@ -989,17 +1288,25 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784934174326 }, { "issueRef": "#96", "path": "96", "title": "Les assistants de ticket (tous adaptateurs) n'ont aucune résolution EffectivePermissions — permission toujours native/absente", - "status": "open", + "status": "closed", "priority": "low", "sprint": "883534aa-7fc1-4d83-a9c0-17cac4a4eea5", "assignedAgentIds": [], - "updatedAt": 1784994119004 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271075243 }, { "issueRef": "#97", @@ -1009,6 +1316,10 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784915626417 }, { @@ -1019,17 +1330,25 @@ "priority": "high", "sprint": null, "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, "updatedAt": 1784983186248 }, { "issueRef": "#99", "path": "99", "title": "Modèle par agent contrôlable pour Codex & Claude (headless + TUI) — égaler le pattern OpenCode", - "status": "qa", + "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1785059758742 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271085627 }, { "issueRef": "#100", @@ -1039,6 +1358,9 @@ "priority": "high", "sprint": "e28a4d53-8bd2-446a-b0ac-2a017373b8b2", "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, "updatedAt": 1785083912470 }, { @@ -1051,6 +1373,9 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1785011116365 }, { @@ -1063,19 +1388,95 @@ "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], + "createdBy": { + "kind": "user" + }, "updatedAt": 1785083912470 }, { "issueRef": "#103", "path": "103", "title": "Exposer et piloter la permission réseau des agents/commandes dans IdeA", - "status": "qa", + "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "a6ced819-b893-4213-b003-9e9dc79b9641" ], - "updatedAt": 1785013507979 + "createdBy": { + "kind": "agent", + "agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641" + }, + "updatedAt": 1785271085635 + }, + { + "issueRef": "#107", + "path": "107", + "title": "[Bug] croisement entre les projet des retours des agents", + "status": "closed", + "priority": "critical", + "sprint": null, + "assignedAgentIds": [ + "a6ced819-b893-4213-b003-9e9dc79b9641" + ], + "createdBy": { + "kind": "user" + }, + "updatedAt": 1785271098557 + }, + { + "issueRef": "#108", + "path": "108", + "title": "Ajouter la possibilité de joindre des fichiers aux tickets", + "status": "closed", + "priority": "medium", + "sprint": null, + "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, + "updatedAt": 1785328001206 + }, + { + "issueRef": "#109", + "path": "109", + "title": "Ajouter le nom du créateur de ticket", + "status": "closed", + "priority": "medium", + "sprint": null, + "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, + "updatedAt": 1785328001167 + }, + { + "issueRef": "#111", + "path": "111", + "title": "Gestion tmp des outils idea", + "status": "open", + "priority": "medium", + "sprint": null, + "assignedAgentIds": [], + "createdBy": { + "kind": "user" + }, + "updatedAt": 1785331658707 + }, + { + "issueRef": "#112", + "path": "112", + "title": "Pouvoir ajouter plusieurs tickets a la fois a un sprint", + "status": "open", + "priority": "medium", + "sprint": null, + "assignedAgentIds": [ + "a6ced819-b893-4213-b003-9e9dc79b9641" + ], + "createdBy": { + "kind": "user" + }, + "updatedAt": 1785332227989 } ] -} +} \ No newline at end of file