From 64ccb750fa0f756f9c41c32bf60a0901ef6cf1e3 Mon Sep 17 00:00:00 2001 From: Chandler Copeland Date: Fri, 3 Apr 2026 14:49:03 -0600 Subject: [PATCH] docs: define milestone v1.2 requirements --- .planning/REQUIREMENTS.md | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index f6f67ff..59c5317 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -100,6 +100,30 @@ - [x] **TXTF-02**: When a text field is selected, PreparePanel shows quick-fill suggestion buttons (Client Name, Property Address, Client Email) that insert the corresponding value into the selected field - [x] **TXTF-03**: Text fill values entered per-field appear correctly embedded in the preview PDF and the final prepared PDF; the staleness token resets on any text field value change +## v1.2 Requirements + +### Multi-Signer + +- [ ] **MSIGN-01**: Agent can add named signers to a document by email address from PreparePanel before sending +- [ ] **MSIGN-02**: Agent can tag each signature, initials, and date field to a specific signer when placing in FieldPlacer +- [ ] **MSIGN-03**: Fields in FieldPlacer are color-coded by assigned signer for visual distinction +- [ ] **MSIGN-04**: Agent cannot send a document if any client-facing field (signature, initials, date, text) has no signer assigned — send is blocked with a clear error +- [ ] **MSIGN-05**: Document recipients list is built automatically from unique signer emails on placed fields (no separate manual entry) +- [ ] **MSIGN-06**: All signers receive their unique signing links simultaneously when agent sends +- [ ] **MSIGN-07**: Each signer's signing page shows only their own assigned fields — other signers' fields are not visible +- [ ] **MSIGN-08**: Server enforces field ownership — a signer can only submit fields assigned to them +- [ ] **MSIGN-09**: Dashboard shows per-signer completion status (who has signed, who hasn't) +- [ ] **MSIGN-10**: When all signers complete, agent receives a notification email +- [ ] **MSIGN-11**: When all signers complete, all parties (each signer + agent) receive the final merged PDF via email link + +### Deployment + +- [ ] **DEPLOY-01**: Application runs in Docker with a production docker-compose.yml (node:20-slim, three-stage build, not Alpine) +- [ ] **DEPLOY-02**: All secrets (SMTP, database URL, API keys) are injected at container runtime via env_file — not baked into image +- [ ] **DEPLOY-03**: Email delivery works correctly from the Docker container (SMTP connects to external SMTP server from container) +- [ ] **DEPLOY-04**: GET /api/health returns 200 OK when the database is reachable +- [ ] **DEPLOY-05**: Uploaded PDF files persist across container restarts (named Docker volume for uploads directory) + ## v2 Requirements ### MLS Integration @@ -204,9 +228,10 @@ Which phases cover which requirements. Updated during roadmap creation. **Coverage:** - v1.0 requirements: 28 total — mapped to phases 1-7 — all Complete - v1.1 requirements: 17 total — mapped to phases 8-13 — 13 Complete, 4 Pending (INIT-01 through INIT-04) -- Total mapped: 45 -- Unmapped: 0 +- v1.2 requirements: 16 total — mapped to phases 14+ — all Pending +- Total mapped: 61 +- Unmapped: 16 (v1.2 — roadmap pending) --- *Requirements defined: 2026-03-19* -*Last updated: 2026-03-21 after Phase 11.1 insertion — INIT-01 through INIT-04 added* +*Last updated: 2026-04-03 — v1.2 requirements added (MSIGN-01–11, DEPLOY-01–05)*