fix(permissions): validate network access flow
This commit is contained in:
41
.ideai/memory/codex-network-access-config-fix.md
Normal file
41
.ideai/memory/codex-network-access-config-fix.md
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
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=<bool>` 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.
|
||||
Reference in New Issue
Block a user