REVOKE commands are running on every run for read-only roles

Describe the bug

If I define a read-only role (no write configs), Permifrost will execute (not skip) REVOKE insert, update, delete, truncate, references ON commands with each run.

Steps To Reproduce

Define a role as read-only, eg:

- analyst:
    privileges:
      databases:
        read:
          - analytics
      schemas:
        read:
          - analytics.*
      tables:
        read:
          - analytics.*.*

Expected behavior

I would expect Permifrost to SKIP these commands if there are no existing write grants. Instead, I can run permifrost run multiple times in a row and it executes the commands each time.

Screenshots and log output

Screen_Shot_2021-12-07_at_3.40.06_PM

The output of permifrost --version:

permifrost, version 0.13.1

The operating system you're using:

macOS Monterey 12.0.1 M1

The output of python --version:

Python 3.9.1