---
id: ATS-PFM-CSH-003
scope: CAP-PFM-CSH-003
product_area: platform
module: console-shell
revision: 3
status: proposed
approved_by: null
approved_at: null
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  rhythm-v2-docs: 25e253cb434aac6603ee294e3ca197ab6c4bfd0b
scenarios:
  - id: ATS-PFM-CSH-003-01
    title: Both command modifiers recognize search
    level: unit
    proves:
      - BR-CAP-PFM-CSH-003-07
    preconditions: Independent key fixtures supply lowercase and uppercase K.
    steps: 'Evaluate Command with K, Ctrl with K and the uppercase command variant.'
    expected: Each permitted chord matches the search-command predicate.
    negative: false
    data_needs: Independent fixture inputs for the variants listed in this case.
    bound_to:
      - TST-PFM-CSH-025
    provenance: test
    source: >-
      react-console:lib/quick-search/__tests__/shortcut.test.ts#accepts Cmd+K
      and Ctrl+K, whatever the machine is
    category: validation
    test_sources:
      - >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#accepts Cmd+K
        and Ctrl+K, whatever the machine is
      - >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#accepts an
        upper-case K, which is what some layouts report
    action_evidence:
      provenance: test
      source: >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#accepts Cmd+K
        and Ctrl+K, whatever the machine is
    assertion_evidence:
      provenance: test
      source: >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#accepts Cmd+K
        and Ctrl+K, whatever the machine is
  - id: ATS-PFM-CSH-003-02
    title: A missing search grant leaves the command unhandled
    level: browser
    proves:
      - BR-CAP-PFM-CSH-003-01
    preconditions: The working session holds no search authority.
    steps: Issue Ctrl with K and slash outside editable controls.
    expected: Search remains closed and the command chord retains its browser behavior.
    negative: true
    data_needs: >-
      An isolated browser context with the stated identity, workspace and
      response fixtures.
    bound_to: []
    provenance: proposed
    source: >-
      react-console:lib/quick-search/__tests__/shortcut.test.ts#accepts Cmd+K
      and Ctrl+K, whatever the machine is
    category: permission
    test_sources: []
    action_evidence:
      provenance: proposed
      source: >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#accepts Cmd+K
        and Ctrl+K, whatever the machine is
    assertion_evidence:
      provenance: proposed
      source: >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#accepts Cmd+K
        and Ctrl+K, whatever the machine is
  - id: ATS-PFM-CSH-003-03
    title: Nearby chords remain ordinary keyboard input
    level: unit
    proves:
      - BR-CAP-PFM-CSH-003-02
    preconditions: >-
      Key fixtures include bare, shifted and alternate-modified K and another
      modified letter.
    steps: Evaluate each fixture against the search-command predicate.
    expected: Every unrelated combination returns no match.
    negative: true
    data_needs: Independent fixture inputs for the variants listed in this case.
    bound_to:
      - TST-PFM-CSH-025
    provenance: test
    source: >-
      react-console:lib/quick-search/__tests__/shortcut.test.ts#leaves a bare K
      alone, so typing a name never opens a dialog
    category: edge
    test_sources:
      - >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#leaves a bare
        K alone, so typing a name never opens a dialog
      - >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#leaves Shift+K
        alone, with or without a modifier
      - >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#leaves Alt+K
        alone
      - >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#is not fooled
        by another letter held with the same modifier
    action_evidence:
      provenance: test
      source: >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#leaves a bare
        K alone, so typing a name never opens a dialog
    assertion_evidence:
      provenance: test
      source: >-
        react-console:lib/quick-search/__tests__/shortcut.test.ts#leaves a bare
        K alone, so typing a name never opens a dialog
  - id: ATS-PFM-CSH-003-04
    title: Slash opens search only outside text entry
    level: browser
    proves:
      - BR-CAP-PFM-CSH-003-03
    preconditions: The person can use search and can focus a text field.
    steps: Press slash on the page and repeat with the field focused.
    expected: >-
      The page command opens search; the focused field receives the character
      without opening search.
    negative: true
    data_needs: >-
      An isolated browser context with the stated identity, workspace and
      response fixtures.
    bound_to: []
    provenance: proposed
    source: 'react-console:components/console/console-provider.tsx:ConsoleProvider'
    category: interaction
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:components/console/console-provider.tsx:ConsoleProvider'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:components/console/console-provider.tsx:ConsoleProvider'
  - id: ATS-PFM-CSH-003-05
    title: The Configuration shortcut and return control share the prior work
    category: interaction
    level: browser
    proves:
      - BR-CAP-PFM-CSH-003-04
      - BR-CAP-PFM-CSH-007-03
    preconditions: A permitted employee is viewing a contact record.
    steps: 'Use the Configuration shortcut, then Back to app.'
    expected: >-
      The shortcut opens the administrative destination and the return control
      resumes the record address.
    negative: false
    data_needs: >-
      A fresh browser context, isolated account fixtures and controlled
      responses for the listed transitions.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-003-act-from-the-keyboard.md
    test_sources: []
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-003-act-from-the-keyboard.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-003-act-from-the-keyboard.md
evidence:
  - >-
    react-console at baf6dae: components/console/console-provider.tsx,
    components/ui/sidebar.tsx, lib/quick-search/shortcut.ts,
    lib/quick-search/__tests__/shortcut.test.ts, docs/quick-search.md
    (keyboard), e2e/layout/page-layouts.spec.ts.
  - >-
    rhythm-v2-docs at 25e253cb434aac6603ee294e3ca197ab6c4bfd0b: capability,
    related capabilities, domain objects, client lifecycles, workflows and prior
    OpenAI examinations; continuation coverage limitations are recorded in
    FND-PFM-CSH-053.
