docs: pass-56 second-audit touchups, lockdown note + style nit

DATABASE_SCHEMA: the migration 047 row now records the REVOKE/GRANT
lockdown, with one-line rationale for why it differs from
user_has_permission (RLS policies depend on anon/authenticated being
able to call user_has_permission, so locking it would break policy
evaluation; the new function has no such constraint).

HANDOFF: replaces "Next-most-leverage" with "Highest-priority" in my
pass-56 backlog header. "Leverage" is on the CLAUDE.md style-bans list.
This commit is contained in:
Moheeb Zara
2026-05-19 16:18:47 -07:00
parent 3dead56e5c
commit 47e2b4614d
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ Branch `main`. Took item 3 from the pass-55 backlog: booking, class signup, and
- **No volume governor.** Every form submission fans out one row per `forms.manage` holder; a popular waiver could create N rows per submission. Acceptable today (the unique index makes it idempotent); a digest / throttle is a separate phase (lines up with member preferences and an in-app inbox).
### Backlog after this
The pass-55 list minus item 3. Next-most-leverage items remain:
The pass-55 list minus item 3. Highest-priority items remaining:
1. Owner-gated end-to-end spine validation (the shipped≠proven gap).
2. Production observability (Sentry-equivalent for the webhook + dispatcher + actions).
3. Phase 4-adjacent: member notification preferences (per-type opt-in/out; the dispatcher checks prefs before sending; natural next pass now that breadth exists).