# QA Report — Part 7 CRM and Automation

Date: 07-10-2026.

## Test location

**Not available.** D2 (GoHighLevel test location) is still open, and no GoHighLevel access was set up in this Claude Code session. Following the brief's fallback, this part delivers full specifications plus a local simulation (`Local Workflow Evidence.md`). **No CRM, calendar, email or workflow was created or changed anywhere.**

## Results

| Check | Result |
|---|---|
| Simulator tests (`node --test` in `simulator/`) | **9 / 9 passed** |
| 7 test contacts: tier, stage, tags, emails match expected | **7 / 7** (`Local Workflow Evidence.md`) |
| Every submission gets E0 exactly once | Passed (incl. double submit) |
| High-fit follow-up stops on `call-booked` | Passed (TC1, TC6) |
| Unqualified: delivery plus three nurture emails | Passed (TC3, TC4, TC5) |
| Low: no booking CTA in nurture | Passed by copy and simulator scope (TC4) |
| Booking confirmation + reminder (24 h / 1 h) | Passed in simulation; scoped to the mock calendar |
| Cancellation path | Passed (TC7) |
| No send without consent | Passed |
| Routing order matches Parts 4–6 (same engine function) | Passed |
| Field keys match Part 6 field map | Checked by hand: all 5 questions, 4 app fields, 3 UTMs present in CRM map |
| Workflows OFF | Yes: nothing exists to turn on |
| Live emails sent | None |

## What the simulation does not prove

- GoHighLevel's actual trigger, wait and goal behaviour (to be confirmed in the test location).
- Real email rendering, deliverability, merge fields and unsubscribe handling.
- PDF generation and the `plan_pdf_link` value.
- Mini-app → GHL hidden-field hand-off in a real GHL form (D11/G3).

## Gaps

| Gap | Dependency |
|---|---|
| GHL test location | D2 |
| Test sender, reply-to, team notification inbox | D5 |
| `plan_pdf_link`: PDF generation and hosting | New gap (G-PDF); needs host (D4) |
| `booking_link`: mock calendar URL | A12, D2 |
| Email footer business address | Nazim / Pareto |
| Proof in emails | D1 (none used) |

## When the test location is confirmed (build checklist)

1. Confirm the location name with Nazim on screen before any edit; record the name only, never keys.
2. Create custom fields, tags and the pipeline exactly as in `CRM Field and Pipeline Map.md`.
3. Build the form with hidden fields; test one fake submission for field capture.
4. Build the mock calendar (30 min, mock availability).
5. Build WF1–WF5 as drafts (OFF), re-entry off.
6. Show Nazim the exact email copy, sender and test contacts; wait for approval.
7. With approval, turn on for TC1–TC7 only, run, compare with `Local Workflow Evidence.md`, then turn OFF.

## Estimate

- GHL build and test run, once D2 and D5 are answered: about 2–3 hours.
- PDF generation and hosting for `plan_pdf_link`: about 1–2 hours, after a host is chosen (D4).
