PR 1993 replaces repeated chart and table download controls with one dedicated data export page under Reports. The active report category, report group, date range, and location carry into the export view, where each available CSV can be downloaded individually or bundled with the other data sets in that report group.
000fe26dc (merge-base with main)…bef2ca70f (captured implementation head)
Source state
feat/1981-data-export-page rebased onto 000fe26dc; implementation commit bef2ca70f is followed by evidence and isolated-test commits
Generated
Reviewer brief
Outcome and scope
Report analysis and data extraction now have separate, connected surfaces
Reports retain their charts, tables, comparison controls, and filters without repeated download icons. One Export data action opens the equivalent category and group on a dedicated page, preserves the selected date and location context, and presents the matching CSV data sets with clear individual and grouped actions. Existing report permissions, CSV endpoints, schemas, and calculations remain unchanged.
What this report proves
The matched captures show two workflow states from implementation head bef2ca70f at the same 1440 by 1000 viewport, local Serenity QA tenant, Financial category, Point of sale group, location selection, and custom date range. Live browser validation also exercised a real at-risk customer CSV response. The report does not replace CI, reviewer approval, or post-merge production verification.
Claim map
Evidence coverage
Each material changed behavior or state maps to direct evidence or an explicit gap.
Behavior or claim
Evidence
Status
Repeated report-card download controls are replaced by one intentional Export data entry point
Matched Reports and Data export screenshots for Financial, Point of sale
Covered
The export page opens in the equivalent category and group with the same date and location context
Matched screenshots plus round-trip URL tests for category, group, preset, date range, and location
Covered
Each report group exposes clear individual and grouped CSV actions
Data export screenshot, focused component tests, and a live 200 text/csv response
Covered
All six report categories and their nested groups have a complete export catalog
Catalog shape, metadata, uniqueness, and former contextual export assertions
Covered
The canonical CRM deployment serves the new workflow
Production promotion occurs only after merge and the release workflow succeeds
Gap
Observed change
Review evidence
Evidence is grouped by the reviewer question each item addresses.
Reports data workflow
Screenshot
One report context leads to one focused export destination
Both states use the Financial category, Point of sale group, All locations, and the August 1 to August 25 custom range at 1440 by 1000. The report view prioritizes analysis and offers one Export data route. The export view keeps that context and presents only the three matching data sets: POS sales by category, POS sales by item, and gift cards.
Reports view: charts and tables remain primary, with one Export data action and no per-card download buttons.BeforeData export view: the same context becomes a concise list of individual and grouped CSV actions.After
Confidence
Validation
Pass
Focused CRM export tests
13 pass, 0 fail, 230 assertions across the export panel, catalog, location context, round-trip navigation, and timezone tests
Pass
CRM typecheck
bun run --filter @sauna-crm/crm typecheck exited 0
Pass
Focused formatting and lint checks
Biome checked all 16 changed CRM source and test files with no fixes required
Pass
Live local QA workflow
Chromium opened Customers, Visits with preserved filters, loaded Data export in the same context, switched to Retention & acquisition, and downloaded the at-risk customer CSV from the real API with status 200 and content type text/csv
Pass
Independent change review
The reviewer found one misplaced gift card export group and stale group copy. Both were corrected, and the final review reported no remaining material findings with 0.96 confidence.
Limits
Known issues, risks, and gaps
The export API contract is unchanged; evidence and production boundaries remain explicit
Visual evidence samples one representative report group The screenshots cover Financial, Point of sale. Focused catalog tests cover all six categories and every nested group, but this report does not include a screenshot for every category.
Production promotion follows merge This report proves the local exact-head workflow and focused checks. The canonical CRM remains unchanged until this pull request merges and the trusted release workflow promotes it.