diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md index 70ab7d3..9331036 100644 --- a/.planning/PROJECT.md +++ b/.planning/PROJECT.md @@ -8,16 +8,18 @@ A professional real estate web presence and document management web app for brok Teressa can prepare and send any real estate form to a client for signing in minutes, from her browser, without leaving her site. -## Current Milestone: v1.1 — Smart Document Preparation +## Current Milestone: v1.2 — Multi-Signer and Deployment Hardening -**Goal:** Teressa can have AI auto-place and pre-fill all document fields with one click, sign as agent before sending, and preview the fully-prepared document before it reaches the client. +**Goal:** A single document can be sent to multiple signers in parallel, each receiving their own link and seeing only their own fields, with automatic completion notifications — plus a production-ready Docker Compose setup that correctly passes secrets so email works reliably. **Target features:** -- Expanded field types (text, checkbox, initials, date, agent signature) -- AI-assisted field placement and pre-fill using OpenAI (gpt-4o-mini) -- Agent saved signature — draw once, apply with one click -- Agent signs first, then sends to client -- Filled document preview before sending +- Multi-signer: agent tags each signature field to a signer's email when placing +- All unique signer emails auto-discovered from field tags → recipients list built automatically +- All signing links sent simultaneously (parallel, any order) +- Each signer sees only their own fields on the signing page +- Document completes when ALL signers have signed → agent notified + all parties receive final merged PDF +- Docker Compose with proper secrets/env var injection for production +- Fix email delivery in Docker (SMTP secrets not passing through to container) ## Requirements @@ -30,15 +32,27 @@ Teressa can prepare and send any real estate form to a client for signing in min - ✓ Email-link signing flow (no client account) — v1.0 - ✓ Presigned agent download, audit trail, LEGAL-03 compliance — v1.0 -### Active (v1.1) +### Active (v1.1 — nearly complete, Phase 13 E2E verification pending) -- [ ] Agent can add property address to client profile (for AI pre-fill) -- [ ] AI auto-places all field types on a PDF at the click of a button -- [ ] AI pre-fills text fields with known client/property data -- [ ] Agent can place text, checkbox, initials, and date field markers -- [ ] Agent can save a drawn signature and reuse it across documents -- [ ] Agent applies saved signature to agent signature fields before sending -- [ ] Agent sees a filled preview of the prepared document before sending +- ✓ Agent can add property address to client profile (for AI pre-fill) +- ✓ AI auto-places all field types on a PDF at the click of a button +- ✓ AI pre-fills text fields with known client/property data +- ✓ Agent can place text, checkbox, initials, and date field markers +- ✓ Agent can save a drawn signature and reuse it across documents +- ✓ Agent applies saved signature to agent signature fields before sending +- ✓ Agent sees a filled preview of the prepared document before sending + +### Active (v1.2) + +- [ ] Agent can tag each signature/initials/date field to a specific signer email when placing +- [ ] Document recipients list is built automatically from unique signer emails on the document +- [ ] All signers receive their signing links simultaneously (parallel, any order) +- [ ] Each signer sees and signs only their own fields (other signers' fields hidden) +- [ ] Document status tracks per-signer completion (who has signed, who hasn't) +- [ ] When all signers complete, agent receives a notification email +- [ ] When all signers complete, all parties (signers + agent) receive the final merged PDF +- [ ] Production Docker Compose with proper secrets/env var injection +- [ ] Email delivery works correctly in Docker production environment ### Out of Scope @@ -73,5 +87,22 @@ Teressa can prepare and send any real estate form to a client for signing in min | Email-link signing (no client account) | Lowest friction for clients; standard in real estate | — Pending | | utahrealestate.com integration via credentials | Client already has account; forms library is core source | — Pending | +## Evolution + +This document evolves at phase transitions and milestone boundaries. + +**After each phase transition** (via `/gsd:transition`): +1. Requirements invalidated? → Move to Out of Scope with reason +2. Requirements validated? → Move to Validated with phase reference +3. New requirements emerged? → Add to Active +4. Decisions to log? → Add to Key Decisions +5. "What This Is" still accurate? → Update if drifted + +**After each milestone** (via `/gsd:complete-milestone`): +1. Full review of all sections +2. Core Value check — still the right priority? +3. Audit Out of Scope — reasons still valid? +4. Update Context with current state + --- -*Last updated: 2026-03-21 after v1.1 milestone start* +*Last updated: 2026-04-03 after v1.2 milestone start* diff --git a/.planning/STATE.md b/.planning/STATE.md index c891736..72fab58 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -1,31 +1,34 @@ --- gsd_state_version: 1.0 -milestone: v1.1 -milestone_name: Smart Document Preparation -status: unknown -last_updated: "2026-03-21T23:09:27.022Z" +milestone: v1.2 +milestone_name: Multi-Signer and Deployment Hardening +status: defining requirements +last_updated: "2026-04-03" progress: - total_phases: 15 - completed_phases: 14 - total_plans: 48 - completed_plans: 47 + total_phases: 0 + completed_phases: 0 + total_plans: 0 + completed_plans: 0 --- # Project State ## Project Reference -See: .planning/PROJECT.md (updated 2026-03-21) +See: .planning/PROJECT.md (updated 2026-04-03) **Core value:** Teressa can prepare and send any real estate form to a client for signing in minutes, from her browser, without leaving her site. -**Current focus:** Phase 11 — Agent Saved Signature and Signing Workflow ## Current Position -Phase: 13 (AI Field Placement and Pre-fill) — IN PROGRESS -Plan: 3 of 4 complete — Plans 01-03 done; Plan 04 remaining -Status: Phase 13 Plan 03 complete — AI Auto-place button wired into PreparePanel; aiPlacementKey threaded through PdfViewerWrapper to FieldPlacer; handleAiAutoPlace in DocumentPageClient; TypeScript compiles clean; ready for Plan 04 (E2E verification) -Last activity: 2026-03-21 — Phase 13 Plan 03: AI Auto-place UI button and client-side orchestration implemented. +Phase: Not started (defining requirements) +Plan: — +Status: Defining requirements +Last activity: 2026-04-03 — Milestone v1.2 started + +## Note on v1.1 + +v1.1 (Smart Document Preparation) is complete except Phase 13 Plan 04 (E2E verification checkpoint). All feature code is implemented. Run `/gsd:plan-phase 13` to execute that final verification plan if needed. ## Accumulated Context