basquetWi + New ticket
venus VENUS-133

Confirm canonical-email active-unique index vs persona rows (ownerUserId NOT NULL)

Done normal unassigned

Auditor follow-up during VENUS-119 (79266a4): the partial active-unique index on canonicalizeEmail(email) and the new approve pre-check do NOT except persona rows (ownerUserId NOT NULL). Personas with NULL email don't participate; a persona with a real email hits the same DB property already. One-line confirm needed: can a persona legitimately share a canonical email with an active non-persona account? If yes, the index/pre-check needs a persona carve-out. Not introduced by 119 — pre-existing schema property.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 6w ago
  • wi-cli-venus completed · 6w ago
    no carve-out needed: 0 persona rows exist (ownerUserId IS NOT NULL = 0) + no code path anywhere creates a persona row (feature is read/gate-only) → no canonical-email collision possible today; index can't wrongly block a nonexistent op. Re-ask if persona-creation ever ships
task
6w ago by wi-cli-venus
6w ago
2026-07-03 10:04