cf37d09519bdb86dfc9f59b6ee6906053e28f83e
Multi-phase work bundle (24 commits, 159 files, ~127k LOC) covering plan
docs/berth-recommender-and-pdf-plan.md:
Phase 0 — NocoDB berth import + mooring normalization (A-01 → A1)
Phase 1 — /clients + /interests list-column redesign (contacts/yachts join)
Phase 2 — M:M interest_berths junction with role flags
Phase 3 — Public berths API + /api/public/health
Phase 4 — Berth recommender (SQL ranking, tier ladder, heat scoring)
Phase 5 — Multi-berth EOI bundle + range formatter
Phase 6 — Pluggable storage backend + per-berth PDF parser
Phase 7 — Sales send-outs + brochures + email-from settings
Phase 8 — CLAUDE.md conventions update
Plus a memory-efficient streaming expense PDF export (replaces a legacy
implementation that OOM'd on hundreds of receipts), receipt-less expense
flag with PDF warning annotations, receipt upload UI in the expense
form dialog, and the scan-receipt page accepting device-uploaded photos
in parallel with the OCR scan.
Four audit passes (audit-1 → audit-final, mostly Opus 4.7 reviewers in
parallel) drove progressive hardening: ~50 findings landed; the last
audit's 5 critical / 12 high items are fixed in 180912b. Medium/low
items are deferred and indexed in docs/audit-final-deferred.md.
Tests: 1163/1163 vitest passing. tsc clean. 12 new migrations applied
in dev (0023..0034), three of which (0028/0029, 0034) involve careful
backfills.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
TypeScript
98%
HTML
1.7%
Shell
0.2%
CSS
0.1%