coverage:
  rule: 'gap: FND-PFM-CSH-053'
  transition: 'gap: FND-PFM-CSH-053'
  validation: covered
  permission: 'gap: FND-PFM-CSH-053'
  edge: covered
  failure: 'gap: FND-PFM-CSH-053'
  boundary: 'gap: FND-PFM-CSH-053'
  concurrency: 'gap: FND-PFM-CSH-053'
  invariant: 'gap: FND-PFM-CSH-053'
  interaction: 'gap: FND-PFM-CSH-053'
coverage_notes:
  rule:
    provenance: unknown
    source: FND-PFM-CSH-053
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  transition:
    provenance: unknown
    source: FND-PFM-CSH-053
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  validation:
    provenance: proposed
    source: ATS-PFM-CSH-003-01
    reason: >-
      The listed scenarios specify this category; their bindings separately
      identify existing executable evidence.
  permission:
    provenance: unknown
    source: FND-PFM-CSH-053
    reason: >-
      The named permission keys still need a complete allowed, denied and scope
      matrix across their enforcement boundaries.
  edge:
    provenance: proposed
    source: ATS-PFM-CSH-003-03
    reason: >-
      The listed scenarios specify this category; their bindings separately
      identify existing executable evidence.
  failure:
    provenance: unknown
    source: FND-PFM-CSH-053
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  boundary:
    provenance: unknown
    source: FND-PFM-CSH-053
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  concurrency:
    provenance: unknown
    source: FND-PFM-CSH-053
    reason: >-
      No complete scenario matrix covers repeated events, overlapping reads or
      superseded answers for this capability.
  invariant:
    provenance: unknown
    source: FND-PFM-CSH-053
    reason: Associated object invariants remain without explicit proving scenarios.
  interaction:
    provenance: unknown
    source: FND-PFM-CSH-053
    reason: >-
      Related-capability combinations remain unspecified beyond the interactions
      listed.
design_obligations: []
interactions:
  - capability: CAP-PFM-CSH-002
    provenance: unknown
    source: FND-PFM-CSH-053
  - capability: CAP-PFM-CSH-007
    provenance: proposed
    source: ATS-PFM-CSH-003-05
workflow_obligations: []
---

# Reach common actions with keyboard shortcuts: Capability Test Specification

## Coverage

The coverage map describes specified proof, not a passing run. Each mandatory rule below has a scenario or an explicit finding; a proposed scenario remains an execution obligation even when its expected outcome follows the pinned implementation.

| Mandatory Rule | Scenarios or Finding |
|---|---|
| `BR-CAP-PFM-CSH-003-01` | `ATS-PFM-CSH-003-02` |
| `BR-CAP-PFM-CSH-003-02` | `ATS-PFM-CSH-003-03` |
| `BR-CAP-PFM-CSH-003-03` | `ATS-PFM-CSH-003-04` |
| `BR-CAP-PFM-CSH-003-07` | `ATS-PFM-CSH-003-01` |

The browser handler still needs tests for permitted search, prevented default behavior, every editable target and repeated commands. Matcher tests alone do not prove dialog behavior or the API’s search permission.

## Interactions With Related Capabilities

The shortcut opens the administrative destination and the return control resumes the record address.

The interaction rows cite the contracts they exercise. Related combinations without a complete case remain in the coverage finding, together with cross-capability workflows and permission boundaries. A helper assertion is bound only for its stated outcome; the full browser handoff remains proposed until a suite checks it.


Pinned source and exact test anchors are recorded in frontmatter. Test bindings record static assertion review and use the executable-suite register; no product test result is inferred from that review. The prior planning and design examinations supply context, while this continuation records the remaining proof obligations explicitly.
