docs: create milestone v1.3 roadmap (3 phases, 16 requirements)
This commit is contained in:
@@ -8,11 +8,14 @@ v1.1 extends the platform with AI-assisted field placement, expanded field types
|
||||
|
||||
v1.2 extends the platform to multiple signers in parallel and ships a production-ready Docker Compose deployment with correct SMTP and secret injection.
|
||||
|
||||
v1.3 adds a document template system — agent creates reusable field layouts with signer role labels and text hints, then applies them when starting new client documents so the same PDF never needs to be field-mapped from scratch.
|
||||
|
||||
## Milestones
|
||||
|
||||
- ✅ **v1.0 Core Document Signing Platform** - Phases 1-7 (shipped 2026-03-21)
|
||||
- 🚧 **v1.1 Smart Document Preparation** - Phases 8-13 (in progress)
|
||||
- 📋 **v1.2 Multi-Signer and Deployment Hardening** - Phases 14-17 (planned)
|
||||
- 📋 **v1.3 Document Templates** - Phases 18-20 (planned)
|
||||
|
||||
## Phases
|
||||
|
||||
@@ -179,6 +182,14 @@ Plans:
|
||||
- [x] **Phase 16: Multi-Signer UI** - PreparePanel signer list, FieldPlacer signer assignment and color-coding, send-block validation, per-signer dashboard status (completed 2026-04-03)
|
||||
- [x] **Phase 17: Docker Deployment** - Three-stage Dockerfile, docker-compose.yml with named uploads volume and env_file secrets, health endpoint, SMTP fix (completed 2026-04-03)
|
||||
|
||||
### 📋 v1.3 Document Templates (Planned)
|
||||
|
||||
**Milestone Goal:** Agent creates reusable document templates with pre-placed fields (including AI auto-placement) so the same PDF never needs to be field-mapped from scratch for every client.
|
||||
|
||||
- [ ] **Phase 18: Template Schema and CRUD API** - New `document_templates` table with Drizzle migration; list, create, rename, and soft-delete API routes
|
||||
- [ ] **Phase 19: Template Editor UI** - FieldPlacer `onPersist` abstraction, template editor page at `/portal/templates/[id]`, AI auto-place wired to template context, signer role label support, save template
|
||||
- [ ] **Phase 20: Apply Template and Portal Nav** - "Start from template" option in AddDocumentModal, apply operation with field snapshot and role-to-email mapping, text hint quick-fill, Templates portal nav section and list page
|
||||
|
||||
## Phase Details
|
||||
|
||||
### Phase 8: Schema Foundation and Signing Page Safety
|
||||
@@ -359,10 +370,6 @@ Plans:
|
||||
- [ ] 16-04-PLAN.md — Dashboard N/M signed badge (signingTokens count query, DocumentsTable badge rendering)
|
||||
**UI hint**: yes
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Phase 17: Docker Deployment
|
||||
**Goal**: The application runs reliably in a Docker container on the production server — secrets are injected at runtime, email delivers correctly, uploaded files survive container restarts, and a health check confirms database connectivity
|
||||
**Depends on**: Phase 16
|
||||
@@ -380,10 +387,48 @@ Plans:
|
||||
- [x] 17-02-PLAN.md — Dockerfile (three-stage, node:20-slim, linux/amd64), docker-compose.yml (env_file, DNS fix, named volume), .dockerignore, .env.production.example
|
||||
**UI hint**: no
|
||||
|
||||
### Phase 18: Template Schema and CRUD API
|
||||
**Goal**: The `document_templates` table exists in the database and agents can create, rename, list, and soft-delete templates via API — every subsequent template feature depends on this foundation
|
||||
**Depends on**: Phase 17
|
||||
**Requirements**: TMPL-01, TMPL-02, TMPL-03, TMPL-04
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. Agent can create a new template by selecting a PDF from the forms library — a `document_templates` row is inserted with the chosen `formTemplateId` FK and an empty field layout
|
||||
2. Agent can rename a template and the new name is persisted and reflected immediately in the template list
|
||||
3. Agent can delete a template — the row is soft-deleted (`archivedAt` set, not removed from DB) and disappears from the active list; no `ON DELETE CASCADE` touches any documents created from it
|
||||
4. Agent can retrieve a list of all active templates showing form name and field count — archived templates are filtered out
|
||||
**Plans**: TBD
|
||||
**UI hint**: no
|
||||
|
||||
### Phase 19: Template Editor UI
|
||||
**Goal**: Agent can open any template in a full field-placement editor, use AI auto-place, assign signer role labels instead of real emails, set text hints on text fields, and save the template — reusing the existing FieldPlacer component without duplication
|
||||
**Depends on**: Phase 18
|
||||
**Requirements**: TMPL-05, TMPL-06, TMPL-07, TMPL-08, TMPL-09
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. Agent can open a template at `/portal/templates/[id]` and see the source PDF rendered with any previously saved fields overlaid — the editor uses the existing FieldPlacer drag-drop interface unchanged
|
||||
2. Agent can click "AI Auto-place" in the template editor and fields are placed on the template (routed through a `/api/templates/[id]/ai-prepare` route, not the document route)
|
||||
3. Signer assignment in the template editor accepts role labels ("Buyer", "Seller", "Agent") rather than email addresses — role strings are stored in the `signerEmail` slot and the editor does not reject them as invalid emails
|
||||
4. Agent can set a text hint on any text field — the hint is stored in the template and is visible as a placeholder label in the editor
|
||||
5. Agent can click Save and the current field layout (with role labels and text hints) is persisted to `document_templates.signatureFields` — a subsequent page reload shows the saved state
|
||||
**Plans**: TBD
|
||||
**UI hint**: yes
|
||||
|
||||
### Phase 20: Apply Template and Portal Nav
|
||||
**Goal**: Agent can start any new client document from a saved template — all fields are pre-loaded with fresh IDs, roles map to real signer emails, text hints appear as quick-fill suggestions — and "Templates" is a top-level portal destination
|
||||
**Depends on**: Phase 19
|
||||
**Requirements**: TMPL-10, TMPL-11, TMPL-12, TMPL-13, TMPL-14, TMPL-15, TMPL-16
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. "Start from template" tab is available in AddDocumentModal; agent can pick a template from the list and create a document with all template fields pre-loaded at their saved positions
|
||||
2. Every field copied from the template has a freshly generated UUID — none of the template's original field IDs appear in the new document; editing the template afterward does not change the document's fields
|
||||
3. Template signer roles are automatically pre-mapped to the client's contacts (first role to primary contact, second role to co-buyer if present); agent can override any mapping before sending
|
||||
4. Text hints from the template appear as quick-fill suggestion buttons in the new document's PreparePanel
|
||||
5. "Templates" appears in the portal top nav and `/portal/templates` lists all active templates with form name, field count, and last-updated date
|
||||
**Plans**: TBD
|
||||
**UI hint**: yes
|
||||
|
||||
## Progress
|
||||
|
||||
**Execution Order:**
|
||||
Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → 11 → 11.1 → 12 → 12.1 → 13 → 14 → 15 → 16 → 17
|
||||
Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → 11 → 11.1 → 12 → 12.1 → 13 → 14 → 15 → 16 → 17 → 18 → 19 → 20
|
||||
|
||||
| Phase | Milestone | Plans Complete | Status | Completed |
|
||||
|-------|-----------|----------------|--------|-----------|
|
||||
@@ -406,3 +451,6 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 →
|
||||
| 15. Multi-Signer Backend | v1.2 | 3/3 | Complete | 2026-04-03 |
|
||||
| 16. Multi-Signer UI | v1.2 | 1/4 | Complete | 2026-04-03 |
|
||||
| 17. Docker Deployment | v1.2 | 2/2 | Complete | 2026-04-03 |
|
||||
| 18. Template Schema and CRUD API | v1.3 | 0/TBD | Not started | - |
|
||||
| 19. Template Editor UI | v1.3 | 0/TBD | Not started | - |
|
||||
| 20. Apply Template and Portal Nav | v1.3 | 0/TBD | Not started | - |
|
||||
|
||||
Reference in New Issue
Block a user