# Stage 19 Acceptance Record

Date: 2026-07-28

Baseline: `1cc8058`

## Scope

- Whole-site desktop, compact desktop, and mobile regression.
- Light and dark theme regression.
- Account permissions, API contracts, cache behavior, and critical workflows.
- Native dialog lifecycle and feedback sizing.
- Removal of CSS rules proven obsolete by the current product contract.

## Changes

- All native dialogs now open through one lifecycle helper. Opening a dialog closes any unrelated open dialog first, while each dialog's existing close cleanup remains intact.
- The obsolete compact sentiment-chart override was removed. The approved 350px chart geometry now applies at 1080P and compact desktop heights, with the page owning vertical scrolling.
- The heart incense now runs the 45-second progress movement and the glow animation together.
- Stale tests were aligned with current behavior: 5-board-plus grouping, rotation constituents, theme-aware charts, deterministic breathing phases, member gating, custom screener entry, and A/B/C-only mentor grades.
- Unused sentiment compact-height tokens were removed after reference scanning.

## Automated Verification

- Playwright: 43 tests, covering all primary workspaces, themes, desktop/mobile layouts, dialogs, permissions, screeners, mentor workflows, and Wentian interactions.
- Python unittest: 163 tests, covering account boundaries, access policy, caches, market data, iFinD adapters, screeners, strategy tracking, review workflows, and Wentian calculations.
- JavaScript syntax: `static/app.js` and `static/heaven-loading-v2.js` checked with `node --check`.
- Patch hygiene: `git diff --check`.

## Browser Verification

- 1920x1080 dark: sentiment chart 350px high; no horizontal overflow; full-page scrolling owns the history section.
- 1365x768 dark: sentiment chart remains 350px; the main area scrolls; the status bar remains fixed and unobstructed.
- 1365x768 light: chart, cards, table, and shell switch together without white dark-theme remnants.
- 1440x900 light: nine-day rotation matrix fits without horizontal scrolling; custom screener and result table fit the canonical shell.
- 390x844 light: no horizontal overflow; fixed header ends before main content; Wentian remains vertically scrollable above the bottom navigation.

## Design Specification Checklist

- Tables retain content-based columns, right-aligned tabular numbers, units in headers, blank missing values, and sortable numeric headers where supported.
- All 16 primary workspaces share the same desktop content origin and width within one rendered pixel.
- The shell remains 200px sidebar, 46px topbar, 34px summary strip, 14px/16px content padding, and 30px status bar.
- Page titles, card gaps, empty states, chart legends, dates, and status-bar context remain present.
- Wentian keeps its isolated effects and color treatment while using the same outer shell geometry.

## Residual Risk

The CSS stack still contains older page-specific layers. They were not bulk-deleted because selector overlap alone does not prove a rule is dead. Future cleanup should remove a rule only after reference scanning, browser comparison, and full regression testing.
