# UI Regression Backlog

Date: 2026-04-23

## Purpose

This backlog tracks slower runtime regression assets:

- browser-visible workflows
- metadata-driven rendering behavior
- admin/setup interactions
- multi-step business scenarios

These items are expected to run less frequently than fast API checks and are
better suited for staging inspection, scheduled runs, or refactor milestone gates.

## P0

### 1. Layout-driven record runtime behavior

- Tier: UI/runtime
- Why: page layouts are currently a major uncovered P0 area and are central to
  the metadata-driven product model
- Protects:
  - sectioned create/edit forms
  - layout default selection
  - listFields-driven columns
  - compact/highlight panel field selection
  - related-list rendering and navigation
- Source references:
  - `tests/e2e/ORIGIN_COVERAGE_GAPS.md` Group A

### 2. Field editor persistence and readback

- Tier: UI/runtime
- Why: setup changes that appear saved but do not persist are high-cost regressions
- Protects:
  - required/default/toggle persistence
  - reopen-and-readback confirmation
  - setup editor save loops
- Source issues:
  - `#1717`

### 3. Lead convert end-to-end scenario

- Tier: Scenario
- Why: this is a canonical cross-object user journey and a likely refactor casualty
- Protects:
  - convert flow completion
  - create/skip behavior
  - downstream record visibility
  - final readback correctness
- Existing foothold:
  - `tests/e2e-api/cases/lead_convert/*.json`

### 4. Quote approval scenario

- Tier: Scenario
- Why: combines record creation, line logic, approval state, and user-visible readback
- Protects:
  - submit-for-approval path
  - approval queue behavior
  - approval state transitions
  - quote visibility after state changes
- Existing foothold:
  - `tests/e2e-api/scenarios/quote-approval-e2e.md`

### 5. Quote-to-order scenario

- Tier: Scenario
- Why: currently one of the highest business-value chains and a known bug cluster
- Protects:
  - quote -> order orchestration
  - field copy / line copy / status / autonumber behavior
  - final order readback
- Existing foothold:
  - `tests/e2e-api/scenarios/quote-to-order.json`
  - `docs/launch-case-list/contract_quote_order_launch.md`

## P1

### 5b. Profile-gated setup/admin recovery flow

- Tier: UI/runtime plus scenario
- Why: the original `Profile` failures were user-visible as missing setup entries
  and under-rendered admin forms, even when the underlying root cause was in
  control-plane permission convergence
- Protects:
  - Setup entries gated by recovered system permissions remain visible
  - setup/user-management forms stay fully projected after permission convergence
  - UI affordances and backend-enforced profile permissions stay aligned
- Preferred asset shape:
  - one browser-visible admin/setup validation flow
  - pair UI screenshots/readback with the sampled permission-chain counters
- Source references:
  - `docs/profile/validation-01-system-permission-ssot-backfill.md`
  - `docs/profile/validation-02-setup-object-permission-repair.md`
  - `docs/profile/staging-validation-checklist.md`

### 6. Metadata-driven rendering quality

- Tier: UI/runtime
- Why: many repaired issues are only visible in actual rendering
- Protects:
  - configured labels instead of API-name fallbacks
  - picklist labels without duplication
  - multipicklist badge rendering
  - currency/percent formatting
  - lookup display fields and dot-notation display
- Source references:
  - `tests/e2e/ORIGIN_COVERAGE_GAPS.md` Group D

### 7. Flow-triggered runtime scenario

- Tier: Scenario
- Why: a large refactor can preserve raw API behavior while breaking orchestration
- Protects:
  - create/update trigger firing
  - side-effect visibility
  - null-path and error-path runtime behavior
- Existing foothold:
  - `tests/e2e-api/scenarios/flow-record-triggered-e2e.md`

### 8. Validation-rule admin and runtime flow

- Tier: UI/runtime plus scenario
- Why: admin setup and end-user save behavior must stay connected
- Protects:
  - create/edit/delete validation rule in Setup
  - user save rejection on violating rule
  - unchanged-field safe updates
- Source references:
  - `tests/e2e/ORIGIN_COVERAGE_GAPS.md` Group C

### 9. Approval queue and pending approvals runtime

- Tier: UI/runtime
- Why: regressions can manifest as user-facing 404s or list failures
- Protects:
  - pending approval load
  - queue render stability
  - action path continuity
- Source references:
  - `tests/e2e/ORIGIN_COVERAGE_GAPS.md` Group G

### 10. Permission-gated user journey

- Tier: Scenario
- Why: permissions must align across UI affordances and backend enforcement
- Protects:
  - visible vs hidden actions
  - blocked writes for low-privilege users
  - successful writes for authorized users
- Existing foothold:
  - `tests/e2e-api/scenarios/security-approval-auth.md`
  - `tests/e2e-api/scenarios/security-permission-phase0.md`

### 11. Setup/layout change -> runtime effect scenario

- Tier: Scenario
- Why: this directly validates the product's metadata-driven promise
- Protects:
  - admin changes layout or field config
  - regular user immediately sees runtime effect
  - save and readback stay consistent

## P2

### 12. Pagination runtime behavior

- Tier: UI/runtime
- Why: important daily UX but lower risk than cross-object business paths
- Protects:
  - page size selector
  - next/previous navigation
  - return-from-detail state persistence
- Source references:
  - `tests/e2e/ORIGIN_COVERAGE_GAPS.md` Group E

### 13. Auth and app-launcher runtime checks

- Tier: UI/runtime
- Why: broad but slightly lower priority than the core business flows
- Protects:
  - password-preservation restart behavior
  - app launcher deduplication
  - key login/runtime entry affordances
- Source references:
  - `tests/e2e/ORIGIN_COVERAGE_GAPS.md` Groups H and I

## Notes

- Some scenario assets currently exist only as markdown design or partial JSON;
  they still belong in this backlog until promoted into stable execution.
- UI/runtime backlog items should prefer readback validation over transient "save
  succeeded" signals.
