---
id: SCR-PFM-CSH-001
title: Console frame and header
route: '(every console page under /console/{tenantId} and /hq)'
surface: console
product_area: platform
module: console-shell
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
purpose: >-
  The shared frame provides orientation and common tools around console pages
  once a security context is available.
supports:
  - JNY-PFM-CSH-001
  - JNY-PFM-CSH-002
  - CAP-PFM-CSH-001
  - CAP-PFM-CSH-002
  - CAP-PFM-CSH-003
  - CAP-PFM-CSH-013
permission: >-
  platform.security-self.read (the security context); hosted tools carry their
  own
entry_from:
  - Start-up screens (once the security context answers)
exits_to:
  - Workspace home (logo)
  - >-
    Bare console root (logo in Rhythm HQ; starting destination then selects
    Rhythm HQ)
  - 'Hosted tools (search, recent items, alerts, assistant)'
inference: []
displays:
  - field: Home logo
    source: DOM-PFM-CSH-001 working context (target of the home link)
  - field: Selected workspace or staff HQ label
    source: DOM-PFM-CSH-001 shell mode and working context
  - field: 'Search, financial context, recent records and alerts'
    source: >-
      Hosted by the shell; owned by Queries, Accounting, Operations and
      Notifications
  - field: Assistant toggle and dock state
    source: DOM-PFM-CSH-001 assistant panel open (hidden on the assistant's own page)
  - field: Dismissible context explanation
    source: DOM-PFM-CSH-001 context notice
  - field: Page-selected content width
    source: 'DOM-PFM-CSH-001 page width, chosen by the page'
  - field: Toast region above editor actions
    source: Console toast region
actions:
  - label: Rhythm logo (home)
    operation_id: 'none: console navigation'
    permission: 'none: no action-level permission check'
    confirm: false
  - label: Menu toggle (Command or Ctrl with B)
    operation_id: 'none: console only'
    permission: 'none: no action-level permission check'
    confirm: false
  - label: 'Quick Search (Command or Ctrl with K, or slash outside a typing field)'
    operation_id: 'none: opens the hosted search, owned by Queries'
    permission: platform.quick-search.read
    confirm: false
  - label: Configuration (Command or Ctrl with comma)
    operation_id: 'none: console navigation'
    permission: 'none: the keyboard handler does not check configuration.access'
    confirm: false
  - label: Ask Jazz AI (Command or Ctrl with J)
    operation_id: 'none: opens the hosted assistant, owned by the LLM module'
    permission: 'none: no action-level permission check'
    confirm: false
  - label: Dismiss notice
    operation_id: 'none: console only'
    permission: 'none: no action-level permission check'
    confirm: false
states:
  - ready
  - workspace entry busy
  - context notice visible
  - staff HQ mode
validation:
  - BR-CAP-PFM-CSH-001-01
  - BR-CAP-PFM-CSH-001-02
  - BR-CAP-PFM-CSH-001-05
  - BR-CAP-PFM-CSH-001-06
  - BR-CAP-PFM-CSH-002-01
  - BR-CAP-PFM-CSH-002-02
  - BR-CAP-PFM-CSH-003-01
  - BR-CAP-PFM-CSH-003-03
  - BR-CAP-PFM-CSH-003-04
  - BR-CAP-PFM-CSH-003-05
  - BR-CAP-PFM-CSH-004-05
  - BR-CAP-PFM-CSH-013-04
patterns:
  - 'SidebarProvider, SidebarInset and the hosted assistant dock'
  - PageLayout with Full or Standard width
  - Toast region with editor action bar clearance
  - 'Design-system Button, Kbd and Tooltip'
component: >-
  components/console/console-shell.tsx; components/console/site-header.tsx;
  components/console/console-provider.tsx
evidence:
  - >-
    react-console at baf6dae:
    components/console/{console-shell,site-header,console-provider,page-layout}.tsx;
    docs/page-layouts.md.
controls: [TC-AVL-001, TC-AVL-004, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-CRY-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-004, TC-IAM-001, TC-IAM-002, TC-IAM-003, TC-IAM-004, TC-IAM-005, TC-LOG-001, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-MON-002, TC-MON-003, TC-PI-001, TC-PI-002, TC-PI-003, TC-PI-004, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---
# Console frame and header

## What the Screen Is For

The shared frame provides orientation and common tools around console pages once a security context is available. Workspace mode shows the switcher; staff HQ mode shows the Rhythm HQ label.

## What It Shows and Lets People Do

The header offers the home logo, sidebar toggle, working context, search, financial context, recent records, alerts and assistant. The logo in HQ opens the bare root, which then selects the starting destination. Search shortcuts depend on search access. Configuration and assistant shortcuts do not perform their own destination permission checks. Notices can be dismissed, and toasts clear editor action bars. Each rendering page selects Full or Standard width.

## States and Errors

The frame mounts after start-up readiness. Workspace entry can keep it visible while the switcher indicates activity. A context notice explains an unexpected selection, and hosted tools handle their own failures.

## Patterns It Must Respect

The implementation uses SidebarProvider and SidebarInset with the shared PageLayout conventions. Sidebar folding has its own keyboard listener; search, Configuration and assistant shortcuts use ConsoleProvider. Hosted tools retain their own contracts.
