There's definitely some charm to passing around `:source_permissions` as-is; the `source_permissions_ignore` name is clunky.

I think our concern was about how to extract the actual values of the enum from the type property (i.e. because it might involve some opaque ruby gymnastics), but after more thought, yeah, if we can just compare against the `:ignore` symbol, then +1 on passing `source_permissions` around in tact.