chore(tickets): synchronise les statuts tickets et l'état plugin android
Rattrapage de l'état runtime .ideai/ (tickets #119-#139/#147 clôturés, compteur→149, ticket #148 clos et QA verte, métadonnées plugin android) — séparé du code de feature avant d'ouvrir le travail sur le nouveau bug de lancement CLI custom. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -5,7 +5,7 @@
|
||||
"probableAppModule": null,
|
||||
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
|
||||
"projectRoot": "/home/anthony/Documents/Projects/IdeA",
|
||||
"updatedAt": "2026-08-04T21:31:12.564Z"
|
||||
"updatedAt": "2026-08-05T11:34:54.650Z"
|
||||
},
|
||||
"ownerAgentId": null,
|
||||
"ownerAgentMapping": {},
|
||||
@ -15,7 +15,7 @@
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"selection": {
|
||||
"activeModulePath": null,
|
||||
"activeModulePath": "android/app",
|
||||
"debugApkPathByModule": {},
|
||||
"selectedDeviceSerial": null
|
||||
},
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
issueRef: "#119"
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1785748044163
|
||||
version: 4
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187569
|
||||
---
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
id: "b76431d7-f3a3-438f-ae3f-5648f5eda8ce"
|
||||
number: 119
|
||||
title: "Refondre le système de skills IdeA en capacités agent découvrables"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785534242629
|
||||
updatedAt: 1785748044163
|
||||
version: 3
|
||||
updatedAt: 1785881187569
|
||||
version: 4
|
||||
---
|
||||
## Constat
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#120"
|
||||
version: 10
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1785748044180
|
||||
version: 11
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187579
|
||||
---
|
||||
---
|
||||
issueRef: "#120"
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
id: "f4218553-680a-4fbb-9514-a96eab79b8d8"
|
||||
number: 120
|
||||
title: "Réinvestiguer l’installation de hello-plugin: écran noir / perte d’affichage IdeA"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "critical"
|
||||
sprint: null
|
||||
links: [{"target":"#116","kind":"relatesTo"},{"target":"#43","kind":"relatesTo"}]
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785534496259
|
||||
updatedAt: 1785748044180
|
||||
version: 10
|
||||
updatedAt: 1785881187579
|
||||
version: 11
|
||||
---
|
||||
## Constat utilisateur
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#123"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1785670261241
|
||||
version: 5
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187586
|
||||
---
|
||||
## Contexte
|
||||
Le besoin initial vient d’un futur plugin orienté développement Android, mais le périmètre validé pour ce chantier est strictement **SDK générique**. L’objectif n’est pas d’ajouter des API Android-first, mais de combler les trous du SDK public qui empêchent aujourd’hui tout plugin de développement un peu sérieux.
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "0013caf7-bbc9-439f-82b2-9d23ed9e901a"
|
||||
number: 123
|
||||
title: "SDK plugins: combler les capacités globales manquantes pour les plugins de développement outillés"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785662012603
|
||||
updatedAt: 1785670261241
|
||||
version: 4
|
||||
updatedAt: 1785881187586
|
||||
version: 5
|
||||
---
|
||||
Ticket parapluie pour structurer l’extension du SDK public des plugins IdeA afin de supporter des plugins de développement avancés sans introduire d’API métier spécifiques à une stack donnée. Le besoin initial vient du cas Android, mais le périmètre doit rester strictement transversal.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#124"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1785666067073
|
||||
version: 5
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187593
|
||||
---
|
||||
## Problème
|
||||
`WorkspaceService` public expose aujourd’hui seulement le projet courant, son root, et la lecture/écriture du contexte Markdown IdeA. Cela ne suffit pas pour un plugin de développement qui doit lire, écrire, lister ou surveiller les fichiers d’un projet.
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "639787e1-83b5-49b7-a89f-3a6985129163"
|
||||
number: 124
|
||||
title: "SDK plugins: exposer une API publique d’accès fichiers/workspace"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "critical"
|
||||
sprint: null
|
||||
links: [{"target":"#123","kind":"blocks"}]
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785662026640
|
||||
updatedAt: 1785666067073
|
||||
version: 4
|
||||
updatedAt: 1785881187593
|
||||
version: 5
|
||||
---
|
||||
Ajouter au SDK plugin une API publique de lecture/écriture/listing/watch dans le workspace projet, distincte du simple accès au contexte Markdown IdeA.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#125"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1785667057177
|
||||
version: 5
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187607
|
||||
---
|
||||
## Problème
|
||||
Le SDK public permet seulement :
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "78bb45fb-6320-4d75-8db2-1e2a9591219f"
|
||||
number: 125
|
||||
title: "SDK plugins: exposer une API publique de lancement de commandes et tâches"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "critical"
|
||||
sprint: null
|
||||
links: [{"target":"#123","kind":"blocks"}]
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785662026655
|
||||
updatedAt: 1785667057177
|
||||
version: 4
|
||||
updatedAt: 1785881187607
|
||||
version: 5
|
||||
---
|
||||
Ajouter au SDK plugin une API publique pour lancer des commandes/outils externes et suivre leur exécution comme tâches IdeA, au-delà de l’observation des tâches existantes et du simple PTY interactif.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#126"
|
||||
version: 7
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1785668062783
|
||||
version: 8
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187599
|
||||
---
|
||||
## Problème
|
||||
Un plugin de dev a souvent besoin de savoir si un outillage externe existe, où il se trouve, quelle version est installée, et si l’environnement est valide. Le SDK public n’expose pas aujourd’hui cette capacité comme primitive générique.
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "51d4f4b0-4482-4400-a0d5-9f88471581f0"
|
||||
number: 126
|
||||
title: "SDK plugins: exposer une API publique de découverte/validation d’outillage externe"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: [{"target":"#123","kind":"blocks"},{"target":"#124","kind":"dependsOn"},{"target":"#125","kind":"dependsOn"}]
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785662026684
|
||||
updatedAt: 1785668062783
|
||||
version: 7
|
||||
updatedAt: 1785881187599
|
||||
version: 8
|
||||
---
|
||||
Ajouter au SDK plugin une API publique pour détecter, valider et décrire des toolchains externes (exécutables, versions, variables d’environnement, prérequis) sans spécialiser le SDK pour une stack donnée.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#127"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1785669121141
|
||||
version: 5
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187615
|
||||
---
|
||||
## Problème
|
||||
Sans bus d’événements ou API de watch publique, un plugin doit poller l’état du host ou du workspace pour se tenir à jour. C’est coûteux, fragile et peu réactif.
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "9b238559-9982-4a69-8795-99da8a46be1e"
|
||||
number: 127
|
||||
title: "SDK plugins: exposer une API publique d’événements et de watch"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: [{"target":"#123","kind":"blocks"}]
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785662026701
|
||||
updatedAt: 1785669121141
|
||||
version: 4
|
||||
updatedAt: 1785881187615
|
||||
version: 5
|
||||
---
|
||||
Ajouter au SDK plugin une API publique d’abonnement aux événements utiles du host et du projet: changements de fichiers, évolution des tâches, focus projet et autres signaux nécessaires pour éviter le polling côté plugin.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#128"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1785670260985
|
||||
version: 5
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187622
|
||||
---
|
||||
## Problème
|
||||
Le manifeste expose déjà des contributions `layouts`, mais la runtime publique ne formalise pas proprement l’enregistrement et le cycle de vie de ces layouts. L’exemple SDK actuel contourne la surface avec des casts ad hoc.
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "053f079d-1dfd-48bb-85a2-2dfa8d237999"
|
||||
number: 128
|
||||
title: "SDK plugins: typer et stabiliser la runtime UI/layout publique"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: [{"target":"#123","kind":"blocks"}]
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785662026717
|
||||
updatedAt: 1785670260985
|
||||
version: 4
|
||||
updatedAt: 1785881187622
|
||||
version: 5
|
||||
---
|
||||
Formaliser la surface runtime publique pour les contributions UI/layout des plugins afin d’éviter les casts ad hoc et de permettre des panneaux/plugins de dev riches sur base stable.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#129"
|
||||
version: 5
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1785666067171
|
||||
version: 6
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187631
|
||||
---
|
||||
## Problème
|
||||
Chaque plugin de développement devrait aujourd’hui rescanner lui-même le workspace pour reconstruire une vision de la structure projet. Cela duplique les heuristiques et rend l’écosystème fragile.
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "550fe7ca-8a25-4529-be2e-2fd79c7ddde4"
|
||||
number: 129
|
||||
title: "SDK plugins: exposer une API publique d’analyse/requête de structure projet"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: [{"target":"#123","kind":"blocks"},{"target":"#124","kind":"dependsOn"}]
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785662026738
|
||||
updatedAt: 1785666067171
|
||||
version: 5
|
||||
updatedAt: 1785881187631
|
||||
version: 6
|
||||
---
|
||||
Ajouter au SDK plugin une API publique pour interroger la structure d’un projet (fichiers, modules, graphes simples, conventions détectées) sans obliger chaque plugin à rescanner le workspace depuis zéro.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#130"
|
||||
version: 5
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1785669830933
|
||||
version: 6
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187639
|
||||
---
|
||||
## Problème
|
||||
Un plugin de développement doit souvent lire ou modifier des documents structurés. Sans primitive publique, chaque plugin doit réimplémenter parsing, validation et patching, avec un risque élevé de corruption ou d’incohérence.
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "07a76880-f176-4fc8-b1d3-732a88a8c837"
|
||||
number: 130
|
||||
title: "SDK plugins: exposer une API publique de documents de configuration structurés"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: [{"target":"#123","kind":"blocks"},{"target":"#124","kind":"dependsOn"}]
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785662026750
|
||||
updatedAt: 1785669830933
|
||||
version: 5
|
||||
updatedAt: 1785881187639
|
||||
version: 6
|
||||
---
|
||||
Ajouter au SDK plugin une API publique pour lire/mettre à jour des documents de configuration structurés via un modèle générique plutôt que forcer chaque plugin à réimplémenter son parsing/patching.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#133"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedAt: 1785703664966
|
||||
version: 5
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187645
|
||||
---
|
||||
## Décision d'architecture (2026-08-02)
|
||||
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
id: "f5296d8b-6bef-45c4-ac8a-cf6e0f90ae9c"
|
||||
number: 133
|
||||
title: "Plugins: contrat de service des assets idea-plugin:// (multi-fichiers ESM) & confinement"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: [{"agentId":"b4730d7f-c54d-4736-8a04-c6203aa2fd49","role":"assigned"}]
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785702640094
|
||||
updatedAt: 1785703664966
|
||||
version: 4
|
||||
updatedAt: 1785881187645
|
||||
version: 5
|
||||
---
|
||||
Bug diagnostiqué : `crates/app-tauri/src/plugins.rs:504-536` (`asset_allowed`) n'autorise que `main`/`icon` déclarés au manifeste, ou un chemin préfixé `assets/`. Tout import ESM relatif secondaire (`./constants.js`, `./core/x.js`) depuis le `main` est donc rejeté 403 → "Importing a module script failed." côté navigateur. Le SDK (sdk/IdeaSDK/README.md) documente `main: dist/index.js` comme point d'entrée sans jamais imposer un bundle mono-fichier, ce qui sous-entend un support multi-fichiers jamais réellement vérifié (l'exemple hello-plugin est mono-fichier).
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
issueRef: "#134"
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1785707290184
|
||||
version: 4
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187652
|
||||
---
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
id: "e98c3f80-9fd6-444a-be80-ad695809c71c"
|
||||
number: 134
|
||||
title: "Plugins: servir tout fichier confiné du package installé (fix racine multi-fichiers ESM)"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "critical"
|
||||
sprint: null
|
||||
links: [{"target":"#133","kind":"dependsOn"}]
|
||||
agentRefs: [{"agentId":"fe887179-933f-47d4-960f-c3b06827f86c","role":"assigned"}]
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785702651199
|
||||
updatedAt: 1785707290184
|
||||
version: 3
|
||||
updatedAt: 1785881187652
|
||||
version: 4
|
||||
---
|
||||
Implémente le contrat décidé en #133.
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#135"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1785708498776
|
||||
version: 5
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187659
|
||||
---
|
||||
## Audit QA
|
||||
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
id: "13442dae-7860-45e3-9287-31b9bde19170"
|
||||
number: 135
|
||||
title: "Plugins: audit confinement install & désinstallation 100% propre"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: [{"target":"#133","kind":"dependsOn"}]
|
||||
agentRefs: [{"agentId":"ab328d90-c307-4771-a3b6-6c56089c8506","role":"assigned"}]
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785702662938
|
||||
updatedAt: 1785708498776
|
||||
version: 4
|
||||
updatedAt: 1785881187659
|
||||
version: 5
|
||||
---
|
||||
Applique le contrat de confinement/désinstallation décidé en #133.
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
issueRef: "#136"
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1785708478849
|
||||
version: 4
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187667
|
||||
---
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
id: "214e7c14-fab8-45ed-bb71-5f309a8479a6"
|
||||
number: 136
|
||||
title: "SDK plugins: aligner doc/exemple sur le support multi-fichiers ESM"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: [{"target":"#134","kind":"dependsOn"}]
|
||||
agentRefs: [{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}]
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785702672090
|
||||
updatedAt: 1785708478849
|
||||
version: 3
|
||||
updatedAt: 1785881187667
|
||||
version: 4
|
||||
---
|
||||
Une fois #134 livré, aligner le SDK et sa documentation pour que le support multi-fichiers soit explicite et testé, pas seulement sous-entendu.
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
issueRef: "#137"
|
||||
version: 1
|
||||
updatedBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedAt: 1785702681696
|
||||
version: 2
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881139749
|
||||
---
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
id: "2ef9b71a-9869-4476-88b6-65aaefc993e1"
|
||||
number: 137
|
||||
title: "QA: validation end-to-end plugin multi-fichiers ESM (chargement + désinstallation propre)"
|
||||
status: "open"
|
||||
status: "closed"
|
||||
priority: "critical"
|
||||
sprint: null
|
||||
links: [{"target":"#134","kind":"dependsOn"},{"target":"#136","kind":"dependsOn"}]
|
||||
agentRefs: [{"agentId":"ab328d90-c307-4771-a3b6-6c56089c8506","role":"assigned"}]
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785702681696
|
||||
updatedAt: 1785702681696
|
||||
version: 1
|
||||
updatedAt: 1785881139749
|
||||
version: 2
|
||||
---
|
||||
Validation réelle, sortie observée — pas seulement des tests unitaires — du fix multi-fichiers (#134) et de l'exemple SDK (#136).
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#138"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedAt: 1785703680849
|
||||
version: 5
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187672
|
||||
---
|
||||
## Décision d'architecture (2026-08-02)
|
||||
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
id: "e33fd0ea-e7c6-40dc-a244-f158e44ac4a7"
|
||||
number: 138
|
||||
title: "SDK plugins: contrat de persistance plugin-owned hors projet et effacement total à la désinstallation"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "critical"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: [{"agentId":"b4730d7f-c54d-4736-8a04-c6203aa2fd49","role":"assigned"}]
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"b4730d7f-c54d-4736-8a04-c6203aa2fd49"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785702748769
|
||||
updatedAt: 1785703680849
|
||||
version: 4
|
||||
updatedAt: 1785881187672
|
||||
version: 5
|
||||
---
|
||||
Le lot #133/#135 traite déjà le confinement du package installé et l’absence d’écritures parasites au runtime, mais il reste un trou produit/API majeur : le SDK public et son exemple `sdk/IdeaSDK/examples/hello-plugin` montrent encore des écritures plugin sous `.ideai/hello-plugin.txt` et `.ideai/hello-plugin.json`, alors que l’objectif utilisateur est un modèle type VSCode où l’état propre au plugin ne pollue jamais le projet et disparaît entièrement à la désinstallation.
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
issueRef: "#139"
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1785709504027
|
||||
version: 4
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1785881187678
|
||||
---
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "a5bac900-806d-4e13-866f-7ebae686a43d"
|
||||
number: 139
|
||||
title: "SDK plugins: aligner l’API publique et les exemples sur une persistance plugin-owned hors projet"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "critical"
|
||||
sprint: null
|
||||
links: [{"target":"#138","kind":"dependsOn"}]
|
||||
agentRefs: [{"agentId":"fe887179-933f-47d4-960f-c3b06827f86c","role":"assigned"},{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}]
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1785702774592
|
||||
updatedAt: 1785709504027
|
||||
version: 3
|
||||
updatedAt: 1785881187678
|
||||
version: 4
|
||||
---
|
||||
Implémenter le contrat décidé en #138. Ce ticket ne doit démarrer qu’après arbitrage architecture, car la forme exacte de l’API publique peut varier (`ctx.storage` canonique seul, ou nouvelle API publique de document structuré plugin-scopé hors projet).\n\nPérimètre attendu après #138 :\n1. Faire de la voie canonique plugin-owned celle décidée en #138, et retirer l’incitation actuelle à écrire l’état interne du plugin dans le workspace utilisateur / `.ideai/`.\n2. Mettre à jour `sdk/IdeaSDK/README.md` et `sdk/IdeaSDK/examples/hello-plugin` pour que l’exemple de référence n’écrive plus `.ideai/hello-plugin.txt` ni `.ideai/hello-plugin.json` comme état interne par défaut.\n3. Si #138 décide qu’une nouvelle API SDK publique est nécessaire (par ex. document structuré plugin-scopé hors projet), l’exposer de bout en bout : types SDK, façade runtime publique, adaptateurs hôte nécessaires, et documentation d’usage.\n4. Garantir que la désinstallation du plugin purge aussi l’état plugin-owned correspondant, conformément au contrat #138, sans supprimer les fichiers métier du projet que le plugin aurait modifiés explicitement.\n\nCritères d’acceptation :\n- Le README SDK sépare explicitement données project-owned vs plugin-owned.\n- L’exemple de référence n’emploie plus `.ideai/...` pour stocker son état interne.\n- Si une nouvelle API publique a été décidée en #138, elle est documentée, typée et couverte par des tests.\n- La purge de l’état plugin-owned à la désinstallation est prouvée par tests ciblés sur le chemin réellement choisi par #138.\n- Aucun message public du SDK ne laisse entendre que `.ideai/` est le lieu normal de persistance interne d’un plugin.
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#147"
|
||||
version: 7
|
||||
version: 8
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1785882543204
|
||||
updatedAt: 1785924224928
|
||||
---
|
||||
## Cadrage consolidé
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
id: "64a8f704-df3e-40f4-9148-d39ae4f86af1"
|
||||
number: 147
|
||||
title: "[UI] créer une CLI custom alternative"
|
||||
status: "inProgress"
|
||||
status: "closed"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: []
|
||||
@ -11,8 +11,8 @@ attachments: [{"id":"06f4e827-d693-4190-9c53-186585602006","filename":"task_comp
|
||||
createdBy: {"kind":"user"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1785877963139
|
||||
updatedAt: 1785882543204
|
||||
version: 7
|
||||
updatedAt: 1785924224928
|
||||
version: 8
|
||||
---
|
||||
J'aimerais une CLI alternative pour mes agents. Cette CLI doit contenir bine entendu la barre de chat, ainsi que pour le reste de l'écran les bulle de conversation de l'agent et dde l'utilisateur. Cette CLI doit etre de la meme forme que ce qu'on peut voir dans les CLI des agents IA dans les IDE de code. Je veux voir s'afficher les reflexions de l'IA etc. La CLI communiquera en headless avec l'agent.
|
||||
|
||||
|
||||
6
.ideai/tickets/148/carnet.md
Normal file
6
.ideai/tickets/148/carnet.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
issueRef: "#148"
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1785928836678
|
||||
---
|
||||
17
.ideai/tickets/148/issue.md
Normal file
17
.ideai/tickets/148/issue.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
id: "1ec75572-ecfa-47f9-a051-2eeb434c65a7"
|
||||
number: 148
|
||||
title: "CLI custom: structured session introuvable au lancement"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: [{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}]
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1785927987793
|
||||
updatedAt: 1785928836678
|
||||
version: 3
|
||||
---
|
||||
Bug report utilisateur du 2026-08-05: lors du lancement de la CLI custom, l'app échoue avec `not found: structured session 86248c8d-9c67-4512-872b-87b0213a625e`. Diagnostic Architecture: trou de contrat frontend dans `CustomAgentChatView` — seul `reattach_agent_chat` au mount gère `NOT_FOUND`; `send()` et `cancel()` propagent encore l'erreur brute, et le reattach post-launch avale toute erreur. Objectif: centraliser la récupération de session structurée, relancer proprement sur `NOT_FOUND`, couvrir par tests réels, puis rebuild l'AppImage Linux.
|
||||
@ -1,3 +1,3 @@
|
||||
{
|
||||
"nextNumber": 148
|
||||
"nextNumber": 149
|
||||
}
|
||||
@ -1502,7 +1502,7 @@
|
||||
"issueRef": "#119",
|
||||
"path": "119",
|
||||
"title": "Refondre le système de skills IdeA en capacités agent découvrables",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1510,13 +1510,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785748044163
|
||||
"updatedAt": 1785881187569
|
||||
},
|
||||
{
|
||||
"issueRef": "#120",
|
||||
"path": "120",
|
||||
"title": "Réinvestiguer l’installation de hello-plugin: écran noir / perte d’affichage IdeA",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "critical",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1524,7 +1524,7 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785748044180
|
||||
"updatedAt": 1785881187579
|
||||
},
|
||||
{
|
||||
"issueRef": "#121",
|
||||
@ -1559,7 +1559,7 @@
|
||||
"issueRef": "#123",
|
||||
"path": "123",
|
||||
"title": "SDK plugins: combler les capacités globales manquantes pour les plugins de développement outillés",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1567,13 +1567,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785670261241
|
||||
"updatedAt": 1785881187586
|
||||
},
|
||||
{
|
||||
"issueRef": "#124",
|
||||
"path": "124",
|
||||
"title": "SDK plugins: exposer une API publique d’accès fichiers/workspace",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "critical",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1581,13 +1581,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785666067073
|
||||
"updatedAt": 1785881187593
|
||||
},
|
||||
{
|
||||
"issueRef": "#125",
|
||||
"path": "125",
|
||||
"title": "SDK plugins: exposer une API publique de lancement de commandes et tâches",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "critical",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1595,13 +1595,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785667057177
|
||||
"updatedAt": 1785881187607
|
||||
},
|
||||
{
|
||||
"issueRef": "#126",
|
||||
"path": "126",
|
||||
"title": "SDK plugins: exposer une API publique de découverte/validation d’outillage externe",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1609,13 +1609,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785668062783
|
||||
"updatedAt": 1785881187599
|
||||
},
|
||||
{
|
||||
"issueRef": "#127",
|
||||
"path": "127",
|
||||
"title": "SDK plugins: exposer une API publique d’événements et de watch",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1623,13 +1623,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785669121141
|
||||
"updatedAt": 1785881187615
|
||||
},
|
||||
{
|
||||
"issueRef": "#128",
|
||||
"path": "128",
|
||||
"title": "SDK plugins: typer et stabiliser la runtime UI/layout publique",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "medium",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1637,13 +1637,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785670260985
|
||||
"updatedAt": 1785881187622
|
||||
},
|
||||
{
|
||||
"issueRef": "#129",
|
||||
"path": "129",
|
||||
"title": "SDK plugins: exposer une API publique d’analyse/requête de structure projet",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "medium",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1651,13 +1651,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785666067171
|
||||
"updatedAt": 1785881187631
|
||||
},
|
||||
{
|
||||
"issueRef": "#130",
|
||||
"path": "130",
|
||||
"title": "SDK plugins: exposer une API publique de documents de configuration structurés",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "medium",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
@ -1665,7 +1665,7 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6ced819-b893-4213-b003-9e9dc79b9641"
|
||||
},
|
||||
"updatedAt": 1785669830933
|
||||
"updatedAt": 1785881187639
|
||||
},
|
||||
{
|
||||
"issueRef": "#131",
|
||||
@ -1699,7 +1699,7 @@
|
||||
"issueRef": "#133",
|
||||
"path": "133",
|
||||
"title": "Plugins: contrat de service des assets idea-plugin:// (multi-fichiers ESM) & confinement",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
@ -1709,13 +1709,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "b4730d7f-c54d-4736-8a04-c6203aa2fd49"
|
||||
},
|
||||
"updatedAt": 1785703664966
|
||||
"updatedAt": 1785881187645
|
||||
},
|
||||
{
|
||||
"issueRef": "#134",
|
||||
"path": "134",
|
||||
"title": "Plugins: servir tout fichier confiné du package installé (fix racine multi-fichiers ESM)",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "critical",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
@ -1725,13 +1725,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "b4730d7f-c54d-4736-8a04-c6203aa2fd49"
|
||||
},
|
||||
"updatedAt": 1785707290184
|
||||
"updatedAt": 1785881187652
|
||||
},
|
||||
{
|
||||
"issueRef": "#135",
|
||||
"path": "135",
|
||||
"title": "Plugins: audit confinement install & désinstallation 100% propre",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
@ -1741,13 +1741,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "b4730d7f-c54d-4736-8a04-c6203aa2fd49"
|
||||
},
|
||||
"updatedAt": 1785708498776
|
||||
"updatedAt": 1785881187659
|
||||
},
|
||||
{
|
||||
"issueRef": "#136",
|
||||
"path": "136",
|
||||
"title": "SDK plugins: aligner doc/exemple sur le support multi-fichiers ESM",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
@ -1757,13 +1757,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "b4730d7f-c54d-4736-8a04-c6203aa2fd49"
|
||||
},
|
||||
"updatedAt": 1785708478849
|
||||
"updatedAt": 1785881187667
|
||||
},
|
||||
{
|
||||
"issueRef": "#137",
|
||||
"path": "137",
|
||||
"title": "QA: validation end-to-end plugin multi-fichiers ESM (chargement + désinstallation propre)",
|
||||
"status": "open",
|
||||
"status": "closed",
|
||||
"priority": "critical",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
@ -1773,13 +1773,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "b4730d7f-c54d-4736-8a04-c6203aa2fd49"
|
||||
},
|
||||
"updatedAt": 1785702681696
|
||||
"updatedAt": 1785881139749
|
||||
},
|
||||
{
|
||||
"issueRef": "#138",
|
||||
"path": "138",
|
||||
"title": "SDK plugins: contrat de persistance plugin-owned hors projet et effacement total à la désinstallation",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "critical",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
@ -1789,13 +1789,13 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1785703680849
|
||||
"updatedAt": 1785881187672
|
||||
},
|
||||
{
|
||||
"issueRef": "#139",
|
||||
"path": "139",
|
||||
"title": "SDK plugins: aligner l’API publique et les exemples sur une persistance plugin-owned hors projet",
|
||||
"status": "qa",
|
||||
"status": "closed",
|
||||
"priority": "critical",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
@ -1806,7 +1806,7 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1785709504027
|
||||
"updatedAt": 1785881187678
|
||||
},
|
||||
{
|
||||
"issueRef": "#140",
|
||||
@ -1921,14 +1921,30 @@
|
||||
"issueRef": "#147",
|
||||
"path": "147",
|
||||
"title": "[UI] créer une CLI custom alternative",
|
||||
"status": "inProgress",
|
||||
"status": "closed",
|
||||
"priority": "medium",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
"createdBy": {
|
||||
"kind": "user"
|
||||
},
|
||||
"updatedAt": 1785880207496
|
||||
"updatedAt": 1785924224928
|
||||
},
|
||||
{
|
||||
"issueRef": "#148",
|
||||
"path": "148",
|
||||
"title": "CLI custom: structured session introuvable au lancement",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
"8f7da528-58df-4315-97e9-0562230ecc19"
|
||||
],
|
||||
"createdBy": {
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1785928836678
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user