# v0.7.7 — Manual Smoke Checklist (release gate) > Run against a **scratch PostgreSQL** instance. Mark each item only after verifying it live in the app. This checklist gates the release after `feat/v0.7.7-next-up` squash-merges to `prod` and before tagging `v0.7.7`. Source: architectural spec §8 (verbatim). ## Roles & grants - [ ] Create a role with all options (LOGIN, SUPERUSER, CREATEDB, CREATEROLE, INHERIT, REPLICATION, BYPASSRLS, CONNECTION LIMIT, VALID UNTIL, PASSWORD) + a membership grant to another role. - [ ] Grant / revoke each privilege class (table, sequence, routine, schema, database) from the role detail grants editor. - [ ] Drop a role that has dependencies — the confirm dialog lists the dependencies before executing. ## Tables & relationships - [ ] Create a table with a multi-column PRIMARY KEY. - [ ] Edit a table: rename a column, add a column, drop a column, change a column type, change default, toggle nullable — each change stages as its own queue item with an `(i/n)` description. - [ ] Reorder columns → rebuild succeeds (single transaction: constraints, indexes, FKs both directions, grants, owned sequences preserved). - [ ] Reorder columns on a trigger-bearing table → rebuild refused with the blocker copy (fail-closed). - [ ] Set tablespace + row-level security via table options. - [ ] Create a cross-schema FK with ON DELETE CASCADE (referenced table picked from another schema). - [ ] Edit an FK → 2-item commit (drop + re-add) lands cleanly. ## Maintenance - [ ] VACUUM, ANALYZE, REINDEX run on a table via the overflow menu — confirm dialog shows the lock-warning copy; success reports duration. ## Regression - [ ] Demo SQLite database opens and behaves unaffected. - [ ] Stale-guard: after an external `ALTER TABLE`, editing the table in the app blocks staging with the stale guard.