Commit Graph

  • 1dc892d80b chore(appimage): rebuild AppImage develop — commit dédié v0.51.0 #317 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 120584696 octets, sha256 6c3f6a5292d8f8b886702eba8b6367574c952b3b8144f26bbaa506140057e400, produit depuis develop @ 6128be7e incluant le merge de la feature #317 — bouton Redémarrer l'agent dans la barre supérieure des cellules, restart valable pour les trois modes de présentation headless/TUI native/CLI custom via le use case RestartCellAgentRuntime déléguant au scheduler self-restart existant, commande restart_cell_agent contrat identique Tauri/HTTP, stop borné par timeout typé, relance préservant routage TUI natif/géométrie de cellule/conversation, overlay d'état et confirmation frontend, QA verte ; build réussi par Main: npm --prefix frontend run build puis tauri build --bundles appimage depuis crates/app-tauri) ; convention de tag respectée: y incrémenté pour un rebuild committé sur develop, v0.50.0 -> v0.51.0, tag annoté posé sur ce commit ; commit --allow-empty: l'artefact vit sous target/ gitigné et le bookkeeping carnet/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild ; restant: validation live depuis l'app installée v0.51.0 — le bouton Redémarrer l'agent redémarre l'agent attaché à la cellule depuis chaque mode de présentation, avec conservation du layout/cell/node et états d'échec correctement libellés ; l'AppImage installée n'est pas remplacée par cette opération ; aucun push. Blomios 2026-09-11 15:05:05 +02:00
  • 6128be7e53 merge(backend,application,frontend,domain,web-server,app-tauri): feature #317 — bouton Redémarrer l'agent dans la barre des cellules (QA verte) Blomios 2026-09-11 15:00:51 +02:00
  • 7fb9d8bb86 feat(backend,application,frontend,domain,web-server,app-tauri): bouton Redémarrer l'agent dans la barre supérieure des cellules — #317 (QA verte) Blomios 2026-09-11 15:00:43 +02:00
  • 46449bdf46 chore(appimage): rebuild AppImage develop — commit dédié v0.50.0 #316 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 120543736 octets, sha256 d240c78b705572635d12364d6d26340ad4569a6652f89700acbc13b62f0a0863, produit depuis develop @ aac37d81 incluant le merge du fix #316 — set de couleurs des paramètres projet fiable pour tous les projets: DTO tri-état absent/inchangé vs null/défaut, mise à jour partielle theme_color, garde-fous de course frontend par projet, gardes de focus ViewWindow, QA verte ; build réussi par Main: npm --prefix frontend run build puis tauri build --bundles appimage depuis crates/app-tauri) ; convention de tag respectée: y incrémenté pour un rebuild committé sur develop, v0.49.0 -> v0.50.0, tag annoté posé sur ce commit ; commit --allow-empty: l'artefact vit sous target/ gitigné et le bookkeeping carnet/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild ; restant: validation live depuis l'app installée v0.50.0 — le set de couleurs des paramètres projet s'applique et persiste correctement sur l'ensemble des projets, y compris après changements de projet rapides ; l'AppImage installée n'est pas remplacée par cette opération ; aucun push. Blomios 2026-09-11 13:04:52 +02:00
  • aac37d816d merge(frontend,application,backend,web-server,infrastructure): fix #316 — set de couleurs projet fiable pour tous les projets (QA verte) Blomios 2026-09-11 13:01:13 +02:00
  • bbe8c1d04b fix(frontend,application,backend,web-server,infrastructure): le set de couleurs projet s'applique à tous les projets — #316 (QA verte) Blomios 2026-09-11 13:01:05 +02:00
  • 89937c7cd9 chore(appimage): rebuild AppImage develop — commit dédié v0.49.0 #315 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 120556024 octets, sha256 7055487cd147279a3d0e227e1676627add1f53c314f74bd62c4a7c54717514a2, produit depuis develop @ 40050170 incluant le merge du lot #315 — détachement Paramètres projet, couleurs projet fiables inter-webviews, restauration conversation/images custom CLI après aller-retour projet, retrait menus Projects/Project Context du menu Panneaux, QA verte ; build réussi par Main après QA verte) ; convention de tag respectée: y incrémenté pour un rebuild committé sur develop, v0.48.0 -> v0.49.0, tag annoté posé sur ce commit ; commit --allow-empty: l'artefact vit sous target/ gitignoré et le bookkeeping carnet/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild ; restant: validation live depuis l'app installée v0.49.0 — détachement du panneau Paramètres du projet (et Retry), application persistante des couleurs projet y compris dans les fenêtres détachées, conversation CLI custom restaurée après changement de projet puis retour, images conservées après aller-retour projet, menu Panneaux sans entrées Projects/Project Context ; l'AppImage installée n'est pas remplacée par cette opération ; aucun push. Blomios 2026-09-11 11:31:45 +02:00
  • 40050170dd merge(frontend,application): lot utilisateur #315 — détachement Paramètres projet, couleurs projet, restauration conversation/images custom CLI, menus Panneaux (QA verte) Blomios 2026-09-11 11:27:18 +02:00
  • 45f819e1e8 fix(frontend,application): lot utilisateur #315 — détachement Paramètres projet, couleurs projet fiables, restauration conversation custom CLI, images post-aller-retour projet, retrait menus Projects/Project Context (QA verte) Blomios 2026-09-11 11:27:09 +02:00
  • 352ec2d8b7 chore(tickets): sync store local — clôture #305 (tâches planifiées projet, livrées v0.48.0) et #314 (transcript lié après reboot, corrigé) par Main après rebuild AppImage validé; carnets à jour, index qa->closed; counter inchangé; fichiers non liés (agents/test, chat-drafts, system-permissions, attachments/, tickets 308-313, scripts/) hors périmètre; tag v0.48.0 inchangé sur 1e2cb5e; aucun push Blomios 2026-09-11 10:39:28 +02:00
  • 1e2cb5e2af chore(appimage): rebuild AppImage develop — commit dédié v0.48.0 #305 #314 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 120560120 octets, sha256 d7de4519736eee6b923ba5b9a6e966cea08760173bd85a66ae6422a60a95e0d1, produit depuis develop @ 600aae17 incluant le merge #305 tâches planifiées projet — tool MCP idea_scheduled_task_* + menu utilisateur — et le fix #314 transcript lié indisponible après reboot, QA verte sans bloquant; commandes carnet: npm --prefix frontend run build OK puis depuis crates/app-tauri: mkdir -p /tmp/idea-cargo-home && CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage OK; commit --allow-empty: l'artefact vit sous target/ gitignoré et le bookkeeping carnet/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild; convention de tag respectée: y incrémenté pour un rebuild committé sur develop, v0.47.0 -> v0.48.0, tag annoté posé sur ce commit; restant: validation live depuis l'app installée v0.48.0 — menu projet 'Tâches planifiées' (création/édition/approbation tâche agent/exécution maintenant/suppression), tools MCP idea_scheduled_task_* list/create/run_now, transcript lié restauré après reboot; l'AppImage installée n'est pas remplacée par cette opération; aucun push) Blomios 2026-09-11 10:36:43 +02:00
  • 600aae175f merge(backend,frontend): tâches planifiées projet #305 + fix transcript lié après reboot #314 (QA verte) Blomios 2026-09-11 10:32:21 +02:00
  • 686cf31620 chore(tickets): sync store local — #305 carnet/issue (cadrage UX+Architect, QA verte, livraison) et #314 issue (QA verte); counter/index à jour; tickets 308-313 non liés, agents/test, chat-drafts, system-permissions, attachments/ et scripts/ hors périmètre; aucun push Blomios 2026-09-11 10:32:09 +02:00
  • 7007b2cc7e feat(backend,frontend): tâches planifiées projet — tool MCP idea_scheduled_task_* et menu utilisateur #305, fix transcript lié indisponible après reboot #314 (QA verte) Blomios 2026-09-11 10:32:01 +02:00
  • 72792bb02b merge(backend,frontend): lot utilisateur #310-#313 — horodatage conversation, stop agent robuste, préférence terminal par défaut, paramètres projet (QA verte) Blomios 2026-09-10 21:26:23 +02:00
  • 402a60f213 feat(backend,frontend): lot utilisateur #310 #311 #312 #313 — horodatage conversation, stop agent robuste, préférence terminal par défaut, paramètres projet (QA verte) Blomios 2026-09-10 21:26:16 +02:00
  • fc45594d9a chore(appimage): rebuild AppImage develop — commit dédié v0.47.0 #309 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 119937528 octets, sha256 ffed1647c876057fdf69940801d53759876d1231552d9407d40e1cfa4b0e8ae2, produit depuis develop @ 3eaa3db incluant le merge du fix #309 — writable roots Codex corrects sur projets non-IdeA quel que soit le mode de lancement ; build réussi par Main après QA verte) ; convention de tag respectée: y incrémenté pour un rebuild committé sur develop, v0.46.0 -> v0.47.0, tag annoté posé sur ce commit ; commit --allow-empty: l'artefact vit sous target/ gitignoré et le bookkeeping carnet #309/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild ; restant: validation live des writable roots Codex depuis l'app installée v0.47.0 (first-run TUI native, stop/relaunch, CLI custom, délégation headless sur projet non-IdeA) ; l'AppImage installée n'est pas remplacée par cette opération ; aucun push. Blomios 2026-09-10 19:09:12 +02:00
  • 3eaa3db22b merge(application): writable roots Codex corrects sur projets non-IdeA — #309 (QA verte) Blomios 2026-09-10 19:04:11 +02:00
  • 1f38c61c75 fix(application): writable roots Codex corrects sur projets non-IdeA quel que soit le mode de lancement — #309 (QA verte) Blomios 2026-09-10 19:04:01 +02:00
  • 63c7f79576 merge(projects): suppression d'un projet du registre IdeA sans suppression du dossier disque — #308 (QA verte) Blomios 2026-09-10 18:27:28 +02:00
  • b9f8ed303e feat(backend,domain,infrastructure,application,app-tauri,web-server,frontend): suppression d'un projet du registre IdeA sans toucher son dossier disque — #308 (QA verte) Blomios 2026-09-10 18:27:15 +02:00
  • ca1a27a2b9 chore(tickets): sync store local — #307 QA verte finale backend+frontend, merge develop e1dbe56 (branche fix/307-startup-ghost-states-reconciliation commit 57cf825), carnet v7 section Git; AppImage rebuild 14:21 déjà formalisée v0.46.0 (commit dédié 99b400a + tag annoté, artefact sha256 vérifié identique au contenu develop post-merge — pas de nouveau tag); tickets 299-307 + index/counter + #296 carnet/issue; attachments/ et scripts/ hors périmètre; aucun push Blomios 2026-09-10 17:32:14 +02:00
  • e1dbe56d9c merge(runtime): réconcilie les états et tâches fantômes au démarrage + garde-fou transcript indisponible — #307 (QA verte reconfirmée par Git: rustup run stable cargo fmt --all -- --check, git diff --check, cargo test -p infrastructure --test background_task_store 12/12, -p domain --lib live_state 15/15, -p backend ticket307_activation_reconcile_tests 1/1 + background_tasks_b7 1/1, -p application --test workstate 29/29, cargo check -p backend, frontend npm test CustomAgentChatView 72/72, npm run typecheck; branche fix/307-startup-ghost-states-reconciliation commit 57cf825; correctif borné 6 fichiers: domain live_state correlation_id effacé des orphelins, infrastructure reconcile_project_boot borné par projet + test multi-projets, backend filtrage project_id des complétions + test intégration activate_project + B7 renforcé, frontend CustomAgentChatView état terminal « transcript indisponible » après récupération vide sans spinner infini; artefact: l'AppImage v0.46.0 (99b400a, buildée 14:21 depuis ce worktree incluant le WIP #307 complet) correspond au contenu de develop post-merge — restant validation live fermeture/relance depuis l'app installée; fichiers .ideai/tickets/*, attachments/ et scripts/ hors périmètre et préservés en worktree; aucun push) Blomios 2026-09-10 16:33:16 +02:00
  • 57cf825f05 fix(backend,domain,infrastructure,frontend): réconcilie les états et tâches fantômes au démarrage — #307 (cause: l'activation projet balayait tous les documents background-task sous le root sans filtre project_id et LiveState::reconcile_orphans conservait correlation_id des lignes mortes, laissant après reboot des LED working fantômes et des tâches Running orphelines reprojetées par GetProjectWorkState, tandis qu'un conversationId isolé affichait indéfiniment « Conversation liée — récupération du transcript en cours. »; fix backend: FsBackgroundTaskStore::reconcile_project_boot borne la réconciliation boot au document du projet activé (API reconcile_boot historique préservée), AppBackgroundTaskStore filtre list_undelivered_completions sur project_id, et une ligne active orpheline efface désormais aussi correlation_id en plus de ticket/last_delegation; garde-fou frontend: CustomAgentChatView affiche l'état terminal « Conversation liée — transcript indisponible. » quand openOrAttach terminé n'a récupéré aucun tour, spinner borné à opening, conversationId et cellule préservés; QA verte reconfirmée par Git: rustup run stable cargo fmt --all -- --check, git diff --check, cargo test -p infrastructure --test background_task_store 12/12 dont project_reconcile_does_not_repair_or_report_foreign_project_tasks, -p domain --lib live_state 15/15, -p backend ticket307_activation_reconcile_tests 1/1 (activate_project_clears_stale_live_correlation_and_terminalizes_orphan_task) et background_tasks_b7 1/1 renforcé (orphan évicté de list_open_for_agent), -p application --test workstate 29/29, cargo check -p backend, frontend npm test CustomAgentChatView 72/72 dont garde-fou transcript indisponible, npm run typecheck; risque résiduel documenté: le garde-fou suppose que openOrAttach finit par se résoudre, pas de timeout transport ajouté; fichiers .ideai/tickets/296/*, tickets/299-307/*, counter/index, attachments/ et scripts/ hors périmètre et préservés en worktree; aucun push) Blomios 2026-09-10 16:33:02 +02:00
  • 99b400a59e chore(appimage): rebuild AppImage develop — commit dédié v0.46.0 #306 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 119871992 octets, sha256 e6e22132970357d8a67338edaf4c3b0adbee7a66265e09211e733abfa08825da, produit depuis le worktree develop @ eb86366 incluant le WIP #307 non committé présent au moment du build — correctif #306: recalcule la policy structured Codex sur les reprises custom/headless afin que project root et managed tmp soient transmis en writable_roots, fail-closed sans policy explicite; build exécuté via le skill build-appimage: npm --prefix frontend run build puis depuis crates/app-tauri CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage; commit dédié --allow-empty: l'artefact vit sous target/ gitignoré et le bookkeeping carnet #306/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild; correction topologie Git: le tag v0.46.0 avait d'abord été posé lightweight directement sur le commit de correctif eb86366 via runner IdeA, il est repositionné en tag annoté sur ce commit dédié conformément à la convention — aucune réécriture d'historique, aucun push; convention de tag vx.y.z respectée: y incrémenté pour un rebuild committé sur develop, v0.45.0 -> v0.46.0; restant: validation live écriture project root en delegation headless/CLI custom sur IdeaAndroidPlugin depuis l'app installée, remplacement AppImage et relance manuels; fichiers tickets/296/*, tickets/299-307/*, counter/index, attachments/, scripts/ et WIP #307 (crates/backend/src/lib.rs, crates/domain/src/live_state.rs, crates/infrastructure/src/store/background_task.rs, crates/infrastructure/tests/background_task_store.rs, frontend/src/features/agents/CustomAgentChatView.tsx+tests) hors périmètre et préservés en worktree; aucun push) Blomios 2026-09-10 15:09:37 +02:00
  • eb863664fa fix(codex): preserve project root on structured resume Blomios 2026-09-10 10:53:43 +02:00
  • ee5373e57e merge(agents): ArrowUp rappelle l'historique chat même en multiligne — #304 (QA verte reconfirmée par Git: npm test ciblé CustomAgentChatView 71/71, npm run typecheck OK, git diff --check OK, npm run build OK fourni par QA; branche fix/304-arrowup-chat-multiline-history commit db312bf; correctif borné 2 fichiers frontend: CustomAgentChatView.tsx + tests — ArrowUp rappelle le message précédent quand le curseur est en fin de dernière ligne, navigation caret conservée sinon; fichiers .ideai/* et scripts/ hors périmètre; aucun push) Blomios 2026-09-10 09:53:33 +02:00
  • db312bfde3 fix(frontend): ArrowUp rappelle l'historique chat même en multiligne — #304 (cause: le handler ArrowUp remontait dans le texte dès que le draft faisait plus d'une ligne, au lieu de rappeler le message précédent; fix type terminal: ArrowUp déclenche le rappel historique uniquement quand le curseur est à la fin de la dernière ligne du textarea, sinon navigation caret normale préservée; ArrowDown symétrique en fin de draft pour redescendre dans l'historique; QA verte reconfirmée par Git: npm test -- src/features/agents/CustomAgentChatView.test.tsx 71/71, npm run typecheck OK, git diff --check OK; QA fournie: npm run build OK; fichiers .ideai/* tickets/counter/index/attachments et scripts/ hors périmètre; aucun push) Blomios 2026-09-10 09:53:29 +02:00
  • 5b0759630f chore(appimage): rebuild AppImage develop — commit dédié v0.45.0 #303 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 119843320 octets, sha256 e57cc136f17d887798d09468f2858b1b025cd2386abdc4d517ccb49f464df5b5, produit depuis develop @ bd1c55d incluant le merge #303 — restauration des projets ouverts au redémarrage dans l'ordre mémorisé via open-projects.json, activation partagée watcher/MCP et notification d'échec avec retry/remove; commandes exécutées par Main: npm --prefix frontend run build OK puis depuis crates/app-tauri: mkdir -p /tmp/idea-cargo-home && CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage OK; commit dédié --allow-empty: l'artefact vit sous target/ gitignoré et le bookkeeping carnet #303/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild; convention de tag vx.y.z respectée: y incrémenté pour un rebuild committé sur develop, v0.44.0 -> v0.45.0, tag annoté posé sur ce commit; restant: validation live fermeture/relance depuis l'app installée v0.45.0 (ordre des onglets restauré, silence si tout réussit, notification échec avec Réessayer/Retirer de la reprise); fichiers tickets/296/*, tickets/299-303/*, counter/index, attachments/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-10 08:18:40 +02:00
  • bd1c55d44b merge(projects): restaurer les projets ouverts au redémarrage dans l'ordre mémorisé — #303 (QA verte reconfirmée par Git: rustup run stable cargo fmt --all -- --check, git diff --check, cargo test -p backend open_project_restore_tests 1/1, cargo test -p web-server authorized_open_project_restore_commands_share_the_tauri_contract 1/1, cargo test -p domain 311+ suites vertes, cargo check -p application -p infrastructure -p backend -p app-tauri -p web-server OK, npm run typecheck OK, npm test ciblé 37/37, npm run build OK; branche feature/303-restore-open-projects-order commit 8df80ae; correctif borné 28 fichiers: modèle domain project_restore.rs + port OpenProjectRestoreStore, store infrastructure open-projects.json, 7 use cases application/project/restore.rs, activation centralisée BackendCore::activate_project partagée ouverture/création/restore/retry avec watcher+MCP+run dirs, DTO backend, commandes Tauri + routes HTTP aux contrats identiques, frontend gateway/adapters/useProjects/ProjectsView avec notification échec unique et détails/retry/remove; réserves hors périmètre préexistantes: layout_usecases.rs 2 échecs fixtures plugin, 1 timing infrastructure, 32 échecs npm test web shell/LS7/tickets — suivis séparément; restants: rebuild AppImage demandé (commit dédié + tag, incrément y sur develop -> v0.45.0) puis validation live fermeture/relance depuis l'app installée; fichiers tickets/296/*, tickets/299-303/*, counter/index, attachments/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-10 08:14:35 +02:00
  • 8df80ae67e feat(domain,application,infrastructure,backend,app-tauri,web-server,frontend): restaurer les projets ouverts au redémarrage dans l'ordre mémorisé — #303 (état versionné OpenProjectRestoreState persisté sous <app_data_dir>/open-projects.json via port dédié OpenProjectRestoreStore, distinct du registre projects.json et sans recycler workspace.json; sept use cases cadrés: read/record opened/record closed/save order/restore/retry/remove, mutations sérialisées par mutex applicatif contre les lost updates, tombstones conservés à leur position avec lastFailure et codes stables notFound/inaccessible/store/invalid; prévalidation root par metadata+listing sans interrompre les autres restaurations; activation centralisée BackendCore::activate_project réutilisée par ouverture Tauri/HTTP, création, restore et retry: reconciliation layouts/live-state/background tasks, watcher orchestrateur + serveur MCP, réparation run dirs Claude; cinq commandes exposées Tauri et HTTP avec contrats DTO identiques: restore_open_projects, retry_open_project_restore, remove_project_from_restore, save_open_project_restore_order, read_open_project_restore_state; frontend: DTO de reprise + ProjectGateway étendu, useProjects initialise par listProjects+restoreOpenProjects et reconstruit openTabs dans l'ordre opened sans notification quand tout réussit, notification unique singulier/pluriel avec Voir les détails/Réessayer, détail par projet avec cause française et Retirer de la reprise, retry réussi réinséré à la position mémorisée, onglet conservé si closeProject échoué; saveOpenProjectRestoreOrder exposé non appelé car l'UI ne permet pas encore de réordonnancer; QA verte reconfirmée par Git: rustup run stable cargo fmt --all -- --check, git diff --check, cargo test -p backend open_project_restore_tests 1/1 couvrant absence initiale/ordre/fermeture/inaccessible/retry/notFound/remove/watcher+MCP, cargo test -p web-server authorized_open_project_restore_commands_share_the_tauri_contract 1/1, cargo test -p domain 311+ suites vertes, cargo check -p application -p infrastructure -p backend -p app-tauri -p web-server OK, npm run typecheck OK, npm test ciblé 3 fichiers/37 tests OK, npm run build OK; réserves hors périmètre documentées au carnet: application tests/layout_usecases.rs 2 échecs fixtures plugin package NotFound, infrastructure 1 timing test cancellation process, npm test large 32 échecs web shell/LS7/tickets web — préexistants sans lien avec #303; restant: rebuild AppImage demandé après validation puis validation live fermeture/relance; fichiers tickets/296/*, tickets/299-303/*, counter/index, attachments/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-10 08:14:28 +02:00
  • 3911ce1f4d chore(appimage): rebuild AppImage develop — commit dédié v0.44.0 #302 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 119699960 octets, sha256 d016aab3b643bab61a1ab864a4b5f5e5ab57ff1c493f12d1002918efa5c08c33, produit depuis develop @ 9e9498b incluant le merge #302 — propagation des serveurs MCP des plugins assignés dans les configs de session Claude/Codex/OpenCode pour corriger l'invisibilité des tools MCP plugin par l'agent cible; commandes exécutées par Main: npm --prefix frontend run build OK puis depuis crates/app-tauri: mkdir -p /tmp/idea-cargo-home && CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage OK; commit dédié --allow-empty: l'artefact vit sous target/ gitignoré et le bookkeeping carnet #302/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild; convention de tag vx.y.z respectée: y incrémenté pour un rebuild committé sur develop, v0.43.0 -> v0.44.0, tag annoté posé sur ce commit; restant: validation live UnitySOundTool (unity_detect_project visible et appelable par Main) depuis l'app installée; fichiers tickets/296/*, tickets/299-302/*, counter/index, attachments/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-09 23:41:41 +02:00
  • 9e9498b3be merge(plugins): les serveurs MCP des plugins assignés atteignent la session de l'agent — #302 (QA verte reconfirmée par Git: rustup run stable cargo fmt --all -- --check, git diff --check, cargo test -p application --lib 180/180, cargo test -p application --test agent_lifecycle 111/111, cargo test -p domain plugin --lib 7/7, cargo check -p backend OK, cargo check -p app-tauri OK; branche fix/302-plugin-mcp-tools-not-visible commit 78b379a; cause racine: assignments.tools PluginToolRef persistés mais jamais consommés par le launcher, seules les configs de session ne contenaient que le serveur MCP natif idea donc tool_search ne voyait pas les tools plugin; correctif borné 4 fichiers: domain/plugin.rs nom client stable idea_plugin__<enc>__<enc>, application/project_plugin.rs projection assigned_mcp_servers conditionnée actif/installé/autoStart, application/agent/lifecycle.rs matérialisation+réconciliation Claude .mcp.json / Codex config.toml / OpenCode opencode.json + racines Landlock lecture, backend/lib.rs branchement with_plugin_mcp_resolver; restants: gap OpenAI/direct tools_for_context (client JSON-RPC dédié) à traiter séparément, validation live UnitySOundTool après rebuild AppImage; fichiers tickets/296/*, tickets/299-302/*, counter/index, attachments/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-09 23:37:41 +02:00
  • 78b379ac51 fix(application,domain,backend): les serveurs MCP des plugins assignés atteignent la session de l'agent — #302 (cause: MutateAgentPluginTool persistait bien PluginToolRef dans ProjectPluginSettings mais le launcher ne consommait jamais assignments.tools, les configs de session ne contenaient que le serveur MCP natif idea, donc tool_search restait aveugle aux tools plugin comme unity_detect_project; fix: ProjectPluginResolver::assigned_mcp_servers projette les affectations de l'agent en specs stdio uniquement si plugin activé pour le projet/runtime-actif/installé et serveur autoStart, avec substitution ${pluginRoot}/${appDataDir}, dédup par (pluginId,serverId), et nom client stable idea_plugin__<enc>__<enc> via PluginMcpServerSpec::client_name qui encode chaque octet non alphanumérique pour éviter collisions TOML/namespace; matérialisation au lancement/restart dans .mcp.json + enabledMcpjsonServers (Claude), mcp_servers de .codex/config.toml (Codex), bloc mcp de opencode.json (OpenCode local/cloud), avec réconciliation préservant le wiring idea réel lors d'un restart interne sans McpRuntime et retirant les entrées plugin obsolètes; racines cwd/commande des serveurs assignés ajoutées en lecture au plan Landlock quand un plan existe; aucun changement de .ideai/mcp-tool-permissions.json ni pollution du catalogue natif idea_*; gap documenté: OpenAiCompatibleSession/tools_for_context ne rend pas les tools plugin appelables en direct (nécessite client JSON-RPC dédié), à traiter séparément; QA verte reconfirmée par Git: rustup run stable cargo fmt --all -- --check, git diff --check, cargo test -p application --lib 180/180 dont assigned_mcp_servers 2/2, cargo test -p application --test agent_lifecycle 111/111, cargo test -p domain plugin --lib 7/7 dont plugin_mcp_client_name_is_stable_and_collision_free_for_punctuation, cargo check -p backend OK, cargo check -p app-tauri OK; fichiers tickets/296/*, tickets/299-302/*, counter/index, attachments/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-09 23:37:32 +02:00
  • 0cfbc064b6 chore(appimage): rebuild AppImage develop — commit dédié v0.43.0 #301 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 119523832 octets, sha256 9eb417e53395fdd864da413e9e86da5afbb7bc64653561959631964f8bd7cee0, produit depuis develop @ 941db62 — même source que v0.42.0: aucun changement de code depuis, #300 clos sans correctif core IdeA (diagnostic seul, correctif côté UnityPlugin + réinstall), rebuild à la demande utilisateur pour valider le catalogue tools MCP Unity réinstallé; commandes exécutées par Main: npm --prefix frontend run build OK puis depuis crates/app-tauri: mkdir -p /tmp/idea-cargo-home && CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage OK; commit dédié --allow-empty: l'artefact vit sous target/ gitignoré et le bookkeeping carnet #301/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild; convention de tag vx.y.z respectée: y incrémenté pour un rebuild committé sur develop, v0.42.0 -> v0.43.0, tag annoté posé sur ce commit; fichiers tickets/296/*, tickets/299/*, tickets/300/*, tickets/301/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-09 22:31:00 +02:00
  • 941db62856 chore(appimage): rebuild AppImage develop — commit dédié v0.42.0 #299 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 119523832 octets, sha256 31e400c6ef6caefef658fe11b51b371c8571ea8011555aa20e4d272a3eb2742b, produit depuis develop @ c47bc8d incluant le merge #299 — détachement du panneau MCP en fenêtre OS; commandes exécutées par Main: npm --prefix frontend run build OK puis depuis crates/app-tauri: mkdir -p /tmp/idea-cargo-home && CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage OK; commit dédié --allow-empty: l'artefact vit sous target/ gitignoré et le bookkeeping carnet #299/index/counter reste hors périmètre en worktree — ce message est la trace durable in-repo du rebuild; convention de tag vx.y.z respectée: y incrémenté pour un rebuild committé sur develop, v0.41.0 -> v0.42.0, tag annoté posé sur ce commit; restant: validation live du détachement MCP depuis l'app installée; fichiers tickets/296/*, tickets/299/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-09 21:45:47 +02:00
  • c47bc8d573 merge(views): le panneau MCP se détache en fenêtre OS — #299 (QA verte reconfirmée par Git: rustup run stable cargo fmt --all -- --check, git diff --check, cargo test -p app-tauri view_window_tests 9/9 dont mcp_view_window_contract_is_stable, persisted_identity_accepts_mcp_view_label 1/1, npm test 22/22 sur ViewWindow/ProjectsView.detach/viewPlacement, npm run build tsc+vite OK; branche fix/299-mcp-panel-detach-window commit e4622cd; cause racine: enum Rust ViewPanel sans variante Mcp donc open_view_window rejetait INVALID silencieusement; correctif borné 6 fichiers: variante ViewPanel::Mcp + contrats label view-mcp/url/title/identité persistée, alerte explicite avec Réessayer sur échec de détachement dans ProjectsView; restants: rebuild AppImage + validation live du détachement MCP depuis l'app installée; fichiers tickets/296/*, tickets/299/ et scripts/ hors périmètre; aucun push) Blomios 2026-09-09 21:41:56 +02:00
  • e4622cd753 fix(app-tauri,frontend): le panneau MCP se détache en fenêtre OS — #299 (cause: enum Rust ViewPanel sans variante Mcp, open_view_window("mcp") rejetait INVALID et detachPanel ne touchait le placement qu'en cas de succès donc aucun effet visible ni message; fix: variante ViewPanel::Mcp avec parse/as_str/title "MCP" + contrat stable label view-mcp / url index.html?panel=mcp / decodage view_panel_from_window_label, identite persistee des fenetres view-mcp acceptee a la restauration #50, et ProjectsView surface desormais un echec de detachement via alerte role=alert avec bouton Reessayer au lieu de l'echec silencieux — placement conserve tant que la fenetre OS ne s'ouvre pas; QA verte reconfirmee par Git: rustup run stable cargo fmt --all -- --check, git diff --check, cargo test -p app-tauri view_window_tests 9/9 dont mcp_view_window_contract_is_stable, persisted_identity_accepts_mcp_view_label 1/1, npm test 22/22 sur ViewWindow/ProjectsView.detach/viewPlacement, npm run build tsc+vite OK; fichiers tickets/296/*, tickets/299/, scripts/ et sync counter/index hors perimetre; aucun push) Blomios 2026-09-09 21:41:41 +02:00
  • 602abfea58 chore(tickets): sync store local — clôture #298 par Main après rebuild AppImage validé (issue/carnet v4 statut closed, index à jour; tag v0.41.0 inchangé sur le commit dedie rebuild b463fef, non deplace); fichiers tickets/296/* et scripts/ toujours hors perimetre; aucun push Blomios 2026-09-09 21:07:05 +02:00
  • b463fef6ef chore(appimage): rebuild AppImage develop — commit dedie v0.41.0 #298 (artefact target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 119519736 octets, sha256 8897d85bc2f5aacd0694bf4f2df9baeefc944deb9af36612f3945ca84edc18ca, produit depuis develop @ 6c204d1 incluant le merge #297 — menus Skills/MCP unifies; commandes carnet: npm --prefix frontend run build OK + tauri build --bundles appimage CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 OK; porte le bookkeeping #298: carnet avec convention de tag vx.y.z — x sur master, y sur develop, z sur branches issues de develop — index/counter; regle aussi dans .ideai/CONTEXT.md non versionne par design (.gitignore), le carnet #298 en est la trace durable in-repo; tickets/296/* et scripts/ hors perimetre; tag annote v0.41.0 pose sur ce commit; aucun push) Blomios 2026-09-09 21:06:30 +02:00
  • 6c204d12f9 merge(skills,mcp): menus Skills et MCP unifies avec selection cochable #297 (QA verte reconfirmée par Git: 52 tests cibles sur 7 fichiers + npm run build tsc/vite OK; branche feature/297-skills-mcp-unified-menus commits e6ce7d6 + 2070de9 + 48420ba; restants: rebuild AppImage + validation live des panneaux Skills/MCP depuis l'app installee; saisie manuelle du nom exact retiree — serveurs plugin sans catalogue en tombstones retirables uniquement; reserves non bloquantes: 32 echecs frontend sur 6 fichiers web hors perimetre classes par QA; bookkeeping tickets/296/* et scripts/ non suivis hors perimetre; aucun push) Blomios 2026-09-09 20:40:47 +02:00
  • 48420baf84 chore(tickets): sync store local — clôture #297 par Main après QA verte et commits e6ce7d6 + 2070de9 (issue/carnet v6 statut closed, index à jour); fichiers tickets/296/* et scripts/ toujours hors perimetre; aucun push Blomios 2026-09-09 20:39:36 +02:00
  • 2070de9b88 chore(tickets): sync store local — creation #297 (carnet complet cadrage UX/Architect + implementation DevFrontend + validation QA verte, index/counter) et memoire durable ticket297-skills-mcp-unified-surfaces; porte egalement le statut residuel #296 qa->closed dans l'index partage (sync post-fusion f78f009 non committee); fichiers tickets/296/* et scripts/ laisses hors perimetre; aucun push Blomios 2026-09-09 20:38:46 +02:00
  • e6ce7d6e74 feat(skills,mcp): menus Skills et MCP unifies avec selection cochable des tools #297 (SkillsPanel devient la surface unique d'assignation cochable des skills IdeA + plugins — cible agent, recherche, groupes IdeA/Plugins, tombstones retirables, CRUD catalogue natif conserve, stores separes SkillGateway/PluginGateway; nouveau panneau MCP dedie McpPanel desktop+web — tools MCP IdeA via PermissionGateway et tools MCP plugins catalogues via PluginGateway groupes par plugin/serveur, selection cochable, fin de la saisie manuelle du nom exact, serveurs sans catalogue en tombstones retirables uniquement; retrait complet de la surface Capacites de la fiche agent et suppression d'AgentPluginCapabilities.tsx; PermissionsPanel reserve aux permissions systeme/sandbox, onglet MCP retire; raccourci Parametres > Plugins ouvre Skills avec renvois vers Skills/MCP; integration ProjectsView/ViewPanelBody/viewPlacement/WebWorkspace/webSurfaceCatalog; QA verte: tsc+vite build OK, 28+24 tests cibles OK, suite complete 1223 OK / 32 echecs sur 6 fichiers web hors perimetre classes non bloquants; scripts/ et sync tickets #296 hors perimetre; aucun push) Blomios 2026-09-09 20:38:39 +02:00
  • f78f0093e8 merge(agents,plugins): surface unifiée Capacités de l'agent — skills et tools MCP natifs + plugins #296 (QA verte reconfirmée par Git: application mcp_tool_permissions 5/5 + plugin::tests 37/37, backend ciblés + checks, app-tauri dto 33+30+2, npm test 35/35 + 65/65, npm run build, SDK npm run check; branche feature/296-unified-agent-capabilities commits e283f4a + fda1b2d + 2c3234e, SDK d93e302 mergé 436ed59 + bump pointeur; restants: rebuild AppImage + validation live attribution depuis la fiche agent, clôture statique outils dynamiques réservée #282 — saisie manuelle conservée pour serveurs sans metadata; réserves non bloquantes: suites web/frontend complètes rouges classées par QA — 7 PTY web-server série passant individuellement + too many open files parallèle, 32 échecs frontend sur 6 fichiers web non modifiés; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 19:52:50 +02:00
  • 2c3234e84f chore(tickets): sync store local — #296 passage qa après QA verte (carnet complet surface unifiée Capacités agent + classification suites rouges non bloquantes; index/counter) + #295 mise à jour carnet/statut par Main; scripts/ hors périmètre; aucun push Blomios 2026-09-09 19:52:45 +02:00
  • fda1b2dcbc chore(sdk): pointe le submodule sur develop (post-merge feature/296-unified-agent-capabilities) — metadata statiques mcpServers[].tools #296 (QA verte: npm run check; aucun push) Blomios 2026-09-09 19:52:45 +02:00
  • e283f4a9e4 feat(agents,plugins): surface unifiée Capacités de l'agent — skills et tools MCP natifs + plugins #296 (domain: PluginMcpToolMetadata dans PluginMcpServerContribution, validation hôte alignée SDK — name requis non vide, description optionnelle non vide, doublons rejetés; application: McpToolPermissionCatalogue.vue structurée additive tools {name, description, access read|writeAction} enrichie des descriptions canoniques infrastructure orchestrator mcp tools, use case SetAgentMcpToolAllowed — toggle atomique idempotente d'un tool natif dans l'allowlist explicite d'un agent, refus unknown tool sans mutation, overrides vides retirés; backend DTO: catalogue.tools additive + SetAgentMcpToolAllowedRequestDto, wire camelCase; app-tauri + web-server: commande set_agent_mcp_tool_allowed; frontend: AgentPluginCapabilities devient la surface unifiée — skills natifs assign/unassign, tools natifs via setAgentMcpToolAllowed (catalogue structuré avec fallback legacy), skills/tools plugins avec metadata statiques mcpServers[].tools et saisie manuelle fallback pour serveurs sans catalogue, tombstones indisponibles, bannière redémarrage requis si agent actif; AgentsPanel retire l'ancienne section Skills séparée au profit de la surface unifiée; ProjectPluginsPanel recentré enable/disable avec renvoi Capacités des agents; adapters Tauri/HTTP/mock + permission.test.ts; QA verte reconfirmée par Git: application mcp_tool_permissions 5/5 + plugin::tests 37/37, backend ciblés 3/3 + checks domain/application/backend, app-tauri dto 33/33 + dto_agents 30/30 + dto_plugins 2/2, check web-server, npm test 35/35 + 65/65, npm run build; suites complètes rouges classées non bloquantes par QA: web-server parallèle too many open files + 7 PTY série passant individuellement, frontend 32 échecs sur 6 fichiers web non modifiés reproduits isolément) Blomios 2026-09-09 19:52:38 +02:00
  • 6e4d9eb47e merge(chat): le transcript s'affiche à nouveau après redémarrage automatique d'un agent — #295 (QA verte reconfirmée par Git: diff --check, fmt --all --check, app-tauri chat_bridge 34/34 + dto_chat 24/24, backend 91+7 ignored, web-server websocket_chat_attach 3/3, npm test 77/77, npm run build; branche fix/295-custom-chat-transcript-after-restart commits 1b1476d + 8482fc5; restant: rebuild AppImage + validation live post-restart depuis l'app installée; réserves non bloquantes: 7 tests backend ignored permissions socket, warnings Vite connus; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 18:44:15 +02:00
  • 8482fc5bd2 chore(tickets): sync store local — #295 passage qa après QA verte (carnet complet cause/fix/validations post-restart transcript, capture utilisateur UnitySoundTool attachée; index/counter) + rattrapage store #293/#294 clos (carnets docs SDK contrat MCP plugins et lancement serveurs Node; bumps pointeur IdeaSDK déjà mergés sur develop via 1935e98/b1c173f); scripts/ hors périmètre; aucun push Blomios 2026-09-09 18:44:08 +02:00
  • 1b1476de52 fix(chat): le transcript s'affiche à nouveau après redémarrage automatique d'un agent — #295 (app-tauri ChatBridge: cartes successors/owners, rebind_session déplace sink+scrolloback du logical chat vers la session de remplacement et canonical_session résout les écritures avec l'ancien id sur toutes les opérations register/scrollback/detach/send_output; backend stream: ReplayOutputBridge::rekey prépare le scrollback source devant le destination et invalide les générations pré-rekey des deux pumps; commands: agent_send binde l'owner stable (projectId,agentId) au tour humain et rebind avant le flux de continuation au handoff restart; reattach_agent_chat résout le successeur du bridge puis fallback identité stable projectId/agentId explicite ou owner bindé, renvoie sessionId effectif + conversationId, NOT_FOUND sinon; web-server chat.attach même fallback stale→live par project/agent; DTO ReattachChatDto/ReattachResultDto documentent l'id effectif post-restart; frontend: ReattachAgentChatOptions, conversationId dans ChatAttachedPayload, CustomAgentChatView réattache sur agentRestartCompleted (dédupe par restartId, scrollback appliqué, tours restart préservés), retry identité stable sur NOT_FOUND dans openOrAttach avant fallback launch frais, publication sessionId effectif + conversationId, état vide «Conversation liée» quand une conversation/run/workstate lié existe; QA verte reconfirmée par Git: git diff --check, cargo fmt --all --check, app-tauri chat_bridge 34/34 dont 3 nouveaux restart_rebind + dto_chat 24/24, cargo check -p app-tauri, backend 91+7 ignored permissions socket, web-server websocket_chat_attach 3/3, npm test 77/77 CustomAgentChatView+agentGateway, npm run build; réserves non bloquantes: warnings Vite esbuild/oxc et chunk >500kB connus) Blomios 2026-09-09 18:44:01 +02:00
  • b1c173f7d0 chore(sdk): pointe le submodule sur develop (post-merge feature/294-node-mcp-launch-docs) — doc lancement serveurs MCP JS packagés #294 (pas de ${node}, command relatif résolu sous pluginRoot donc command:"node" invalide sans node packagé, allowAbsoluteCommand pour dépendance hôte absolue explicite; QA verte reconfirmée par Git: npm run check; vérifié contre hôte application/plugin/mod.rs; aucun push) Blomios 2026-09-09 16:24:27 +02:00
  • 1935e98e09 chore(sdk): pointe le submodule sur develop (post-merge feature/293-mcp-tools-exposure-docs) — doc contrat tools MCP plugins #293 (contributes.mcpServers seul canal, pas de registerMcpTool dans activate; QA verte reconfirmée par Git: npm run check; aucun push) Blomios 2026-09-09 16:02:23 +02:00
  • 707f470088 merge(frontend): les agents Git TUI Native ne bouclent plus au reattach — #292 (le replay scrollback xterm ne capture plus les réponses synthétiques ESC[1;1R/modes dans pending, donc adopt ne les réinjecte plus au PTY; CPU 100% UnitySoundTool/UnityPlugin; QA verte reconfirmée par Git: git diff --check, TerminalView.scrollback 2/2; QA fournie: 3 fichiers/27 tests, npm run build, AppImage 0.3.0 rebuild sha256 4165521e4248ec9f71af4ceb1c89d3aa54e8119a1ccf0f70d15268bdc67eaf94; branche fix/292-tui-native-git-agents-loop commits 00a3222 + 9fb87a6; restant: validation live UI sur les trois projets depuis l'AppImage installée; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 14:30:54 +02:00
  • 9fb87a6b74 chore(tickets): sync store local — #292 passage qa après QA verte (carnet complet cause/fix/validations, index/counter; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 14:30:45 +02:00
  • 00a32220d1 fix(terminals): le reattach xterm ne réinjecte plus les réponses synthétiques du replay scrollback — #292 (term.onData n'est actif qu'après le callback final du term.write(scrollback): les réponses aux requêtes historiques ESC[1;1R/modes ne peuplent plus pending ni ne sont réécrites dans le PTY par adopt, ce qui bouclait CPU 100% sur les agents Git TUI Native d'UnitySoundTool/UnityPlugin; activation de l'input aussi sur les chemins fallback reattach-échoué et terminal neuf; test de régression: zéro write PTY pendant le replay synthétique puis exactement un write pour Hello\r; QA verte: 3 fichiers/27 tests TerminalView, npm run build frontend, AppImage 0.3.0 rebuild sha256 4165521e...; réserve: repro live UI trois projets non validée depuis sandbox) Blomios 2026-09-09 14:30:39 +02:00
  • c3e8e5f4d2 chore(tickets): sync store local — carnet #291 v7 trace rebuild AppImage (npm frontend build + tauri build --bundles appimage OK; artefact IdeA_0.3.0_amd64.AppImage 114M sha256 8629ffef8939a08ff2b1008be515e778004cc34413a988cbf37ad71c2e3083dc; remplacement AppImage installee + relance restants manuels; scripts/ hors perimetre; aucun push) Blomios 2026-09-09 10:02:40 +02:00
  • 2ec1845b43 chore(tickets): sync store local — #291 clos par Main (statut qa->closed dans issue/index, carnet v6; livraison mergee via b8fbe3e; scripts/ hors perimetre; aucun push) Blomios 2026-09-09 09:56:27 +02:00
  • b8fbe3efc3 merge(frontend): la conversation survit au redemarrage agent et a l'aller-retour projet — #291 (QA verte reconfirmee par Git: ProjectsView.ls7 scenario "rehydrates the same conversation", ConversationViewer + useConversationThread 19/19, npm run build, git diff --check; branche fix/291-keep-conversation-after-restart-project-roundtrip commit 2c72205 + chore(tickets) 503f6e5; restants: rebuild AppImage + validation live restart puis aller-retour projet; reserves hors perimetre preexistantes: 3 echecs historiques ProjectsView.ls7 + 1 WebDesktopWorkspace (libelle Project context); scripts/ hors perimetre; aucun push) Blomios 2026-09-09 09:55:26 +02:00
  • 503f6e5095 chore(tickets): sync store local — #291 carnet complet (cadrage UX/Architect, livraison DevFrontend, validation QA verte, section Git) + entree index/counter; #290 carnet complete sections Git + build AppImage du merge 162de27; scripts/ hors perimetre; aucun push Blomios 2026-09-09 09:55:20 +02:00
  • 2c72205937 fix(frontend): la conversation survit au redemarrage agent et a l'aller-retour projet — #291 (ProjectsView/WebWorkspace conservent le pointeur viewerConversation mais ne rendent le viewer que si sa conversation appartient au projet actif: le projet intermediaire affiche sa propre surface sans fuite, le retour au projet source remonte la vue avec la meme cle project/conversation et relit le transcript persiste; useConversationThread ne vide plus le buffer au changement de conversation cible, un contenu deja visible reste affiche pendant relecture ou echec; l'erreur de lecture devient "Impossible de recharger la conversation." avec bouton Reessayer branchant refreshTail sans retirer les tours visibles; QA verte reconfirmee par Git: ProjectsView.ls7 scenario "rehydrates the same conversation" (restart agent, switch alpha->beta->alpha, deux readPage identiques sur {projectId, conversationId}), ConversationViewer + useConversationThread 19/19, npm run build, git diff --check; reserves hors perimetre preexistantes: 3 echecs historiques ProjectsView.ls7 (helper panneau Work/open conversation) + 1 echec WebDesktopWorkspace (libelle anglais Project context); validation runtime AppImage/live restante; aucun push) Blomios 2026-09-09 09:54:52 +02:00
  • 162de27b1b merge(backend,orchestrator,chat): l'objectif suspendu survit au self-restart — #290 regression partielle (QA verte reconfirmee par Git avant commit: backend self_restart_contract_tests 3/3, orchestrator_service restart 10/10, workstate_actions 9/9, app-tauri chat_bridge 31/31, web-server websocket_chat_send 3/3, cargo check --workspace, fmt --check, diff --check; branche fix/290-self-restart-resume-objective commit 18c1b01; restants: rebuild AppImage + validation live reprise de l'objectif apres restart depuis le chat; réserves hors périmètre préexistantes: 7 échecs fixture PTY web-server + 2 échecs plugin application; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 09:17:43 +02:00
  • 18c1b01afb fix(backend,orchestrator,chat): l'objectif suspendu guide le premier tour post-restart — #290 regression partielle (register_suspended_turn capture la demande utilisateur exacte au point d'entrée chat agent_send/chat.send avec source diagnostique, RestartRendezvousCoordinator conserve tour/objectif/restart_attempt_id, take_continuation consommable exactement une fois et seulement par la tentative courante: suspended_restart_continuation_prompt place l'objectif utilisateur avant toute consigne generique et StructuredHumanTurnTransition::Resume porte le prompt host-provided injecte au runtime de remplacement; nettoyage du tour suspendu sur succes, echec, annulation et abandon/expiration; diagnostics projet/agent/turn_id/restart_attempt_id/source; rendez-vous inter-agents #289 inchanges; QA verte reconfirmee par Git: cargo check --workspace, backend self_restart_contract_tests 3/3, orchestrator_service restart 10/10, workstate_actions 9/9, app-tauri chat_bridge 31/31, web-server websocket_chat_send 3/3, fmt --check, diff --check; restants: rebuild AppImage + validation live reprise objectif apres restart; carnet #290 iteration regression + passage store qa inclus; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 09:17:36 +02:00
  • 93a1c23a29 chore(tickets): sync store local — reopen #290 régression partielle reprise sans objectif suspendu (fix d03300a valable sur Final prématuré/chat, handoff de reprise à cadrer et implémenter; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 08:58:02 +02:00
  • 546c7b7a21 merge(backend,orchestrator,chat): tour humain agent_send survit au self-restart — #290 (QA verte: backend self_restart_contract_tests 3/3, orchestrator_service restart 8/8, workstate_actions 9/9, app-tauri chat_bridge 31/31, web-server websocket_chat_send 3/3, cargo check --workspace, fmt --check, diff --check; branche fix/290-restart-agent-send-premature-final commit d03300a; restants: rebuild AppImage + validation live restart depuis chat humain; réserves hors périmètre: 7 échecs fixture PTY web-server + 2 échecs plugin application préexistants; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 08:38:39 +02:00
  • d03300a20f fix(backend,orchestrator,chat): tour humain agent_send survit au self-restart — #290 (le tour humain direct agent_send/ws chat.send s'enregistre au RestartRendezvousCoordinator via StructuredHumanTurnGuard: Final/Error de l'ancien provider devient transition de contrôle et non le Final logique; transition_after_provider_terminal_async attend Ready puis accept_ready acquitte le handoff et libère le scheduler, Resume => drain de la session de remplacement avec SELF_RESTART_CONTINUATION_PROMPT, seul le terminal du remplacement est transmis au chat; Failed/Cancelled surfacés explicitement avec libération Busy/FIFO; send_with_tap en erreur pendant restart actif traité comme teardown attendu (stream vide puis attente du remplacement, plus de Final prématuré ni chat bloqué); StopLiveAgent câblé with_restart_rendezvous: stop utilisateur annule le rendez-vous restart; RestartRendezvousRegistration rendu public (state/changed/accept_ready); QA verte: backend self_restart_contract_tests 3/3 dont 2 nouveaux (old terminal ignoré + handoff accepté, failure explicite + busy libéré), application orchestrator_service restart 8/8 dont registration directe du rendez-vous, workstate_actions 9/9, app-tauri chat_bridge 31/31, web-server websocket_chat_send 3/3, cargo check --workspace, fmt --check, diff --check — reconfirmés par Git avant commit; réserves hors périmètre préexistantes: 7 échecs fixture PTY web-server + 2 échecs plugin application; carnet #290 + clôture store #289 inclus; scripts/ hors périmètre; aucun push) Blomios 2026-09-09 08:38:29 +02:00
  • 321ebdaab9 merge(orchestrator,agent): ask_agent survit au restart de la cible same-project et cross-project — #289 (QA verte: orchestrator_service 87/87 dont 6 tests restart, application lib 171/171, backend 89+7 ignored, cargo check -p backend, fmt --check; branche fix/289-ask-agent-during-target-restart commit d6d9891; restants: rebuild AppImage + validation live ask_agent sur cible restartée same-project et cross-project; scripts/ hors périmètre; aucun push) Blomios 2026-09-08 22:53:58 +02:00
  • d6d989187b fix(orchestrator,agent): ask_agent survit au restart de la cible same-project et cross-project — #289 (RestartRendezvousCoordinator stable par RuntimeAgentKey (projectId, agentId) partagé entre le rendez-vous ask_structured et le scheduler AppAgentSelfRestarter: l'ask actif garde verrou de tour, ticket logique et conversation_id, abandonne le drain de l'ancienne session sans no-reply puis capture le Final de continuation de la session relancée (SELF_RESTART_CONTINUATION_PROMPT partagé, un seul tour de continuation); branche delegated du scheduler: pas de preempt/cancel_head/mark_idle locaux, ready + wait_for_handoff, échecs restart propagés explicitement et cancel en cascade sans relance de continuation; watchdog d'inactivité réarmé par l'activité de contrôle restart; corrélation cross-project (requesterProjectId, requesterAgentId, correlationId) conservée jusqu'au résultat post-restart puis supprimée; stop_agent d'une cible en restart annule le rendez-vous au lieu d'un NotFound; le scheduler standalone conserve son comportement historique sans ask actif; QA verte: orchestrator_service 87/87 dont 6 tests restart (final post-restart, nettoyage busy/workstate/registre, corrélation cross-project, failure explicite, cancel cross-project + stop same-project pendant restart), application lib 171/171 dont watchdog réarmé, backend 89+7 ignored, cargo check -p backend, fmt --check; réserves: pas d'E2E AppImage/vrai provider, 7 tests backend ignorés bind socket local; scripts/ hors périmètre; aucun push) Blomios 2026-09-08 22:53:52 +02:00
  • db91b00699 chore(tickets): sync store local — #288 clos (frontmatter carnet agent_id QA corrige en UUID par Main; section Git/AppImage ajoutee: commit 6353757 + merge local c646371 consignes, AppImage reconstruite, remplacement/relance manuels restants; aucun push) Blomios 2026-09-08 22:10:23 +02:00
  • c646371d83 merge(mcp,orchestrator,frontend): tool MCP idea_restart_self, redemarrage autonome d'un agent — #288 (QA verte: infrastructure mcp_server restart_self 1/1 + restart-self 3/3, backend self_restart_contract 1/1 + events wire 1/1, frontend 3 suites 92/92 + npm build, cargo check --workspace, fmt --check, diff --check; branche feature/288-agent-self-restart-mcp commit 6353757; reserves hors perimetre confirmees: web-server 7 echecs fixture PTY preexistante + 34 echecs npm test globaux chantier listProjectSettings/web; restants: rebuild AppImage + validation live idea_restart_self depuis un agent reel; scripts/ hors perimetre; aucun push) Blomios 2026-09-08 22:04:27 +02:00
  • 63537572b8 feat(mcp,orchestrator,frontend): tool idea_restart_self, redemarrage autonome d'un agent — #288 (tool core self-only via requester MCP handshake, retour immediat {restartId, status: scheduled} puis orchestration detachee: snapshot reprise, stop PTY/structured, liberation Busy/mailbox, relance LaunchAgent meme conversation_id fresh_start=false, injection interne invisible; events domain/wire agentRestartRequested/PhaseChanged/Completed/Failed phases stopping/releasingInput/launching/resuming; CLI custom: separateurs exacts redemarrage de l'agent + etat termine/echoue, deduplication (restartId, event), verrouillage composer; TUI native: overlay AgentRestartOverlay sans injection xterm, progress/annonces projetes jusqu'a idle; QA verte: mcp_server restart_self 1/1, restart-self 3/3, backend self_restart_contract + events wire 2/2, frontend 3 suites 92/92, npm build, cargo check --workspace, fmt --check, diff --check; reserves hors perimetre: web-server 103/110 fixture PTY preexistante, 34 echecs npm test globaux listProjectSettings/web hors #288; scripts/ hors perimetre) Blomios 2026-09-08 22:04:18 +02:00
  • ee259dc93a chore(tickets): sync store local — #287 clos (fix rendezvous cross-project, merge 5d62515) + création #288 (tool MCP idea_restart_self, redémarrage autonome agent; branchage feature/288-agent-self-restart-mcp; exclusion scripts/restart-idea-over-ssh.sh hors périmètre) Blomios 2026-09-08 21:18:56 +02:00
  • 5d62515d4e merge(orchestrator,agent): rendezvous cross-project réarmé par jeton d'activité live — #287 (QA verte: orchestrator_service 81/81, rendezvous 5/5, mcp_server 40/40, backend 87+7 ignored, cargo fmt --check; branche fix/287-cross-project-rendezvous-timeout; restants: rebuild AppImage + validation live cross-project) Blomios 2026-09-08 20:29:57 +02:00
  • 77169101cb fix(orchestrator,agent): rendezvous cross-project réarmé par jeton d'activité live model-agnostique — #287 (le watchdog d'inactivité du rendez-vous expirait à 600s sur un tour structured actif car seul le transcript Claude servait de signe de vie; nouveau drain_with_readiness_announcements_and_activity_outcome exposant un jeton monotone AtomicU64 incrémenté par chaque ReplyEvent non terminal du tap send_with_tap, passé au watchdog via AskWatchdogActivity pour réarmer la fenêtre quelle que soit l'adapter; la sonde transcript devient fallback externe; QA verte: orchestrator_service 81/81, rendezvous 5/5, mcp_server 40/40, backend 87+7 ignored, cargo fmt --check; scripts/ hors périmètre) Blomios 2026-09-08 20:29:48 +02:00
  • 4484a02b16 chore(tickets): sync store local — création #286 + #287 (timeout rendezvous cross-project malgré activité cible, critique; fix planifié sur fix/287-cross-project-rendezvous-timeout; exclusion scripts/restart-idea-over-ssh.sh hors périmètre) Blomios 2026-09-08 20:13:09 +02:00
  • 251256573f chore(tickets): carnet #285 — rebuild AppImage post-merge consigné (merges locaux parent b681433 / SDK e3a0f46, artefact IdeA_0.3.0_amd64.AppImage produit par Main depuis develop; restants manuels: remplacement AppImage + relance + validation live ctx.pluginRoot et contact cross-project #284 — condition de clôture #284/#285; aucun push) Blomios 2026-09-08 18:40:31 +02:00
  • 270c740afc chore(tickets): sync store local — #285 rouvert puis implémenté: pluginRoot officiel activate(ctx) (branches feature/285-plugin-root-runtime-api parent+SDK, merges develop b681433/e3a0f46, QA verte multi-suites; rebuild AppImage + validation live ctx.pluginRoot restants à exécuter) + note memory #284 cross-project rattrapée (exclusion scripts/restart-idea-over-ssh.sh hors périmètre) Blomios 2026-09-08 18:35:39 +02:00
  • b681433cdd merge(plugins,host): pluginRoot officiel dans activate(ctx) — #285 (QA verte: cargo 5 crates check, runtime_catalog 5/5, plugin_install_load 5/5, dto_plugins 2/2, frontend typecheck + 33 tests, SDK npm run check; branche feature/285-plugin-root-runtime-api parent+submodule) Blomios 2026-09-08 18:35:34 +02:00
  • e499a0fd34 feat(plugins,host): pluginRoot officiel transmis au contexte activate(ctx) des plugins — #285 (domain ports + infrastructure plugin: racine du package installé résolue depuis la même source de vérité que la substitution manifest ${pluginRoot}; application runtime_catalog + slash_command; backend dto + app-tauri dto_plugins; frontend domain + plugins runtime loader transmettent pluginRoot au contexte activé; bump pointeur IdeaSDK e3a0f46 via feature/285-plugin-root-runtime-api; QA verte: cargo check domain/application/infrastructure/backend/app-tauri, runtime_catalog 5/5, plugin_install_load 5/5, dto_plugins 2/2, frontend typecheck + 33 tests/3 fichiers, cargo fmt --check, git diff --check; réserves: rebuild AppImage + validation live ctx.pluginRoot dans le binaire actif restants) Blomios 2026-09-08 18:35:34 +02:00
  • 46a1d1a31b chore(tickets): sync store local — #284 contact cross-project + assignation plugin par agent (branche fix/284-cross-project-contact-plugin-assignment, merge develop d7d7f67, ticket en qa — à clore après validation live AppImage par l'utilisateur, remplacement/relance manuels restants; QA verte: orchestrator_service 79/79, mcp_server 40/40, domain live_state 15/15, frontend 3 tests, npm build frontend) + #285 docs SDK pluginRoot fermé (bump pointeur IdeaSDK 68019de sur develop via feature/285-plugin-root-scope-docs; exclusion scripts/restart-idea-over-ssh.sh hors périmètre) Blomios 2026-09-08 17:35:20 +02:00
  • d7d7f67f7f merge(orchestrator,plugins): contact cross-project corrélé + assignation plugin par agent découvrable — #284 (QA verte: orchestrator_service 79/79, mcp_server 40/40, domain live_state 15/15, frontend ProjectPluginSettings 3 tests, npm run build frontend, cargo fmt; AppImage IdeA_0.3.0_amd64.AppImage rebuildée, validation live après remplacement/relance manuels; branche fix/284-cross-project-contact-plugin-assignment) Blomios 2026-09-08 17:35:12 +02:00
  • 8bfcb3a534 fix(orchestrator,plugins): contact cross-project corrélé + découvrabilité assignation plugin par agent — #284 (backend: registre des demandes actives clé projet/agent appelant + correlationId, refus corrélation vide/dupliquée, cancel routé après correspondance exacte sans redirection vers une autre cible, appelant projeté Waiting→Done dans le live-state de son propre projet avec correlationId exposé par idea_workstate_read, gardes RAII réconcilient l'abandon du futur, tools ask/cancel WriteAction deny-by-default dont le refus indique où activer la permission; frontend: action Attribuer aux agents depuis Settings projet > Plugins ouvrant le panneau Agents flottant/ancré/détaché, section Capabilities de plugins — {agent} explicitant attribution skills et tools MCP des plugins activés; QA verte: orchestrator_service 79/79, mcp_server 40/40, domain live_state 15/15, correlated_update_is_preserved_in_the_lean_projection 1/1, frontend ProjectPluginSettings 3 tests, npm run build frontend, cargo fmt --check, git diff --check; AppImage IdeA_0.3.0_amd64.AppImage rebuildée workflow build-appimage, validation live cross-project restant après remplacement/relance manuels; réserves: registre corrélation en mémoire non persisté, surface web unsupported, catalogue dynamique tools MCP = réserve #282) Blomios 2026-09-08 17:35:04 +02:00
  • df5728a50a chore(tickets): sync store local — #283 docs SDK assignation skills plugin aux agents (bump pointeur IdeaSDK 7db819c sur develop via feature/283-plugin-skill-assignment-docs, QA verte: npm run build + liens docs; note memory #282 project-plugin-skills-multi-harness-contract rattrapée; exclusion scripts/restart-idea-over-ssh.sh hors périmètre) Blomios 2026-09-08 16:34:33 +02:00
  • bcbf6053de chore(tickets): sync store local — cycle #282 paramètres projet plugins + attribution skills/tools agents (branche feature/282-project-plugin-settings-multi-harness, merge develop 6592fad, ticket fermé; QA verte: application, project_plugin_settings 3/3, dto_plugins 2/2, structured_launch_d3 26/26, catalogue mcp 7/7, frontend 5 tests, npm build frontend; AppImage IdeA_0.3.0_amd64.AppImage rebuildée post-merge 2026-09-08 15:53, 114M — correctif actif après remplacement AppImage installée + relance, étape manuelle; exclusion scripts/restart-idea-over-ssh.sh hors périmètre) Blomios 2026-09-08 15:54:23 +02:00
  • 6592fad83a merge(plugins): paramètres projet plugins + attribution skills/tools agents multi-harness — #282 (QA verte: cargo test -p application, project_plugin_settings 3/3, dto_plugins 2/2, structured_launch_d3 26/26, catalogue mcp 7/7, frontend 5 tests, npm build frontend; branche feature/282-project-plugin-settings-multi-harness) Blomios 2026-09-08 15:49:11 +02:00
  • 86ed0aa00b feat(plugins): paramètres projet plugins + attribution skills/tools aux agents — #282 (manifeste accepte contributes.skills IdeA-native multi-harness; store .ideai/project-plugins.json v1: enable plugin par projet + assignments skills/tools par agent; refs + use cases settings/assign/unassign; resolver skills pour idea_skill_read et injection catalogue lancement agent; permissions MCP dynamiques projetées par harness Claude Code/Codex/OpenCode; tombstones uninstall, hot reload recalcule catalogue et marque assignments cassés; frontend: Settings projet Plugins, détail capabilities, attribution agent, catalogue permissions; bump pointeur IdeaSDK 6eb8db3; QA verte: cargo test -p application, project_plugin_settings 3/3, dto_plugins 2/2, structured_launch_d3 26/26, catalogue mcp 7/7, frontend 5 tests ProjectPluginSettings/plugin, npm build frontend) Blomios 2026-09-08 15:48:57 +02:00
  • bdc20a134a chore(tickets): sync store local — #280 docs SDK clarifiées (bump pointeur IdeaSDK 1239104, ticket, consigne main.md doc SDK systématique sur évolution SDK, note memory #279 plugin-soft-refresh-and-agent-install-tools rattrapée) + #281 fix live-state cross-project (ticket fermé, note memory cross-project-ask-drop-cleans-live-state, merge 566e3c3) + #282 ouvert (Paramètres projet plugins/skills/tools agents); exclusion scripts/restart-idea-over-ssh.sh hors périmètre Blomios 2026-09-08 14:54:29 +02:00
  • 4745b65a12 merge(orchestrator): fix live-state cross-project ask après timeout — #281 (QA verte: cargo test -p application --test orchestrator_service 78/78, fmt, build frontend, AppImage rebuildée; branche fix/281-cross-project-ask-live-state) Blomios 2026-09-08 14:54:09 +02:00
  • 566e3c3732 fix(orchestrator): LiveStateTurnGuard ramène la LED live-state à Done au drop du futur ask cross-project — #281 (RAII armé après publication Working, désarmé sur sorties explicites mark_target_done_best_effort, Drop spawn best-effort UpdateLiveState Done avec last_delegation=ticket; test régression dropped_ask_future_marks_live_state_done; QA verte: cargo fmt, orchestrator_service 78/78, npm build frontend, AppImage rebuildée 2026-09-08 13:52; réserve documentée: échec préexistant launch_conventionfile_injects_assigned_skills_in_order hors périmètre) Blomios 2026-09-08 14:54:09 +02:00
  • 3ff62082eb chore(tickets): sync store local — cycles #278 rebuild AppImage post-#277 et #279 plugins sans restart install_from_directory/soft refresh UI (branches fix/277-agent-cell-busy-cancel→feature/279-plugin-soft-refresh, merges develop e12b8f6/0b709b9, QA verte, tickets fermés; exclusion scripts/restart-idea-over-ssh.sh hors périmètre) Blomios 2026-09-08 13:13:17 +02:00
  • 0b709b9839 merge(plugins): install_from_directory agent-facing + soft refresh UI des contributions après install/reload — #279 (QA verte ré-exécutée: application 2/2, mcp_server 39/39, plugin_install_load 5/5, frontend 35/35, typecheck; ticket #279 non fermé: rebuild AppImage restant; branche feature/279-plugin-soft-refresh) Blomios 2026-09-08 13:09:03 +02:00
  • 44dc67722c feat(plugins): soft refresh UI des contributions plugins après install/reload — frontend #279 (PluginRuntimeProvider refreshRuntime sur événements pluginInstalled/pluginReloaded, dispose de l'ancien registry, catalogue listRuntimeContributions, gateway mock; QA verte ré-exécutée: 35/35 tests features/plugins dont nouveau PluginRuntimeProvider.test, typecheck OK) Blomios 2026-09-08 13:08:54 +02:00
  • 979965aef3 feat(plugins): tool MCP agent-facing idea_plugin_install_from_directory + reload couvrant le refresh UI — backend #279 (use case InstallPluginFromDirectory avec expectedPluginId, confinement répertoire sous project root: rejet absolu hors root/fichier/symlink escaping, soft refresh + événements plugin_installed/plugin_reloaded relayés, wiring app-tauri; QA verte ré-exécutée: application 2/2 directory_install, infrastructure mcp_server 39/39 dont routing plugin_install/plugin_reload, plugin_install_load 5/5) Blomios 2026-09-08 13:08:48 +02:00
  • 391bff82ee chore(tickets): sync store local — cycle #277 retrait affichages Busy/Cancel cellule agent (branche fix/277-agent-cell-busy-cancel, merge develop e12b8f6, QA verte 25/25, ticket fermé; exclusion scripts/restart-idea-over-ssh.sh hors périmètre) Blomios 2026-09-08 12:15:20 +02:00
  • e12b8f6b0e merge(layout): retrait des affichages Busy et Cancel de la cellule agent — #277 (QA verte: 25/25 tests LayoutGrid ciblés ré-exécutés avant merge; branche fix/277-agent-cell-busy-cancel) Blomios 2026-09-08 12:14:36 +02:00
  • bf9ec9b358 fix(layout): retirer les affichages Busy et Cancel de la cellule agent au lancement sur une tâche — #277 (retrait badge Busy, bouton Cancel/interruptCurrentTurn et layer z turnActions; états inbox/tâches de fond et composer busy préservés; QA verte ré-exécutée: 25/25 tests LayoutGrid cellControlsLayering/chat) Blomios 2026-09-08 12:14:30 +02:00
  • fc3d124574 feat(cli): historique de messages navigable haut/bas dans la CLI custom + contrôles de cellule visibles pendant busy — persistance localStorage du transcript custom (CustomAgentChatView), layering des contrôles sous l'overlay busy (LayoutGrid), bump pointeur IdeaSDK (docs plugin minimal + hot reload) (QA verte: 65 tests CustomAgentChatView, 25 tests LayoutGrid chat/layering, npm build frontend OK) Blomios 2026-09-08 09:39:35 +02:00
  • 154728b828 merge(agents): writer unique du contexte projet global configurable par agent — #276 (QA verte: cargo fmt --check, tests cibles application/app-tauri/infrastructure/backend, cargo check backend/app-tauri, npm typecheck, 69/69 tests frontend agents/adapters; arbitrage versionnage: .ideai/CONTEXT.md ignore, mcp-tool-permissions.json de-track) Blomios 2026-09-07 22:49:34 +02:00
  • 68b96e7b55 chore(tickets): sync store local — cycle #276 writer du contexte global (branche feature/276-orchestrator-context-writer, QA verte) + reliquats lots #269-#275, note memory plugin hot reload, permissions systeme agent Main Blomios 2026-09-07 22:49:29 +02:00
  • ee6f6531ea chore(gitignore): ignore le contexte global .ideai/CONTEXT.md (runtime last-writer-wins, writer unique #276 — le durable partage vit dans CLAUDE.md/memory versionnes) et de-track mcp-tool-permissions.json deja ignore mais encore suivi Blomios 2026-09-07 22:49:23 +02:00