Change evidence report

Dedicated report data export workflow

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.

Range
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 claimEvidenceStatus
Repeated report-card download controls are replaced by one intentional Export data entry pointMatched Reports and Data export screenshots for Financial, Point of saleCovered
The export page opens in the equivalent category and group with the same date and location contextMatched screenshots plus round-trip URL tests for category, group, preset, date range, and locationCovered
Each report group exposes clear individual and grouped CSV actionsData export screenshot, focused component tests, and a live 200 text/csv responseCovered
All six report categories and their nested groups have a complete export catalogCatalog shape, metadata, uniqueness, and former contextual export assertionsCovered
The canonical CRM deployment serves the new workflowProduction promotion occurs only after merge and the release workflow succeedsGap

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.Before
Financial Point of sale reports page with three report cards and one Export data action in the page header
Data export view: the same context becomes a concise list of individual and grouped CSV actions.After
Dedicated Financial Point of sale data export page listing POS category, POS item, and gift card CSV downloads

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.