---
id: ATS-PFM-CSH-005
scope: CAP-PFM-CSH-005
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-005-01
    title: Personal identity selects a readable name and initials
    level: unit
    proves:
      - BR-CAP-PFM-CSH-005-01
    preconditions: >-
      Account fixtures provide a display name, separate name parts or email
      alone.
    steps: Render the personal menu for each identity fixture.
    expected: >-
      The selected name, corresponding initials and email follow the identity
      fallback policy.
    negative: false
    data_needs: Independent fixture inputs for the variants listed in this case.
    bound_to: []
    provenance: proposed
    source: 'react-console:components/console/app-sidebar.tsx:initialsOf'
    category: rule
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:components/console/app-sidebar.tsx:initialsOf'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:components/console/app-sidebar.tsx:initialsOf'
  - id: ATS-PFM-CSH-005-02
    title: Responsibilities depend on mode and read authority
    level: browser
    proves:
      - BR-CAP-PFM-CSH-005-02
    preconditions: >-
      Fixtures cover an authorized workspace, a workspace without the grant and
      HQ.
    steps: Inspect the personal actions in each fixture.
    expected: Only the authorized workspace fixture includes My Responsibilities.
    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/app-sidebar.tsx:AppSidebar'
    category: permission
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:components/console/app-sidebar.tsx:AppSidebar'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:components/console/app-sidebar.tsx:AppSidebar'
  - id: ATS-PFM-CSH-005-03
    title: Feedback thanks do not imply service receipt
    level: browser
    proves:
      - BR-CAP-PFM-CSH-005-04
    preconditions: A fresh feedback dialog is open with request capture enabled.
    steps: Select a rating and submit the dialog.
    expected: >-
      The local acknowledgement appears while no feedback submission request is
      sent.
    negative: false
    data_needs: >-
      An isolated browser context with the stated identity, workspace and
      response fixtures.
    bound_to: []
    provenance: proposed
    source: 'react-console:components/console/feedback-dialog.tsx:FeedbackDialog'
    category: rule
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:components/console/feedback-dialog.tsx:FeedbackDialog'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:components/console/feedback-dialog.tsx:FeedbackDialog'
  - id: ATS-PFM-CSH-005-04
    title: Feedback validates selection and text length
    level: browser
    proves:
      - BR-CAP-PFM-CSH-005-08
    preconditions: No rating is selected when the dialog opens.
    steps: >-
      Try submission, choose a rating and enter more than the supported details
      length.
    expected: >-
      Submission requires the rating; the details control accepts no more than
      2,000 characters.
    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/feedback-dialog.tsx:FeedbackDialog'
    category: validation
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:components/console/feedback-dialog.tsx:FeedbackDialog'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:components/console/feedback-dialog.tsx:FeedbackDialog'
  - id: ATS-PFM-CSH-005-05
    title: Personal actions follow the staff working mode
    category: interaction
    level: browser
    proves:
      - BR-CAP-PFM-CSH-005-02
      - BR-CAP-PFM-CSH-013-05
    preconditions: A staff user can enter an association workspace and HQ.
    steps: 'Inspect personal actions in the workspace, then return to HQ.'
    expected: >-
      Settings and permitted responsibilities belong to workspace mode; HQ does
      not retain those workspace menu actions.
    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-005-reach-my-own-pages-help-and-sign-out-from-the-user-menu.md
    test_sources: []
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-005-reach-my-own-pages-help-and-sign-out-from-the-user-menu.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-005-reach-my-own-pages-help-and-sign-out-from-the-user-menu.md
evidence:
  - >-
    react-console at baf6dae:
    components/console/{app-sidebar,feedback-dialog}.tsx,
    lib/authz/backend-aliases.ts (configuration.responsibilities.view).
  - >-
    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-055.
coverage:
  rule: covered
  transition: 'gap: FND-PFM-CSH-055'
  validation: covered
  permission: 'gap: FND-PFM-CSH-055'
  edge: 'gap: FND-PFM-CSH-055'
  failure: 'gap: FND-PFM-CSH-055'
  boundary: 'gap: FND-PFM-CSH-055'
  concurrency: 'gap: FND-PFM-CSH-055'
  invariant: 'gap: FND-PFM-CSH-055'
  interaction: 'gap: FND-PFM-CSH-055'
coverage_notes:
  rule:
    provenance: proposed
    source: >-
      ATS-PFM-CSH-005-01; ATS-PFM-CSH-005-02; ATS-PFM-CSH-005-03;
      ATS-PFM-CSH-005-04; ATS-PFM-CSH-005-05
    reason: >-
      Every mandatory rule has a proving scenario, including shared interaction
      cases; bindings identify execution separately.
  transition:
    provenance: unknown
    source: FND-PFM-CSH-055
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  validation:
    provenance: proposed
    source: ATS-PFM-CSH-005-04
    reason: >-
      The listed scenarios specify this category; their bindings separately
      identify existing executable evidence.
  permission:
    provenance: unknown
    source: FND-PFM-CSH-055
    reason: >-
      The named permission keys still need a complete allowed, denied and scope
      matrix across their enforcement boundaries.
  edge:
    provenance: unknown
    source: FND-PFM-CSH-055
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  failure:
    provenance: unknown
    source: FND-PFM-CSH-055
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  boundary:
    provenance: unknown
    source: FND-PFM-CSH-055
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  concurrency:
    provenance: unknown
    source: FND-PFM-CSH-055
    reason: >-
      No complete scenario matrix covers repeated events, overlapping reads or
      superseded answers for this capability.
  invariant:
    provenance: unknown
    source: FND-PFM-CSH-055
    reason: Associated object invariants remain without explicit proving scenarios.
  interaction:
    provenance: unknown
    source: FND-PFM-CSH-055
    reason: >-
      Related-capability combinations remain unspecified beyond the interactions
      listed.
design_obligations: []
interactions:
  - capability: CAP-PFM-CSH-007
    provenance: unknown
    source: FND-PFM-CSH-055
  - capability: CAP-PFM-CSH-013
    provenance: proposed
    source: ATS-PFM-CSH-005-05
workflow_obligations: []
---

# Find personal actions and support in the user menu: 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-005-01` | `ATS-PFM-CSH-005-01` |
| `BR-CAP-PFM-CSH-005-02` | `ATS-PFM-CSH-005-02`, `ATS-PFM-CSH-005-05` |
| `BR-CAP-PFM-CSH-005-04` | `ATS-PFM-CSH-005-03` |
| `BR-CAP-PFM-CSH-005-08` | `ATS-PFM-CSH-005-04` |

Personal-menu coverage needs display-name and initials cases, sign-out delegation, staff-mode transitions and feedback’s rating and text limits. A local acknowledgement establishes no durable feedback receipt.

## Interactions With Related Capabilities

Settings and permitted responsibilities belong to workspace mode; HQ does not retain those workspace menu actions.

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.
