27 lines
1.7 KiB
Markdown
27 lines
1.7 KiB
Markdown
---
|
||
issueRef: "#255"
|
||
version: 5
|
||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||
updatedAt: 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/`). |