diff --git a/docs/MASTER-PLAN-2026-05-18.md b/docs/MASTER-PLAN-2026-05-18.md index 5202e61f..d7ae5353 100644 --- a/docs/MASTER-PLAN-2026-05-18.md +++ b/docs/MASTER-PLAN-2026-05-18.md @@ -817,23 +817,40 @@ phase starts: ## Phase ☑/☐ tracker -- ☐ Phase 1 — Documenso completion + Supplemental form - - ☐ 1.1 Documenso Phase 7 (RBAC) - - ☐ 1.2 Documenso Phase 2 (Webhook UX) - - ☐ 1.3 Documenso Phase 5 (Embedded signing) - - ☐ 1.4 Supplemental form per-port -- ☐ Phase 2 — Deal-pulse signals + admin config UI -- ☐ Phase 3 — EOI field overrides - - ☐ 3a — Schema + APIs - - ☐ 3b — EOI form UI - - ☐ 3c — Yacht spawn - - ☐ 3d — Polish + audit surfacing -- ☐ Phase 4 — Reminders -- ☐ Phase 5 — Email-copy refactor -- ☐ Phase 6 — IMAP bounce-to-interest linking -- ☐ Phase 7 — PDF template editor - - ☐ 7.1 Read + place - - ☐ 7.2 Edit + preview +- ☑ Phase 1 — Documenso completion + Supplemental form (commits df1594d, 918c23f) + - ☑ 1.1 Documenso Phase 7 (RBAC) — already in code prior; verified at documents.service.ts:1268-1300 + - ☑ 1.2 Documenso Phase 2 (Webhook UX cascading invite) — already in code prior; verified + - ☑ 1.3 Documenso Phase 5 (Embedded signing) — copy made order-agnostic + developer-role branch + - ☑ 1.4 Supplemental form per-port URL — registry + getPortEmailConfig + route +- ☑ Phase 2 — Deal-pulse signals + admin config UI (918c23f) + - Compute extended with 3 positive + 3 risk signals; admin page mounted at /admin/pulse + - Data-wiring follow-up: 3 risk signals need new interest timestamp columns or derivation + from event tables (`dateDocumentDeclined`, `dateReservationCancelled`, `dateBerthSoldToOther`) +- ◐ Phase 3 — EOI field overrides (schema only; 9f57868) + - ☑ 3a — Schema migration 0073, Drizzle additions, audit_actions free-text verbs + - ☐ 3b — EOI dialog UI (combobox + 2 checkboxes per field) + - ☐ 3c — Yacht spawn from EOI (inline Sheet + YachtForm) + - ☐ 3d — Audit surfacing + client/yacht detail badges + set-primary endpoint +- ◐ Phase 4 — Reminders (schema + service + validators; fb4a09e) + - ☑ Schema migration 0072: reminders.yacht_id + fired_at + interests.reminder_note + - ☑ Service + validators accept yachtId with port-scoping check + - ☐ Dialog UI extension (yachtId field; existing form covers core) + - ☐ Worker scheduler refactor (fired_at gate; cron tick) + - ☐ user_profiles.preferences.digest_time_of_day picker in /settings +- ◐ Phase 5 — Email-copy refactor (branding chain only; df1594d) + - ☑ Per-port background URL — closes the last hard-coded portnimara.com asset + - ☐ Tone rewrite across 8 templates using old-CRM Nuxt repo as reference + - ☐ Snapshot tests per template at port-nimara + 2nd test port +- ◐ Phase 6 — IMAP bounce-to-interest linking (schema + parser; 9f57868) + - ☑ Schema migration 0074: bounce_status/reason/detected_at on document_sends + - ☑ Parser library `src/lib/email/bounce-parser.ts` (RFC 3464 + Outlook + OOO) + - ☐ Cron worker `src/jobs/processors/imap-bounce-poller.ts` + - ☐ UI banner on interest emails tab + email_bounced notification type + - ☐ Manual round-trip test against real bounced delivery +- ◐ Phase 7 — PDF template editor (field-map types only; 9f57868) + - ☑ FieldMap type definitions + Zod validators + page-count cross-validator + - ☐ 7.1 Read + place (~2 weeks): editor shell, page picker, marker drop + - ☐ 7.2 Edit + preview (~1-2 weeks): drag/resize, live preview, new-PDF upload ---