Skip to content

Commit 36c16d3

Browse files
mpstatonclaude
andcommitted
plan(build-order): steps 1+2 marked done on local and production
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 4164053 commit 36c16d3

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

context-v/plans/Build-Order-Humain-VC-Unlock-Flow.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,14 @@ tail. Steps marked ⚑ need an operator decision or action first.
4545

4646
---
4747

48-
## Step 1 — Real email for magic links (id-didi-sh)
48+
## Step 1 — Real email for magic links (id-didi-sh) ✅ DONE 2026-07-06
4949

50-
**Decision first:** Resend vs Postmark (sender: `no-reply@didi.sh`).
50+
**Decided: Resend.** Hand-rolled Swoosh adapter over Req (the hex package
51+
fights the lockfile); proven end to end — production magic links land in
52+
a real inbox. Remaining rider (⚑ operator): verify the didi.sh domain in
53+
Resend + its DNS records in Vercel, which lifts the
54+
only-send-to-account-owner restriction and flips the sender to
55+
no-reply@didi.sh. Original scope follows.
5156

5257
- Add the Swoosh adapter dep (`gen_smtp`/`resend` per pick) to `mix.exs`;
5358
configure in `config/runtime.exs` (prod) with the API key from env —
@@ -60,7 +65,12 @@ tail. Steps marked ⚑ need an operator decision or action first.
6065
`/access` fallback page. Per the open-graph discipline, check spam
6166
placement once.
6267

63-
## Step 2 — Org + membership seeding (id-didi-sh)
68+
## Step 2 — Org + membership seeding (id-didi-sh) ✅ DONE 2026-07-06
69+
70+
Done on local AND production (mix id.org / id.member; prod via release
71+
eval — note the ~s() sigil gotcha and the 512MB requirement, both in the
72+
id repo changelog 2026-07-06_06). Aniel's membership pends his address.
73+
Original scope follows.
6474

6575
- New mix task `id.org` (create org by domain-as-id + name) and
6676
`id.member <email-or-didi_id> <org_id> <role>`; validate role against

0 commit comments

Comments
 (0)