PR 1892 replaces the presentation-style evidence archive and report shell with a restrained dashboard layout. A permanent desktop sidebar keeps navigation and report metadata visible, while narrow screens retain a compact sticky utility. The static renderer now reserves orientation-aware screenshot dimensions so lazy image loading does not move long reports.
e5e70ab2b (merge-base with main)…4f5fda639 (captured implementation head)
Source state
feat/1884-evidence-utility-sidebar at 4f5fda639, pushed as draft PR #1892; this report is the following evidence-only commit
Generated
Reviewer brief
Outcome and scope
Evidence review is now organized around persistent utility
The archive and report use the same viewport shell as the CRM dashboard: a stable sidebar, a separately scrolling content pane, compact bordered surfaces and clear page sections. Desktop reviewers keep report navigation and metadata in view. Mobile reviewers keep the product identity and section links in a sticky compact utility without horizontal page overflow.
What this report proves
Matched screenshots show the archive and the same sample report at base e5e70ab2b and implementation head 4f5fda639. Browser measurements establish layout persistence, responsive collapse, anchor clearance and stable document height. The report does not prove production deployment or replace pull request review and CI.
Claim map
Evidence coverage
Each material changed behavior or state maps to direct evidence or an explicit gap.
Behavior or claim
Evidence
Status
The evidence archive uses a permanent utility sidebar and a denser dashboard hierarchy
Matched 1440 by 1000 archive screenshots
Covered
Individual reports keep section navigation and report metadata visible beside the content
Matched 1440 by 1000 report screenshots plus a sidebar position measurement before and after content scrolling
Covered
Narrow screens retain a compact sticky utility without obscuring anchored content or causing horizontal page overflow
Matched 390 by 844 report screenshots and live browser geometry measurements
Covered
Lazy screenshots reserve their rendered dimensions, including rotated JPEGs
Stable browser scroll-height measurement and an EXIF orientation regression test
Covered
The evidence JSON schema and publishing workflow remain compatible
Focused schema and renderer tests, package typecheck and production Vite build
Covered
Observed change
Review evidence
Evidence is grouped by the reviewer question each item addresses.
Evidence archive
Screenshot
The archive becomes a compact review dashboard
Same PR 1800 source report and 1440 by 1000 viewport. The base uses a large presentation hero. The proposed archive keeps workspace status in a full-height sidebar and makes the report queue the primary content.
Base: large hero and presentation cards use most of the initial viewport.BeforeHead: archive status stays in the sidebar and the compact report queue is immediately scannable.After
Desktop report
Screenshot
Report navigation and metadata remain visible
Same PR 1800 report and 1440 by 1000 viewport. The content is unchanged. Its navigation and source metadata move from a wide hero and horizontal strip into the permanent sidebar.
Base: report metadata fills the hero and section links scroll away with the document.BeforeHead: section links and source metadata occupy a stable utility sidebar beside denser report content.After
Mobile report
Screenshot
The utility condenses instead of consuming the narrow viewport
Same PR 1800 report at 390 by 844. The desktop sidebar becomes a sticky product bar and horizontal section utility. Report metadata remains available on desktop, while mobile gives reading width to the evidence itself.
Base: the oversized report hero occupies the initial mobile viewport and section navigation follows below it.BeforeHead: compact sticky identity and section links remain above a readable report header.After
Browser measurements
Table
The static layout stays stable across viewport and image states
Measurements came from the built site served locally, not from source inspection.
Scenario
Observed result
Desktop sidebar after content scroll
Top stayed 0px; width stayed 280px; content scrollTop reached 1200px
1024px responsive report
Before and after evidence pairs collapsed to one 680.562px column
Lazy image layout
Content scrollHeight stayed 28,470px before and after entering evidence; all 32 images carried validated width and height attributes
390px report
Document scrollWidth equalled the 390px viewport; anchored evidence began at 116px below the 98.875px sticky utility
Keyboard focus
Mobile section link used a visible 2px accent outline inset by 2px inside the horizontal scroller
Confidence
Validation
Pass
Focused evidence tests
16 pass, 0 fail, 42 assertions across scripts/pr-evidence/report.test.ts and packages/pr-evidence/src/site.test.ts
Pass
Evidence package typecheck
bun run --filter @sauna-crm/pr-evidence typecheck exited 0
Pass
Production evidence build
Vite 6.4.3 built the archive and standalone report pages successfully
Pass
Desktop and narrow browser checks
Live Chromium checks covered 1440 by 1000, 1024 by 900 and 390 by 844 viewports, persistent utilities, responsive collapse, focus visibility, anchor clearance, page width and image layout stability
Pass
Independent review
A design reviewer and a code reviewer found responsive, focus, contrast and image-dimension defects. The final source-only follow-ups reported no remaining material findings
Limits
Known issues, risks, and gaps
One intentional static-navigation limit remains
Section links do not track scroll position The report remains a self-contained, script-free artifact. The permanent section links navigate correctly but do not highlight the section currently in view. Avoiding client JavaScript keeps rendering deterministic and preserves the restrictive Content Security Policy.
Captures use the existing PR 1800 sample report The viewer refactor does not change report content. PR 1800 is the only checked-in source report at the merge-base, so each pair uses that same report and source images to isolate the shell change.