oficina / home Public

Drop the redundant blind_index index

UNIQUE already creates one. A second is a second B-tree written on
every sign-in for nothing.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Paul Campbell pushed by paul@keymail.dev e045ed96e4003a6eef8416cb29d934ac265f2ff3 parent ecfe06d
1 file changed, +1 −2
  • docs/superpowers/plans/2026-09-03-home-signin.md +1 −2
diff --git a/docs/superpowers/plans/2026-09-03-home-signin.md b/docs/superpowers/plans/2026-09-03-home-signin.md
index 7227787..916689e 100644
--- a/docs/superpowers/plans/2026-09-03-home-signin.md
+++ b/docs/superpowers/plans/2026-09-03-home-signin.md
@@ -471,10 +471,9 @@ Expected: PASS trivially — no migrations yet. That is correct; it is a tripwir
```sql
CREATE TABLE people (
person_ref TEXT PRIMARY KEY,
- blind_index TEXT NOT NULL UNIQUE,
+ blind_index TEXT NOT NULL UNIQUE, -- UNIQUE already indexes it; no second index
created_at TEXT NOT NULL
);
-CREATE INDEX idx_people_blind_index ON people(blind_index);
```
No address column, no email column. The blind index is `HMAC(pepper, lowercased address)` per ruling 3 — **but §3.1 says the index "uses an expensive KDF rather than a bare HMAC", contradicting ruling 3 and §6.** Filed as task 2 on `skeleton`; it **must be settled before the pepper is implemented in step 4**. This task creates the column; nothing writes it yet.