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

1.7 KiB
Raw Blame History

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#255 5
kind agent_id
agent a6c6ea12-bfc6-4bdc-8031-324102dfa34d
1787569961595

Cause racine confirmée côté chemin headless OpenCode de idea_ask_agent.

Constat:

  • Le run headless OpenCode était lancé depuis le run dir isolé sans --dir <project_root> ; une délégation pouvait donc s’exécuter hors du project root attendu.
  • En reprise --session, OpenCode peut aussi sortir sans final JSON/textuel exploitable ; cela se manifestait côté Main par finished without a structured Final response.
  • Le symptôme ne concernait pas la cellule visible de l’agent, ce qui isolait le bug au chemin de délégation headless.

Fix livré:

  • crates/infrastructure/src/session/factory.rs passe désormais ctx.project_root à OpenCodeSession.
  • crates/infrastructure/src/session/opencode.rs ajoute --dir <project_root> à chaque opencode run.
  • En cas de reprise --session sans final exploitable, un retry unique est tenté en session fraîche, borné au même project root.
  • Tests ajoutés: send_passes_project_root_as_opencode_dir_without_changing_process_cwd et resumed_session_without_final_retries_once_as_fresh_project_scoped_run.

Validation:

  • QA verte le 2026-08-24 sur cargo test -p infrastructure session::opencode -- --test-threads=1 (25 tests OK).
  • Limite restante: pas d’e2e live OpenCode inter-projets exécutée contre un binaire/provider externe durant ce cycle.

Git:

  • Branche de travail: fix/255-opencode-cross-project-reattach-final.
  • Commits/merge locaux annoncés par Git: 8bea678 (fix), 6294ceb (chore tickets), merge 9505a33 dans develop.
  • Des changements hors sujet sont restés hors commit (.ideai/tickets/254/*, scripts/).