--- name: codex-network-access-config-fix description: memory note codex-network-access-config-fix metadata: type: project --- # Correctif accès réseau Codex via `sandbox_workspace_write.network_access` Le 2026-07-26, le diagnostic live a montré qu'un agent Codex lancé par IdeA échouait sur `curl` même avec IP forcée. La cause n'était pas seulement DNS ni une session à relancer : Codex CLI 0.145 attend la configuration officielle `sandbox_workspace_write.network_access=true` pour autoriser le réseau dans `workspace-write`. Correctif implémenté et validé par QA dans les sources : - Projection Codex `$CODEX_HOME/config.toml` : gérer `[sandbox_workspace_write] network_access = true/false` via `MergeToml`, pour éviter un stale `true`. - `codex exec` structuré : passer `-c sandbox_workspace_write.network_access=` quand la policy est connue. - La permission système IdeA reste séparée des permissions fichiers/bash : seul `NetworkPolicy::Allow` active `network_access=true`; `Deny`, `Ask` et `None` donnent `false`. - L'env `CODEX_SANDBOX_NETWORK_DISABLED` est encore upserté comme garde anti-héritage stale, mais ce n'est plus le mécanisme principal. Fichiers principaux : - `crates/infrastructure/src/permission/codex.rs` - `crates/domain/src/ports.rs` - `crates/application/src/agent/lifecycle.rs` - `crates/infrastructure/src/session/codex.rs` - `crates/application/src/ticket_assistant.rs` Validation QA verte : - `cargo test -p infrastructure permission::codex` - `cargo test -p infrastructure codex_` - `cargo test -p application --test agent_lifecycle codex_` - `cargo test -p application --test ticket_assistant codex_` - `cargo test -p domain` Build réalisé : - `npm --prefix frontend run build` : vert. - `tauri build --bundles appimage` : compilation release OK, mais bundling linuxdeploy a échoué car `appimagetool` tentait de télécharger le runtime sans réseau. - Contournement appliqué : `appimagetool --runtime-file /home/anthony/.cache/tauri/runtime-x86_64 ...`. - AppImage générée : `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage`, SHA-256 `08d74dfe950312f968f3fe5646d747f2ac6fa25f2a523a83825182f2809e2aa8`. Validation live restante obligatoire : relancer IdeA depuis cette nouvelle AppImage, lancer un agent Codex frais avec `network: allow`, puis exécuter un vrai `curl`. La session Codex déjà active ne peut pas prouver le fix car elle a été lancée avant ces nouveaux arguments/config.