2.3 KiB
2.3 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #197 | 9 |
|
1786712736077 |
2026-08-14 Main
- Ticket créé suite au bug utilisateur sur la dernière AppImage: même avec toutes les permissions accordées dans le menu IdeA, les agents ne peuvent pas écrire dans le root du projet.
- Aucun ticket ouvert correspondant trouvé.
- Architect: RCA principale = split de contrat entre projection générique Codex et launch structuré des agents. Le chemin structuré ne propage que des racines Git en writable_roots au lieu des write grants effectifs du menu, donc le root projet n'est jamais accordé à Codex même quand il devrait l'être. RCA secondaire = sélection sandbox_mode trop dépendante du fallback posture au lieu des write grants effectifs. Inverse bug lié côté ticket assistant = sur-grant whole project root hardcodé.
- Git: branche locale préparée
fix/197-sandbox-permissions-match-menudepuisdevelop@6a98752c. - DevBackend a livré le fix backend sans commit: ajout d'un compilateur canonique de permissions Codex partagé par le launch structuré et ticket assistant; writable_roots dérivés des grants effectifs; sandbox_mode dérivé des writable_roots effectifs; tests ciblés verts sur agent_lifecycle et ticket_assistant.
- QA a d'abord donné
PASS WITH RISKà cause d'un risque d'overgrant si une policy autorise large puis refuse un sous-chemin. - DevBackend a confirmé le finding, corrigé en fail-closed la traduction Codex quand un deny d'écriture n'est pas représentable par
--add-dir, et ajouté des tests de régression couvrant broad allow + subpath deny, fallback-wide write + subpath deny, disjoint explicit allow + unrelated deny, et ticket assistant. - QA verdict final
PASS: le symptôme exact est couvert et le contrat fort est respecté côté runtime/source. Quand la policy est représentable, les writable_roots correspondent aux grants; sinon le système fail-close en read-only. Verdict crédible: le fix doit fonctionner après rebuild d'un nouveau binaire. - Limite assumée: la dernière AppImage déjà buildée n'a pas été revalidée et ne peut pas être modifiée sans rebuild; la validation a été faite depuis les sources/runtime local et les tests exécutés.