Files
IdeA/.ideai/tickets/200/carnet.md

3.6 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#200 16
kind agent_id
agent a6c6ea12-bfc6-4bdc-8031-324102dfa34d
1787384954575

2026-08-14 Main

  • Reprise du ticket après livraison initiale du lot Codex-centric.
  • Nouvelle demande utilisateur: étendre le temp IdeA principal à tous les agents, pas seulement Codex, afin que n'importe quel agent puisse s'en servir; ajouter aussi une purge du dossier temporaire IdeA à la fermeture d'IdeA.
  • Décision Architect: temp principal launch-scoped universel à tous les launches; injection TMPDIR/TMP/TEMP pour tous les agents; même source de vérité env+sandbox+writable_roots éventuels; purge eager best-effort du store managed-tmp à la fermeture d'IdeA; TTL/GC conservés comme filet de sécurité.
  • Git: branche locale retenue feature/200-managed-tmp-all-agents-purge depuis develop @ e6f6eb5b.
  • DevBackend: implémentation terminée. Résumé: ManagedTempStore::purge_all + use case PurgeManagedTemp, câblage backend/app-tauri au shutdown, test structured non-Codex pour env+sandbox sans writable_roots provider-specific, conservation des garanties Codex/stop/release/union sans doublons.
  • QA: verdict VERT sur l'extension. Commandes validées: cargo test -p application --test agent_lifecycle launch_pty_allocates_managed_tmp_env_and_sandbox_from_same_path, cargo test -p application --test agent_lifecycle launch_structured_non_codex_uses_managed_tmp_for_env_and_sandbox_without_writable_roots, cargo test -p application --test agent_lifecycle launch_structured_codex_uses_same_managed_tmp_for_env_sandbox_and_writable_roots, cargo test -p application --test agent_lifecycle stop_pty_session_releases_primary_launch_managed_tmp, cargo test -p application --test agent_lifecycle launch_managed_tmp_and_exposure_roots_are_union_without_duplicates, cargo test -p application --test managed_temp purge_managed_temp_calls_store_and_returns_report, cargo test -p infrastructure --test managed_temp purge, cargo test -p app-tauri --lib shutdown_managed_temp_purge_is_attempted_and_non_blocking_on_error, cargo test -p backend --lib --no-run.
  • Suite du cycle: commit/merge local par Git, puis fermeture du ticket.

2026-08-22 Main

  • Réouverture suite à un cas réel observé utilisateur: un agent a annoncé vouloir cloner Flutter dans /tmp malgré le lot livré.
  • Vérification Main: le runtime de launch injecte bien TMPDIR, TMP, TEMP depuis le managed temp principal (crates/application/src/agent/lifecycle.rs, étape 5d) et les tests agent_lifecycle couvrent PTY, structured non-Codex et structured Codex.
  • Analyse Architect: pas un gap de design; suspicion de chemin secondaire ou de comportement agent qui continue d'utiliser/mentionner /tmp explicitement au lieu de suivre l'env temp fourni.
  • Suite proposée: reproduire le cas réel avec le provider/profil concerné, vérifier la valeur réellement vue dans le process agent, puis décider entre fix runtime (si env perdu/contourné) et renfort d'instruction/runtime API (si l'agent hardcode /tmp).
  • Git a retenu une branche de fix dédiée fix/200-managed-tmp-injection-regression depuis develop, HEAD 3344361fc27bace7f68953f7a11623af1d8a7d86.
  • DevBackend: diagnostic retenu = l'env temp était déjà injecté, mais le convention file était généré avant l'allocation du temp, donc aucun signal textuel explicite ne guidait l'agent; correctif implémenté = allocation plus tôt dans le launch path, ajout de IDEA_MANAGED_TMP, et injection conditionnelle d'une instruction “Temporaire IdeA géré” avec le chemin concret; tests agent_lifecycle renforcés.