docs(audit): refresh 2026-05-25 tally with Reports P2 + form-error sweep + Wave G cleanup
Captures the second execution pass: - Reports P2 CRUD landed on report_runs + report_schedules. - Form-error sweep complete platform-wide (16 remaining callsites adopted). - Audit-doc cleanup: dock-letters / email-test / cancelMode were already shipped earlier and should not have been listed as queued. Total ~25 commits across this date; ~110 h still queued for follow-up (Reports P3-P7, Tenancies P2-P7, UploadForSigning field metadata, B3 wave). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
> - `medium` — UX regression, partial functionality, recoverable error
|
||||
> - `low` — cosmetic, copy, polish
|
||||
|
||||
> **2026-05-25 status check** — full audit triage + execution pass landed (~18 commits). Shipped in this session:
|
||||
> **2026-05-25 status check** — full audit triage + execution pass landed (~25 commits over two passes). Shipped in this session:
|
||||
>
|
||||
> **Bucket 1 (Wave A–E):** Interest form yacht auto-select + EOI dialog "View EOI" toast + berth-picker compact label + Documents-tab Generate-EOI removal + role-scoped interest auto-assign + LinkedBerthRowItem dimension cleanup + ExternalEoiUploadDialog prefill (title + signatories from active EOI) + Overview milestone EOI signature progress widget. a11y aria-live on supplemental info + 13-component date/currency locale sweep (en-US/en-GB → runtime). Primary-berth-always-in-bundle service guard strengthened + backfill migration 0083. Onboarding super_admin discoverability (topbar banner + dashboard tile + celebration toast) wired via `/api/v1/admin/onboarding/status` + shared service. Branded post-completion email idempotency regression test.
|
||||
>
|
||||
@@ -21,6 +21,8 @@
|
||||
>
|
||||
> **Bucket 2 (Wave F):** Radio field type for admin registry + adopted on `eoi_send_mode` and `documenso_signing_order`. Include-yacht toggle on EOI generate dialog (blanks Section 3 even when a yacht is linked; choice recorded in audit log). External-EOI auto-cancel: replace-or-keep radio shows when a generated EOI is active; replace path voids the upstream Documenso envelope + flips the prior doc to cancelled before the new doc lands.
|
||||
>
|
||||
> **Bucket 2 form-error sweep:** All 16 remaining form callsites adopted `useFormScrollToError` + `<FormErrorSummary>` — login / reset-password / set-password / setup auth forms + invoices/new + berth-detail-header + invoice-detail (record-payment) + reservations/berth-reserve-dialog + yachts/yacht-transfer-dialog + companies/add-membership-dialog. Form-error UX sweep now complete platform-wide.
|
||||
>
|
||||
> **Bucket 3 design docs:** `docs/reports-page-design.md` (~400 lines, 7-PR plan) + `docs/tenancies-design.md` (~350 lines, 7-PR plan).
|
||||
>
|
||||
> **Bucket 3 P1 foundations:**
|
||||
@@ -28,15 +30,18 @@
|
||||
> - Tenancies module-enabled gate (`tenancies_module_enabled` setting, `tenancies-module.service.ts`, 3 admin endpoints under `/api/v1/admin/tenancies-module/`).
|
||||
> - Reports schema migration 0084 (extends `report_templates` + adds `report_runs` + `report_schedules` tables) + matching Drizzle schema.
|
||||
>
|
||||
> **Bucket 3 Reports P2 (this session):** CRUD layer on `report_runs` + `report_schedules`. Validators (kind / output / cadence / status enums), services (`report-runs.service.ts`, `report-schedules.service.ts` with deterministic `nextRunFor` math), routes (`/api/v1/reports/runs` list+create + `/[id]` get, `/api/v1/reports/schedules` list+create + `/[id]` get+patch+delete). 9-case integration test covering cross-port FK guard, config.kind discriminator, listing filters, cadence math, no-op-doesn't-slip rule, and `ON DELETE SET NULL` contract on schedule deletion.
|
||||
>
|
||||
> **Bucket 4:** Sheet width sweep (Sheet primitive update covers every site). External-EOI dialog cache collision: dialog was caching `{data:…}` on the same key the parent unwraps, blanking the page on open — fix unwraps to match. External-EOI advance-gate regression test (7 cases). Search popover defensive opaque background. EntityFolderView visual overhaul: shared FileIcon mapping for type-specific colours + inline "Signed" pill from `signedFromDocumentId`.
|
||||
>
|
||||
> **Deferred / queued for follow-up sessions:**
|
||||
> **Audit-cleanup callouts:** "dock-letters entity" (B2 Wave G item) was already shipped in `431375d` (D25). "Email-test endpoints" was already shipped (registry + endpoint + admin card all exist). "Cancel doc delete-vs-keep" was already shipped (cancelMode plumbed through `cancelDocument` + dialog adoption complete). These three were misclassified as queued.
|
||||
>
|
||||
> - Reports P2-P7: API CRUD + BullMQ render+email queues + landing + builder + sub-pages + CSV/PNG outputs + metadata overrides (~37 h).
|
||||
> - Tenancies P2-P7: rename migration + perms seed + webhook auto-create + public-map flip rules + sidebar entry + top-level page + entity tab CTAs + 4 reporting widgets (~36 h).
|
||||
> - B2 Wave G remainder: Documenso redirect URL resolver UI surfacing + dock-letters entity + UploadForSigningDialog field metadata (full bundle) + email-test endpoints + Cancel doc delete-vs-keep is already shipped (cancelMode plumbed through; verify dialog adoption is broad enough).
|
||||
> - B2 form-error sweep: remaining ~23 form surfaces.
|
||||
> - B3 Wave: interest dimensions dual-source, universal file preview Tier 1+2, bulk-price editing UI, web analytics integration, universal upload-with-fields remaining UI sites, 5 remaining PDF resolvers, recharts→ECharts migration.
|
||||
> **Deferred / queued for follow-up sessions (~110 h):**
|
||||
>
|
||||
> - Reports P3-P7 (~31 h): BullMQ render+email queues + landing + builder + sub-pages + CSV/PNG outputs + metadata overrides.
|
||||
> - Tenancies P2-P7 (~36 h): rename migration + perms seed + webhook auto-create + public-map flip rules + sidebar entry + top-level page + entity tab CTAs + 4 reporting widgets.
|
||||
> - UploadForSigningDialog field metadata (full bundle, ~6-9 h): PlacedField.defaultValue + fieldMeta with per-type panel inputs + Documenso v2 `field/create-many` payload extension.
|
||||
> - B3 Wave (~50 h): interest dimensions dual-source, universal file preview Tier 1+2, bulk-price editing UI, web analytics integration, universal upload-with-fields remaining UI sites, 5 remaining PDF resolvers, recharts→ECharts migration.
|
||||
> - B4 bugs: Global-search dropdown translucent still wants live-browser repro to confirm the defensive fix actually addressed the cause.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user