SIGN IN SIGN UP

refactor(navigation): promote Performance and System Specifications to sidebar destinations (#1943)

* refactor(navigation): promote Performance and System Specifications to destinations

The grouped sidebar carried two section headers labelling one entry each, and
the Performance screen still stacked the Grouped Dashboard tab row above its
own toolbar. Both screens become peer sidebar destinations instead:

- Replace the Grouped Dashboard destination with Performance and System
  Specifications entries and drop the single-child section headers.
- Normalize a stored groupedDashboard selection onto Performance; the last
  open tab was UI-local state and is not carried over.
- Give System Specifications its own screen chrome and drop the embedded
  mode Performance only needed inside a tab panel.
- Reword the restructure notice, which described a Dashboard that no longer
  holds these screens.
- Record the decision in ADR 0015, cross-link ADR 0010/0014, and move the
  CONTEXT.md terms from tabs to screens.

* fix(navigation): localize menu names and align the superseded ADRs

- Build the side menu's accessible names from the translated destination
  title instead of the internal identifier, so screen readers no longer hear
  "open systemSpecifications". The expanded entry drops its redundant English
  "tab" label and takes its name from the visible title.
- State precisely which parts of ADR 0010 the destination change superseded,
  and move ADR 0014's presentation decision onto screen terminology.
- Cover the upgrade paths: a stored Grouped Dashboard or classic-only
  selection lands on Performance, and a shared destination survives. The
  mock harness can now seed `display` to exercise them.

* fix(e2e): point the native smoke at the localized side-menu name

Localizing the side menu's accessible names changed the Settings entry from
"open settings" to "Open Settings", which the native smoke still matched by
the old identifier and timed out waiting for.

* fix(navigation): use destination semantics and honor full screen

- Drop role="tab"/aria-selected from the side menu. These entries switch
  destinations and there is no tablist or tab panel behind them, so they
  now report selection as aria-current="page".
- Teach ScreenTemplate about full screen. The closed rail is not rendered
  there, so its 64px gutter left a phantom margin; System Specifications
  regressed here because it replaced a wrapper that was full-screen aware.
  Measured: padding-left 64px normally, 16px in full screen.
- Assert the shared destination is actually selected in the upgrade-path
  test instead of only proving Performance is absent.
S
shm committed
c4540ac9c809f9268206ac6597d65d9ec9ab9765
Parent: 453d557
Committed by GitHub <noreply@github.com> on 8/16/2026, 3:10:48 PM