note: 6e092c32 is roles phase 2, not just the marketplace entry
That commit's message describes one file and it contains ten. Nine of them are platform-72's roles phase 2 work — the two foreign keys, the dropped CHECK, and UserRole becoming a string — staged and about to be committed when my own commit landed on top of them. The cause is mine and it is worth writing down, because this tree is shared by more than one agent routinely: `git add <path>` followed by a bare `git commit` commits the whole INDEX, not the path just named. Whatever a peer had staged goes with it, under my message and my session trailer. `git commit -- <paths>` is the form that does what the first one looks like it does. Not amended. It is pushed, another session is working against this branch, and rewriting shared history to fix a commit message is a worse trade than a note that makes the history searchable. The code in it was reviewed line by line and is correct. Applied and verified since: both FKs exist named with ON UPDATE CASCADE and no ON DELETE, ck_role_permissions_role is dropped, ck_role_permissions_not_owner survives, and a probe role proved the cascade really moves grants. Second db:push emits zero DDL, so the FK naming holds. 1403 tests pass, tsgo clean, docs:check green. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043
This commit is contained in: