docs(backlog): mark Wave 9 items DONE in master backlog

Wave 9 closed eight focused commits across the ui/ux, pdf, copy, and
onboarding audit findings:
- 9.1 Drawer vs Sheet doctrine
- 9.2 StatusPill adoption
- 9.3 Custom-fields token picker
- 9.4 Mobile cardRender for admin lists
- 9.5 Dashboard loading.tsx coverage
- 9.6 PDF + brand asset correctness
- 9.7 Copy/terminology sweep
- 9.8 Onboarding + first-run UX

Remaining audit work is now: aria-hidden sweep (#69), broader
concurrency lock audit (#72), bounce monitor + Documenso v2 templates
(#75), manual QA of reporting/recommender (#77), types-auditor +
build-auditor (both no-active-trigger).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-13 12:16:34 +02:00
parent a8dec0bada
commit b397f6049d

View File

@@ -238,14 +238,14 @@ Migrate as a focused day's work (~40 × 10-15 min), then promote `react-hooks/se
### Wave 4 — UI/UX consistency + accessibility (~3-4 days)
- **Raw enum render via `.replace(/_/g, ' ')` (40+ sites)** — extract to `constants.ts` `formatStage`/`formatStatus`/`formatPriority` helpers. **(ui/ux H1)**
- **18 list components missing mobile `cardRender`** — DataTable already supports it; populate per-list. **(ui/ux H2)**
- **Berth status pills using ad-hoc Tailwind colors** — swap to shared `StatusPill`. **(ui/ux M1)**
- **UserList "Active"/"Disabled" badge** — align to `StatusPill` convention. **(ui/ux M2)**
- **Drawer vs Sheet usage drift** — pick one based on a documented rule (`Drawer` for mobile-bottom-sheet, `Sheet` for side panels). Standardize. **(ui/ux M11)**
- **Decorative icons missing `aria-hidden`** — sweep. ~1 h. **(ui/ux M10)**
- **Hard-coded "border-amber-300 bg-amber-50" callouts (15+ sites)** — extract `<WarningCallout>` component. **(ui/ux L5)**
- **Dashboard route `loading.tsx` coverage** — 5 of 73 routes have it; add for the rest. **(ui/ux M3)**
- **Raw enum render via `.replace(/_/g, ' ')` (40+ sites)** — extracted to `constants.ts` `formatStage`/`formatStatus`/`formatPriority` helpers (audit-wave-4). **(ui/ux H1)**
- **18 list components missing mobile `cardRender`**Wave 9.4 covered the 5 actual DataTable consumers without `cardRender` (admin/tags, admin/roles, admin/ports, admin/document-templates, admin/custom-fields). **(ui/ux H2)**
- **Berth status pills using ad-hoc Tailwind colors** — swapped to shared `StatusPill` in Wave 9.2. **(ui/ux M1)**
- **UserList "Active"/"Disabled" badge** — aligned to `StatusPill` in Wave 9.2; also `PortList` in Wave 9.4. **(ui/ux M2)**
- **Drawer vs Sheet usage drift**single offender (`client-interests-tab`) swapped to Sheet; doctrine documented in CLAUDE.md (Wave 9.1). **(ui/ux M11)**
- **Decorative icons missing `aria-hidden`** — sweep deferred (task #69, ~100+ icons). **(ui/ux M10)**
- **Hard-coded "border-amber-300 bg-amber-50" callouts (15+ sites)**`<WarningCallout>` shipped in Wave 4. **(ui/ux L5)**
- **Dashboard route `loading.tsx` coverage**default `[portSlug]/loading.tsx` plus tailored detail-page skeletons (Wave 9.5). **(ui/ux M3)**
### Wave 5 — Performance + reliability (~2-3 days)
@@ -265,11 +265,11 @@ Migrate as a focused day's work (~40 × 10-15 min), then promote `react-hooks/se
### Wave 8 — Long tail (whenever)
- **PDF + brand asset correctness** (pdf-auditor) — verify each PDF template renders with port branding pulled correctly.
- **Customer-facing copy + terminology** (copy-auditor) — sweep for inconsistent terms ("berth/mooring", "owner/lessee", etc.).
- **Onboarding + first-run UX** (onboarding-auditor) — new-port walkthrough refinement.
- **Type-safety + drizzle leak audit** (types-auditor) — `any` casts, untyped `metadata` fields.
- **Build + deploy + prod readiness** (build-auditor) — Dockerfile review, env var validation.
- **PDF + brand asset correctness** (pdf-auditor) — Wave 9.6: wrong-port brand fallback (`'Port Nimara'``(port)`/throw), AcroForm field-drift warnings, EOI form flatten, PDF metadata, sha256 pinning of `assets/eoi-template.pdf`, berth-range warning noise. Items C-2/C-3 (tiptap-to-pdfme bugs) were eliminated by the 2026-05-12 PDF stack overhaul.
- **Customer-facing copy + terminology** (copy-auditor) — Wave 9.7: centralized `lib/labels/document-status.ts` (C3), portal `leadCategory` chip removed (C2), `Save Changes``Save changes` + `Saving...``Saving…` codemod (H1, M3), envelope → signing request (M1), `Linked prospect``Linked interest`, `Deal Documents``Interest Documents`, `Hot Lead``Hot lead` (M5).
- **Onboarding + first-run UX** (onboarding-auditor) — Wave 9.8: fixed wrong setting keys in checklist auto-checks (C1), broken `forms` href (C2), compound gate for Documenso EOI readiness (C3), catch-and-log around `ensureSystemRoots` (C4), fresh-port berth empty state (H5), admin-sections-browser description (M4).
- **Type-safety + drizzle leak audit** (types-auditor) — `any` casts, untyped `metadata` fields. (deferred)
- **Build + deploy + prod readiness** (build-auditor) — Dockerfile review, env var validation. (deferred)
### How to use this section