--- phase: 19-template-editor-ui plan: "03" type: execute wave: 3 depends_on: ["19-02"] files_modified: [] autonomous: false requirements: [TMPL-05, TMPL-06, TMPL-07, TMPL-08, TMPL-09] must_haves: truths: - "Agent can open a template editor and drag fields onto the PDF" - "Agent can use AI auto-place to populate fields" - "Agent can assign signer roles instead of emails" - "Agent can set text hints on text fields" - "Agent can save and fields persist across refresh" artifacts: [] key_links: [] --- Human verification of all Phase 19 TMPL-05 through TMPL-09 requirements via live browser testing. Purpose: Confirm the template editor UI works end-to-end before marking Phase 19 complete. Output: Human sign-off on all 5 requirements. @$HOME/.claude/get-shit-done/workflows/execute-plan.md @.planning/phases/19-template-editor-ui/19-CONTEXT.md @.planning/phases/19-template-editor-ui/19-01-SUMMARY.md @.planning/phases/19-template-editor-ui/19-02-SUMMARY.md Task 1: Full Phase 19 human verification — template editor E2E Human verifies all TMPL-05 through TMPL-09 requirements in a single 9-step browser test. What was built: - Templates list page at /portal/templates with create-template modal - Template editor page at /portal/templates/[id] with FieldPlacer + TemplatePanel - AI auto-place for templates via POST /api/templates/[id]/ai-prepare - Signer role label system (Buyer/Seller instead of emails) - Text hint support on client-text fields - Save via PATCH /api/templates/[id] - Three supporting API routes (file, fields, ai-prepare) - "Templates" link in portal nav Ensure the dev server is running: `cd teressa-copeland-homes && npm run dev` **Step 1 — Nav link (TMPL-05 prereq):** Visit http://localhost:3000/portal/dashboard. Confirm "Templates" appears in the top nav between "Clients" and "Profile". Click it. **Step 2 — Templates list page:** Confirm the list page loads at /portal/templates. If empty, verify the empty state message "No templates yet" is shown. **Step 3 — Create a template:** Click "+ New Template". In the modal, enter a name (e.g. "Test Listing Agreement") and select a form from the dropdown. Click "Create Template". Verify redirect to the editor page. **Step 4 — TMPL-05: Drag-drop fields:** On the editor page, verify the PDF is displayed on the left and TemplatePanel is on the right. Drag a "Signature" token from the palette onto the PDF. Verify it appears at the drop location. Drag a "Text" token. Verify it also appears. **Step 5 — TMPL-07: Signer role labels:** Verify "Signers / Roles" section shows "Buyer" and "Seller" by default. Place a field while "Buyer" is the active role. Verify the field appears with the Buyer color. Add a custom role (e.g. "Lender") using the Add Role input. Verify no email validation error occurs. **Step 6 — TMPL-06: AI Auto-place:** Click "AI Auto-place Fields". Wait for the spinner. Verify fields appear on the PDF after completion. (Requires OPENAI_API_KEY in .env.local — skip if not configured and note in feedback.) **Step 7 — TMPL-08: Text hints:** Click on a placed text field. Type a hint value (e.g. "Enter property address"). Click "Save Template". Refresh the page (Ctrl+R). Verify the hint value is still displayed in the text field. **Step 8 — TMPL-09: Save persists:** After placing several fields and saving, refresh the page. Verify all field positions, types, and role assignments are preserved. Verify the template name is preserved. **Step 9 — Templates list page verification:** Navigate back to /portal/templates. Verify the template you created appears in the list with the correct name, form name, field count, and a recent "last updated" date. Human confirms all 9 verification steps pass. All TMPL-05 through TMPL-09 requirements satisfied. Phase 19 is complete. All 5 requirements (TMPL-05 through TMPL-09) verified by human in a single 9-step live browser test. Human confirms all 9 verification steps pass. Phase 19 is complete. After completion, create `.planning/phases/19-template-editor-ui/19-03-SUMMARY.md`