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.