docs(plan): mark all fulfillment phases complete + validated

This commit is contained in:
justin 2026-06-02 03:38:47 -05:00
parent 4b6c828b1c
commit 426fbb2ea1

View file

@ -1,5 +1,27 @@
# Plan
## Status: COMPLETE (all phases implemented + validated 2026-06-02)
| Phase | What | Status |
|-------|------|--------|
| 1 | Hazmat/PHMSA handler + product (`hazmat-phmsa`, $149) | ✅ |
| 1.5 | Order-form bundle/mutual-exclusion enforcement (server-side) | ✅ |
| 2 | State-trucking intake form (slug-gated) + REQUIRED_FIELDS + admin-todo fields | ✅ |
| 2.5 | BOC-3 authority-aware (active/pending/revoked/none) + upsell-approve follow-ups | ✅ |
| 2.6 | Pipeline activation gating (`require_active` edges, FMCSA poll, waiting_on_activation) | ✅ |
| 3 | State emissions (non-CA) product `state-emissions` ($199) | ✅ |
| 4 | Order landing pages for all state/hazmat/emissions slugs (48 pages build) | ✅ |
| Adv | Prerequisite-aware DOT lookup + state recommendations | ✅ |
| 5 | Campaign builder deficiency segments + LP routing + --list-segments | ✅ |
| Val | Consistency checker (24/24) + campaign segment test (synthetic) | ✅ |
**Remaining ops (not code):** create the 6 Listmonk source-campaign templates and
set their `CAMPAIGN_*_ID` envs (`CAMPAIGN_FOR_HIRE_ID`, `CAMPAIGN_IRP_IFTA_ID`,
`CAMPAIGN_INTRASTATE_ID`, `CAMPAIGN_WEIGHT_TAX_ID`, `CAMPAIGN_EMISSIONS_ID`,
`CAMPAIGN_HAZMAT_ID`). Until set, those segments are reported by
`--list-segments` but skipped by the scheduled run. Optional follow-up: a
client-side incompatibility UX hint in the order form (server already enforces).
## Goal
Make every trucker deficiency type we flag actually *fulfillable*: each flagged