diff --git a/Obsidian/Brain/log.md b/Obsidian/Brain/log.md index 6d526e9..16792bf 100644 --- a/Obsidian/Brain/log.md +++ b/Obsidian/Brain/log.md @@ -1696,3 +1696,6 @@ Touched: Migracao Schema-per-Tenant ## [2026-06-13 18:30] session | Freemium/PLG F0 descoberta + 4 decisões Touched: Freemium PLG + +## [2026-06-13 19:45] session | Freemium F1 done (enforcement pacientes + Upgrade PRO) +Touched: Freemium PLG diff --git a/Obsidian/Brain/wiki/Freemium PLG.md b/Obsidian/Brain/wiki/Freemium PLG.md index aa0ebf2..2a8567f 100644 --- a/Obsidian/Brain/wiki/Freemium PLG.md +++ b/Obsidian/Brain/wiki/Freemium PLG.md @@ -33,7 +33,7 @@ Blueprint pede welcome email via **Resend**; aqui é **SMTP/Mailpit** (`process- ## Fases -- **F1** — Fundação: ajustar limits free (therapist_free max_patients) + trigger de enforcement + toast PLAN_LIMIT_REACHED + botão Upgrade PRO. +- **F1** ✅ DONE (2026-06-13) — therapist_free ganhou max_patients=20; trigger `enforce_patient_plan_limit` em patients (lê `plan_features.limits` em runtime, resolve plano via `tenant_active_plan_id`, conta vivos, RAISE `PLAN_LIMIT_REACHED|patients|n`); helpers globais + wiring + backfill 9 schemas. Front: `utils/planLimit.js` (toast com CTA via grupo system-alerts) nos 3 pontos de criação de paciente + botão **Upgrade PRO** no AppTopbar quando plano é free. Migrations: `20260613000005_*` + `manual/freemium_f1_plan_limits.supabase_admin.sql`. Testado em ROLLBACK (clinic_free bloqueia em 30, therapist_free em 20, PRO ilimitado). - **F2** — Self-service: `enable_confirmations`, RPCs idempotentes, signup rewrite (nome+slug+metadata), `/onboarding`, welcome email, plano free visível na vitrine. - **F3** — Extras (4). - **F4** — Deploy (hosted, dirigido pelo Leonardo).