chore(tickets): synchronise l'état ticketing courant

Met à jour les carnets/issues existants et ajoute les tickets #108,
#109, #111, #112 créés durant le cycle. État runtime sans rapport
avec le lot de code #82, isolé dans son propre commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-29 15:57:37 +02:00
parent 30c8009a96
commit 5955ea37a2
38 changed files with 621 additions and 115 deletions

View File

@ -37,7 +37,7 @@ Tu t'occupes **du repo git local** :
Le dépôt s'articule autour de trois niveaux : Le dépôt s'articule autour de trois niveaux :
``` ```text
main ← branche de RELEASE. Stable, livrable. On n'y commite jamais en direct. 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. 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 : 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) 1. Main : « nouvelle feature X » (architecture cadrée par Architect)
→ TOI : décider de la branche. → TOI : décider de la branche.
- nouvelle feature indépendante → créer feature/X depuis develop, switch dessus - 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 - 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 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 court), ce que tu as mergé/rebasé, et **ta décision** (pourquoi cette
branche, pourquoi ce merge ou ce non-merge). 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 - 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.

View File

@ -10,7 +10,7 @@
## 1. Ta mission (le cycle, §3 de la méthode) ## 1. Ta mission (le cycle, §3 de la méthode)
``` ```text
DevBackend/DevFrontend écrit le code DevBackend/DevFrontend écrit le code
→ TOI : tu écris les tests unitaires + tu les exécutes → TOI : tu écris les tests unitaires + tu les exécutes
→ vert : feature validée → 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/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/infrastructure` : adapters concrets (peuvent toucher FS temporaire), tests d'intégration ciblés.
- `crates/app-tauri` : DTO (round-trip serde), wiring. - `crates/app-tauri` : DTO (round-trip serde), wiring.
- `crates/web-server` : handlers / Web API / mapping requête-réponse / erreurs.
- Commandes : `cargo test -p <crate>` ciblé, `cargo test --workspace` global. - Commandes : `cargo test -p <crate>` ciblé, `cargo test --workspace` global.
**Frontend (TS/React)** : **Frontend (TS/React)** :
@ -42,6 +43,7 @@ tu le signales tel quel.
- **Round-trip de sérialisation** (DTO ↔ domaine, fichiers `.ideai/*.json`). - **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. - **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. - **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 ## 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`. 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 Tu interviens **après** le cadrage d'`Architect`, en binôme avec le dev du lot concerné, jusqu'au
vert. vert.

View File

@ -1,8 +1,8 @@
--- ---
issueRef: "#103" issueRef: "#103"
version: 4 version: 5
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1785013507979 updatedAt: 1785271085635
--- ---
# Carnet #103 — permission réseau exposée dans IdeA # Carnet #103 — permission réseau exposée dans IdeA

View File

@ -2,16 +2,16 @@
id: "3d9021da-26c3-439d-9463-8d206bd06f1b" id: "3d9021da-26c3-439d-9463-8d206bd06f1b"
number: 103 number: 103
title: "Exposer et piloter la permission réseau des agents/commandes dans IdeA" title: "Exposer et piloter la permission réseau des agents/commandes dans IdeA"
status: "qa" status: "closed"
priority: "high" priority: "high"
sprint: null sprint: null
links: [] links: []
agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}] agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}]
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1785011668081
updatedAt: 1785013507979 updatedAt: 1785271085635
version: 4 version: 5
--- ---
## Problème ## Problème

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#107" issueRef: "#107"
version: 3 version: 4
updatedBy: {"kind":"user"} updatedBy: {"kind":"user"}
updatedAt: 1785136945441 updatedAt: 1785271098557
--- ---

View File

@ -2,7 +2,7 @@
id: "6a79006b-0201-4176-ae54-39a05cc3baa6" id: "6a79006b-0201-4176-ae54-39a05cc3baa6"
number: 107 number: 107
title: "[Bug] croisement entre les projet des retours des agents" title: "[Bug] croisement entre les projet des retours des agents"
status: "open" status: "closed"
priority: "critical" priority: "critical"
sprint: null sprint: null
links: [] links: []
@ -10,8 +10,8 @@ agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}
createdBy: {"kind":"user"} createdBy: {"kind":"user"}
updatedBy: {"kind":"user"} updatedBy: {"kind":"user"}
createdAt: 1785136727824 createdAt: 1785136727824
updatedAt: 1785136945441 updatedAt: 1785271098557
version: 3 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. 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. 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.

View File

@ -0,0 +1,6 @@
---
issueRef: "#108"
version: 3
updatedBy: {"kind":"user"}
updatedAt: 1785328001206
---

View File

@ -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

View File

@ -0,0 +1,6 @@
---
issueRef: "#109"
version: 4
updatedBy: {"kind":"user"}
updatedAt: 1785328001167
---

View File

@ -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

View File

@ -0,0 +1,6 @@
---
issueRef: "#111"
version: 2
updatedBy: {"kind":"user"}
updatedAt: 1785331658707
---

View File

@ -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.

View File

@ -0,0 +1,6 @@
---
issueRef: "#112"
version: 3
updatedBy: {"kind":"user"}
updatedAt: 1785332227989
---

View File

@ -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.

View File

@ -1,8 +1,8 @@
--- ---
issueRef: "#15" issueRef: "#15"
version: 5 version: 6
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1784093861343 updatedAt: 1785271075239
--- ---
## Cadrage Architect — DIFFÉRÉ (2026-07-13) ## Cadrage Architect — DIFFÉRÉ (2026-07-13)

View File

@ -2,16 +2,16 @@
id: "5de121f3-1cd1-4a73-bcab-b0a43a7c257f" id: "5de121f3-1cd1-4a73-bcab-b0a43a7c257f"
number: 15 number: 15
title: "[Bloqué par #7 — design durable] Limites de session — re-livraison auto parquée au reset (stretch B5)" title: "[Bloqué par #7 — design durable] Limites de session — re-livraison auto parquée au reset (stretch B5)"
status: "open" status: "closed"
priority: "low" priority: "low"
sprint: "e28a4d53-8bd2-446a-b0ac-2a017373b8b2" sprint: "e28a4d53-8bd2-446a-b0ac-2a017373b8b2"
links: [{"target":"#7","kind":"dependsOn"}] links: [{"target":"#7","kind":"dependsOn"}]
agentRefs: [] agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1783208599385
updatedAt: 1784093861343 updatedAt: 1785271075239
version: 5 version: 6
--- ---
Extrait du cadrage Architect du ticket #7 (baseline livrée : propagation inter-agent B1→B3 + F1/F2). Stretch non retenu dans #7. Extrait du cadrage Architect du ticket #7 (baseline livrée : propagation inter-agent B1→B3 + F1/F2). Stretch non retenu dans #7.

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#58" issueRef: "#58"
version: 1 version: 2
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1784064521992 updatedAt: 1785271075234
--- ---

View File

@ -2,16 +2,16 @@
id: "495699aa-d5d1-409f-8830-cdfaba7a4be3" id: "495699aa-d5d1-409f-8830-cdfaba7a4be3"
number: 58 number: 58
title: "[B/F] Rendu live des tâches de fond — subscriber UI + canal IPC attachable au task output" title: "[B/F] Rendu live des tâches de fond — subscriber UI + canal IPC attachable au task output"
status: "open" status: "closed"
priority: "low" priority: "low"
sprint: null sprint: null
links: [{"target":"#2","kind":"dependsOn"}] links: [{"target":"#2","kind":"dependsOn"}]
agentRefs: [] agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1784064521992
updatedAt: 1784064521992 updatedAt: 1785271075234
version: 1 version: 2
--- ---
Sorti du ticket #2 lors de sa requalification (2026-07-14). Sorti du ticket #2 lors de sa requalification (2026-07-14).

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#67" issueRef: "#67"
version: 2 version: 3
updatedBy: {"kind":"user"} updatedBy: {"kind":"user"}
updatedAt: 1784193467784 updatedAt: 1785271075247
--- ---

View File

@ -2,7 +2,7 @@
id: "e3d16c70-01c5-448e-9b5e-37ba2ccbbb58" id: "e3d16c70-01c5-448e-9b5e-37ba2ccbbb58"
number: 67 number: 67
title: "Lock inter-process de l'app-data-dir (desktop ↔ idea --serve)" title: "Lock inter-process de l'app-data-dir (desktop ↔ idea --serve)"
status: "open" status: "closed"
priority: "low" priority: "low"
sprint: "028179b1-eaf4-41e9-9c1f-7c37125117e6" sprint: "028179b1-eaf4-41e9-9c1f-7c37125117e6"
links: [{"target":"#13","kind":"dependsOn"}] links: [{"target":"#13","kind":"dependsOn"}]
@ -10,8 +10,8 @@ agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
updatedBy: {"kind":"user"} updatedBy: {"kind":"user"}
createdAt: 1784187618710 createdAt: 1784187618710
updatedAt: 1784193467784 updatedAt: 1785271075247
version: 2 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 »). 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 »).

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#71" issueRef: "#71"
version: 1 version: 2
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1784210443885 updatedAt: 1785271075230
--- ---

View File

@ -2,16 +2,16 @@
id: "4d78a0e9-b54c-4db6-92e5-1461c17d7c84" id: "4d78a0e9-b54c-4db6-92e5-1461c17d7c84"
number: 71 number: 71
title: "Diagnostic d'accessibilité du serveur : dire pourquoi ça ne marche pas, pas seulement que ça tourne" title: "Diagnostic d'accessibilité du serveur : dire pourquoi ça ne marche pas, pas seulement que ça tourne"
status: "open" status: "closed"
priority: "medium" priority: "medium"
sprint: null sprint: null
links: [{"target":"#68","kind":"relatesTo"},{"target":"#65","kind":"relatesTo"}] links: [{"target":"#68","kind":"relatesTo"},{"target":"#65","kind":"relatesTo"}]
agentRefs: [] agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1784210443885
updatedAt: 1784210443885 updatedAt: 1785271075230
version: 1 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. 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.

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#73" issueRef: "#73"
version: 1 version: 2
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1784223044517 updatedAt: 1785271075224
--- ---

View File

@ -2,16 +2,16 @@
id: "a43a07d0-573f-41e9-9b7b-2f88beb4e660" id: "a43a07d0-573f-41e9-9b7b-2f88beb4e660"
number: 73 number: 73
title: "TLS intégré à idea-serve : supprimer la cause racine de la cérémonie reverse proxy" title: "TLS intégré à idea-serve : supprimer la cause racine de la cérémonie reverse proxy"
status: "open" status: "closed"
priority: "high" priority: "high"
sprint: null sprint: null
links: [{"target":"#72","kind":"relatesTo"},{"target":"#66","kind":"relatesTo"},{"target":"#68","kind":"relatesTo"},{"target":"#71","kind":"relatesTo"}] links: [{"target":"#72","kind":"relatesTo"},{"target":"#66","kind":"relatesTo"},{"target":"#68","kind":"relatesTo"},{"target":"#71","kind":"relatesTo"}]
agentRefs: [] agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1784223044517
updatedAt: 1784223044517 updatedAt: 1785271075224
version: 1 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. **Décision utilisateur (2026-07-16) : IdeA gagne le TLS intégré.** Contrainte posée : prendre la technologie la plus légère.

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#80" issueRef: "#80"
version: 1 version: 2
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1784287697560 updatedAt: 1785271075219
--- ---

View File

@ -2,16 +2,16 @@
id: "f36ada98-0ca1-41e6-94c1-24eb81731fee" id: "f36ada98-0ca1-41e6-94c1-24eb81731fee"
number: 80 number: 80
title: "L'environnement de QA ne peut pas ouvrir de socket — il ne peut pas valider les features réseau" 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" priority: "medium"
sprint: null sprint: null
links: [{"target":"#77","kind":"relatesTo"}] links: [{"target":"#77","kind":"relatesTo"}]
agentRefs: [] agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1784287697560
updatedAt: 1784287697560 updatedAt: 1785271075219
version: 1 version: 2
--- ---
## Constat ## Constat

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#84" issueRef: "#84"
version: 1 version: 2
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1784377833773 updatedAt: 1785271075213
--- ---

View File

@ -2,16 +2,16 @@
id: "beab1811-2fd7-4563-ac39-6a354fbd1feb" id: "beab1811-2fd7-4563-ac39-6a354fbd1feb"
number: 84 number: 84
title: "[Bug] Reprise auto après limite de session ne se déclenche pas pour l'orchestrator (Main, profil Claude)" 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" priority: "high"
sprint: null sprint: null
links: [{"target":"#7","kind":"relatesTo"},{"target":"#15","kind":"relatesTo"}] links: [{"target":"#7","kind":"relatesTo"},{"target":"#15","kind":"relatesTo"}]
agentRefs: [] agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1784377833773
updatedAt: 1784377833773 updatedAt: 1785271075213
version: 1 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. 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.

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#85" issueRef: "#85"
version: 1 version: 2
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1784379436323 updatedAt: 1785271075206
--- ---

View File

@ -2,16 +2,16 @@
id: "34b23044-4b82-4e7e-b999-cca7cbef7861" id: "34b23044-4b82-4e7e-b999-cca7cbef7861"
number: 85 number: 85
title: "Test flaky : setCellAgent « changing the agent kills the previous PTY (Bug #3) » échoue en exécution shuffled" title: "Test flaky : setCellAgent « changing the agent kills the previous PTY (Bug #3) » échoue en exécution shuffled"
status: "open" status: "closed"
priority: "low" priority: "low"
sprint: null sprint: null
links: [{"target":"#79","kind":"relatesTo"}] links: [{"target":"#79","kind":"relatesTo"}]
agentRefs: [] agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1784379436323
updatedAt: 1784379436323 updatedAt: 1785271075206
version: 1 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) ». 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) ».

View File

@ -1,6 +1,6 @@
--- ---
issueRef: "#91" issueRef: "#91"
version: 4 version: 5
updatedBy: {"kind":"user"} updatedBy: {"kind":"user"}
updatedAt: 1784994105390 updatedAt: 1785271075172
--- ---

View File

@ -2,7 +2,7 @@
id: "2d54c254-d2e8-44b3-ac12-3bf20f818d23" id: "2d54c254-d2e8-44b3-ac12-3bf20f818d23"
number: 91 number: 91
title: "Sur la notification de fin de tache backend, mettre plutot les deux agents en conversation" title: "Sur la notification de fin de tache backend, mettre plutot les deux agents en conversation"
status: "open" status: "closed"
priority: "medium" priority: "medium"
sprint: "5afd6780-0f76-40d7-a10f-32ee52469d74" sprint: "5afd6780-0f76-40d7-a10f-32ee52469d74"
links: [] links: []
@ -10,7 +10,7 @@ agentRefs: [{"agentId":"a6ced819-b893-4213-b003-9e9dc79b9641","role":"assigned"}
createdBy: {"kind":"user"} createdBy: {"kind":"user"}
updatedBy: {"kind":"user"} updatedBy: {"kind":"user"}
createdAt: 1784652125081 createdAt: 1784652125081
updatedAt: 1784994105390 updatedAt: 1785271075172
version: 4 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 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

View File

@ -1,8 +1,8 @@
--- ---
issueRef: "#96" issueRef: "#96"
version: 3 version: 4
updatedBy: {"kind":"user"} updatedBy: {"kind":"user"}
updatedAt: 1784994119004 updatedAt: 1785271075243
--- ---
## Décision (2026-07-24) : différée — documentée, non codée ## Décision (2026-07-24) : différée — documentée, non codée

View File

@ -2,7 +2,7 @@
id: "d5993d21-307b-4fc8-93f9-2bfbf44223d8" id: "d5993d21-307b-4fc8-93f9-2bfbf44223d8"
number: 96 number: 96
title: "Les assistants de ticket (tous adaptateurs) n'ont aucune résolution EffectivePermissions — permission toujours native/absente" title: "Les assistants de ticket (tous adaptateurs) n'ont aucune résolution EffectivePermissions — permission toujours native/absente"
status: "open" status: "closed"
priority: "low" priority: "low"
sprint: "883534aa-7fc1-4d83-a9c0-17cac4a4eea5" sprint: "883534aa-7fc1-4d83-a9c0-17cac4a4eea5"
links: [] links: []
@ -10,8 +10,8 @@ agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
updatedBy: {"kind":"user"} updatedBy: {"kind":"user"}
createdAt: 1784823281794 createdAt: 1784823281794
updatedAt: 1784994119004 updatedAt: 1785271075243
version: 3 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. 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.

View File

@ -1,8 +1,8 @@
--- ---
issueRef: "#99" issueRef: "#99"
version: 3 version: 4
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedBy: {"kind":"user"}
updatedAt: 1785059758742 updatedAt: 1785271085627
--- ---
# Carnet #99 — Cadrage (prêt pour le cycle) # Carnet #99 — Cadrage (prêt pour le cycle)

View File

@ -2,16 +2,16 @@
id: "45733f3f-5ef5-4f33-96e7-25afddcd1ce6" id: "45733f3f-5ef5-4f33-96e7-25afddcd1ce6"
number: 99 number: 99
title: "Modèle par agent contrôlable pour Codex & Claude (headless + TUI) — égaler le pattern OpenCode" title: "Modèle par agent contrôlable pour Codex & Claude (headless + TUI) — égaler le pattern OpenCode"
status: "qa" status: "closed"
priority: "high" priority: "high"
sprint: null sprint: null
links: [{"target":"#98","kind":"relatesTo"}] links: [{"target":"#98","kind":"relatesTo"}]
agentRefs: [] agentRefs: []
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} 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 createdAt: 1784987973464
updatedAt: 1785059758742 updatedAt: 1785271085627
version: 3 version: 4
--- ---
## Problème ## Problème

View File

@ -1,3 +1,3 @@
{ {
"nextNumber": 107 "nextNumber": 113
} }

File diff suppressed because it is too large Load Diff