28bb706c6155caf3b744f3da1a45c28fb76d6ae7
Cause: the workspace.execTool sandbox only granted the project root plus read-only system roots, so CLI tools like git failed when opening /dev/null with O_RDWR (redirect/exec 3<>/dev/null) inside sandboxed runs. Fix: workspace_exec_sandbox pushes one precise /dev/null PathGrant with RO|RW access; project read effect stays RO|EXEC and no blanket /dev grant is added, so the widening is limited to the null device; GitPlugin untouched. Tests: application asserts the read sandbox keeps project RO|EXEC while granting /dev/null RO|RW (workspace_exec_read_sandbox_grants_dev_null_without_widening_project_access); infrastructure proves the local runner executes exec 3<>/dev/null (local_runner_allows_cli_to_open_dev_null_for_read_and_write). QA verte reconfirmée par Git: cargo test -p application workspace_exec 5/5, -p infrastructure local_runner_allows_cli_to_open_dev_null 1/1, -p infrastructure workspace_tool::tests 5/5, cargo fmt --all --check, git diff --check. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
chore(tickets): sync store local — clôture #305 (tâches planifiées projet, livrées v0.48.0) et #314 (transcript lié après reboot, corrigé) par Main après rebuild AppImage validé; carnets à jour, index qa->closed; counter inchangé; fichiers non liés (agents/test, chat-drafts, system-permissions, attachments/, tickets 308-313, scripts/) hors périmètre; tag v0.48.0 inchangé sur 1e2cb5e; aucun push
feat(domain,application,infrastructure,backend,app-tauri,frontend): lot utilisateur #350 — animation d'écartement des onglets au drag/reorder, icônes projet N&B colorisées derrière les messages, tools/skills plugin utilisables par les agents autorisés en headless, refs stables des skills assignés (QA verte)
fix(application,infrastructure): grant /dev/null RO|RW in workspace_exec_sandbox so CLIs can open it O_RDWR — #354 (QA verte)
feat(backend,frontend): tâches planifiées projet — tool MCP idea_scheduled_task_* et menu utilisateur #305, fix transcript lié indisponible après reboot #314 (QA verte)
fix(frontend): render project watermark icons full-size above the composer with detail-preserving grayscale — #353 (QA verte)
chore(gitignore): ignore le contexte global .ideai/CONTEXT.md (runtime last-writer-wins, writer unique #276 — le durable partage vit dans CLAUDE.md/memory versionnes) et de-track mcp-tool-permissions.json deja ignore mais encore suivi
feat(domain,application,infrastructure,backend,app-tauri,frontend): lot utilisateur #350 — animation d'écartement des onglets au drag/reorder, icônes projet N&B colorisées derrière les messages, tools/skills plugin utilisables par les agents autorisés en headless, refs stables des skills assignés (QA verte)
feat(backend,frontend): tâches planifiées projet — tool MCP idea_scheduled_task_* et menu utilisateur #305, fix transcript lié indisponible après reboot #314 (QA verte)
feat(backend,frontend): tâches planifiées projet — tool MCP idea_scheduled_task_* et menu utilisateur #305, fix transcript lié indisponible après reboot #314 (QA verte)
The file is empty.
Description
Languages
Rust
80.5%
TypeScript
19.4%