chore(launch-prep): hide unfinished report/import surfaces, defer big builds
Ship-what's-done prep ahead of the prod cutover (launch ~today): - Hide Financial + Marketing report cards from the reports landing (both were "Builder in development" placeholders gated on unbuilt data sources). Sales/Operational/Custom + templates/scheduling/ exports remain live. - Trim the Custom-report card copy to match the shipped basic builder (no group-by/filters yet; the builder page header was already honest). - Hide the Bulk Import mockup from search-nav-catalog + the admin sections browser; /admin/import is now unreachable from the UI. - Correct client-facing doc over-claims (waiting-list "next-in-line notification", Import) in features-list.md + new-system-feature-summary.md. - Un-stale BACKLOG.md (Documenso phases 2-7 confirmed shipped). - Log decisions + deferred work (full importer, full custom-builder, waiting-list, maintenance-log, paper-upload bug) to launch-readiness.md. Deferred-importer design spec added at docs/superpowers/specs/2026-06-01-bulk-import-design.md. Verified: tsc --noEmit clean, eslint clean on changed files, 1512/1519 vitest pass (7 failures are Redis-down, unrelated). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -471,6 +471,12 @@ Initiative 2's audit so we don't double-test.
|
||||
|
||||
**Status:** OPEN · High effort · Likely blocker for cutover
|
||||
|
||||
> **Infra cutover plan:** `docs/deployment-plan.md` — prod deploy of the CRM
|
||||
> to `crm.portnimara.com` (nginx + certbot + registry-image compose),
|
||||
> Gitea/CI access, and the Documenso backup + safe-upgrade procedure. Access
|
||||
> (SSH + Gitea API) established 2026-05-31; no prod changes without explicit
|
||||
> approval. Deployment creds in `private/deployment-creds.md` (gitignored).
|
||||
|
||||
User ask: "start pulling all existing prod data from the old system and
|
||||
connected systems (we'll have to backfill the EOIs by pulling them
|
||||
through MinIO — it's a fucking mess so I'll really need your help
|
||||
@@ -527,3 +533,71 @@ Cutover plan:
|
||||
- **Soft launch vs hard cutover?** Hard cutover is simpler operationally
|
||||
but risky; soft launch (parallel writes for a week) is safer but
|
||||
requires the old system to keep accepting writes for longer.
|
||||
|
||||
---
|
||||
|
||||
## 2026-06-01 — Feature-completeness sweep & launch-prep decisions
|
||||
|
||||
A read-only sweep (ahead of the ~same-day launch) checked the whole
|
||||
platform for half-built / stubbed surfaces beyond the known Reports
|
||||
gaps. It resolved two stale-doc contradictions: **Documenso signing
|
||||
phases 2–7 are fully built and wired** (`BACKLOG.md` §A is stale on
|
||||
this), and the **interest Contract/Reservation tabs are fully built**
|
||||
(not "coming soon" cards). Findings + decisions below.
|
||||
|
||||
**Decision (per Matt, 2026-06-01):** launch is ~today, so **ship what's
|
||||
done, hide what's not, defer the big builds** — do NOT revert to the old
|
||||
desktop-spreadsheet reports (a downgrade), and do NOT rush the
|
||||
unproven full builds onto a same-day prod launch.
|
||||
|
||||
### Shipped today (launch-prep, low-risk; SHIPPED)
|
||||
|
||||
- **Hid Financial + Marketing report cards** from the reports landing
|
||||
(`reports/page.tsx`) — both were "Builder in development" placeholders
|
||||
gated on unbuilt data sources (Init 1b/1c). The reports section ships
|
||||
with the working **Sales + Operational + Custom** reports + templates +
|
||||
scheduling + PDF/CSV/Excel exports. The basic Custom builder already
|
||||
covers the old desktop-report use case (entity + columns + date range +
|
||||
export) — parity-plus, not a regression.
|
||||
- **Trimmed the Custom-report card copy** so it stops promising
|
||||
group-by/filters/dimensions it doesn't yet have (the builder page
|
||||
header was already honest).
|
||||
- **Hid the Bulk Import mockup** from nav + search
|
||||
(`admin-sections-browser.tsx`, `search-nav-catalog.ts`). The static
|
||||
`/admin/import` mockup is now unreachable from the UI (route still
|
||||
resolves by direct URL).
|
||||
- **Corrected client-facing doc over-claims** in `features-list.md` +
|
||||
`new-system-feature-summary.md` (removed the waiting-list
|
||||
"next-in-line notification" claim — built but hidden; removed Import
|
||||
from the admin-pages list, 43→42).
|
||||
|
||||
### Deferred to post-launch (tracked here; none launch-blocking)
|
||||
|
||||
- **Full Bulk CSV/XLSX importer** — design APPROVED + spec written:
|
||||
`docs/superpowers/specs/2026-06-01-bulk-import-design.md` (generic
|
||||
engine + per-entity adapter registry; 7 entities; column-mapping,
|
||||
dry-run, dedup, per-batch undo). Cutover data migration runs through
|
||||
the existing CLI scripts (`import-berths-from-nocodb.ts` + the
|
||||
Initiative 5 migration scripts), so the UI importer is **not needed
|
||||
for launch**.
|
||||
- **Full Custom-report builder** — group-by + aggregates, sort,
|
||||
per-column filter rows (AND/OR), debounced live preview, the remaining
|
||||
6 of 10 entities, per-role PII column whitelist. Architecture decided
|
||||
(per-column expression map + generic Drizzle query composer); spec
|
||||
deferred. Basic builder ships as-is.
|
||||
- **Berth Waiting List** — un-hide the existing `WaitingListManager`
|
||||
(component + API already built) + build the availability-triggered
|
||||
next-in-line notification (today only a `notifyPref` column is stored;
|
||||
no sender exists). Component currently orphaned; berth tab removed.
|
||||
- **Berth Maintenance Log** — backend (API + service) exists; needs a UI
|
||||
tab mirroring the waiting-list manager.
|
||||
- **Contract/Reservation paper-upload misroute (BUG)** — the "Upload
|
||||
paper-signed copy" button on the contract/reservation tabs POSTs to the
|
||||
EOI-only endpoint (`/external-eoi`), filing a paper-signed
|
||||
contract/reservation as an EOI. Fix: add contract/reservation
|
||||
paper-upload endpoints + point `ExternalEoiUploadDialog` at the right
|
||||
one per docType. ("Mark as signed without file" already works for all
|
||||
three types.)
|
||||
- **Marketing + Financial reports** — remain unbuilt + now hidden; gated
|
||||
on Init 1b (website UTM/inquiry cutover) and Init 1c (invoices-module
|
||||
decision) respectively.
|
||||
|
||||
Reference in New Issue
Block a user