Skip to content

DR-022 — Generated-file guard is two-sided: Read-tool deny + sandbox allowRead

Retired/tombstoned S504. Re-homed (S504 register sweep): the sandbox half was discharged 03ad0ae1 (S491); the surviving half IS the config, with rationale beside the guard-hooks bullet. Substance home: canonical:.claude/settings.json:31 + CLAUDE.md (guard-hooks bullet). Original ADR text retained below; this id stays on disk so citations resolve and the number is never re-issued. supabase/types/database.types.ts and lib/mcp/plugin-bundle.ts are permissions.deny(Read(...))-denied — the context-budget guard; agents never load them into context (evidence: canonical@ea6ce871, live in .claude/settings.json).

Amended S491 (id-164): filesystem sandboxing is disabled outright (03ad0ae1), so the original sandbox.filesystem.allowRead half is discharged and the FR-003 phantom-gate class cannot recur. Only the Read-tool deny half remains in force.