01/31/2023, 4:38 PM
I'm more concerned here that feature_flag will only actually work for
grants "resource" down here - if I enable the flag, the inheritance from parent still won't take effect, right? Thinking about this option now: "you can reference a permission on the right hand side too" does that mean this is legal:
definition resource {
    relation parent: parent
    relation direct_editor: user | team#member
    relation direct_creator: user | team#member

    permission editor_ignoring_feature_flag = direct_editor + parent->editor
    permission creator_ignoring_feature_flag = direct_editor + parent->editor
    permission wants_to_use_feature_flag = editor_ignoring_feature_flag + creator_ignoring_feature_flag
    relation feature_flag: resource#wants_to_use_feature_flag
    permission editor = editor_ignoring_feature_flag & feature_flag
    permission creator = creator_ignoring_feature_flag & feature_flag
It's a little convoluted but I think it might solve the problem