abc75962e0
D-Prep (migration 20260801000002_drop_access_grants) drops storage.access_grants and replaces it with storage.role_grants — one row per role assignment instead of N rows per permission bundle. The load seeder still spoke the old per-permission shape and failed every nightly with `relation "storage.access_grants" does not exist`. Both seeder call sites already grant the read bundle (single permission), which maps cleanly to the `viewer` role; switching them to the new schema is a one-row INSERT with the role name. The conflict key drops `permission` since uniqueness is now per (subject, resource).