Skip to content

fix: write the group-org tuple the way the model defines it - #9

Merged
vitramir merged 1 commit into
mainfrom
fix/group-org-tuple-orientation
Jul 29, 2026
Merged

fix: write the group-org tuple the way the model defines it#9
vitramir merged 1 commit into
mainfrom
fix/group-org-tuple-orientation

Conversation

@vitramir

Copy link
Copy Markdown
Contributor

Creating a group failed outright with Invalid tuple 'organization:...#org@group:...'. Reason: relation 'organization#org' not found.

The model puts the relation on the group — type group ... define org: [organization] — so the group is the object and the organization is the user. groupOrgTuple had the two swapped, naming a relation organization does not have. OpenFGA rejects the entire Write, so the admin tuple batched with it never landed either.

Reconciliation read the same inverted shape in two places (isManagedGroupTuple, tupleBackedByStore), so a correctly-written tuple would have been classified as unmanaged and swept as stale on the next pass. Fixed alongside.

The existing test compared groupOrgTuple against itself, which holds for either orientation — that is why this shipped green. It now asserts the literal user and object strings. Full suite passes.

Creating a group failed outright:

  Invalid tuple 'organization:...#org@group:...'.
  Reason: relation 'organization#org' not found

The model puts the relation on the group — `type group ... define org:
[organization]` — so the group is the object and the organization is the
user. groupOrgTuple had the two swapped, naming a relation organization
does not have. OpenFGA rejects the whole Write, so the admin tuple in the
same batch never landed either.

Reconciliation read the same inverted shape in two places, so a corrected
tuple would have been classified as unmanaged and swept as stale. Fixed
alongside.

The existing test compared groupOrgTuple against itself, which held for
either orientation and is why this shipped green. It now asserts the
literal user and object strings.

Co-Authored-By: Claude <noreply@anthropic.com>
@vitramir
vitramir merged commit 92ef00e into main Jul 29, 2026
1 check passed
@vitramir
vitramir deleted the fix/group-org-tuple-orientation branch July 29, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant