docs: start milestone v1.2 Multi-Signer and Deployment Hardening

This commit is contained in:
Chandler Copeland
2026-04-03 13:48:53 -06:00
parent 7c1e480ef7
commit 34ee72004b
2 changed files with 64 additions and 30 deletions

View File

@@ -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.1Smart Document Preparation
## Current Milestone: v1.2Multi-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*

View File

@@ -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