---
id: ATS-PFM-CSH-007
scope: CAP-PFM-CSH-007
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-007-01
    title: Area offers require a readable destination
    level: unit
    proves:
      - BR-CAP-PFM-CSH-007-02
    preconditions: >-
      Grant fixtures cover area access alone, one Security destination, full
      grants and no grants.
    steps: Calculate each fixture’s offered settings areas.
    expected: >-
      Area-only and empty fixtures offer nothing; the readable Security fixture
      offers Security and full grants offer the registered areas.
    negative: true
    data_needs: Independent fixture inputs for the variants listed in this case.
    bound_to:
      - TST-PFM-CSH-022
    provenance: test
    source: >-
      react-console:lib/console/__tests__/settings-area-menu.test.ts#does not
      offer Security or Maintenance to a person who holds only the areas' access
      keys
    category: permission
    test_sources:
      - >-
        react-console:lib/console/__tests__/settings-area-menu.test.ts#does not
        offer Security or Maintenance to a person who holds only the areas'
        access keys
      - >-
        react-console:lib/console/__tests__/settings-area-menu.test.ts#offers
        Security once the person holds one of its links' keys
      - >-
        react-console:lib/console/__tests__/settings-area-menu.test.ts#still
        offers every area to a person who holds everything, and none to a person
        who holds nothing
    action_evidence:
      provenance: test
      source: >-
        react-console:lib/console/__tests__/settings-area-menu.test.ts#does not
        offer Security or Maintenance to a person who holds only the areas'
        access keys
    assertion_evidence:
      provenance: test
      source: >-
        react-console:lib/console/__tests__/settings-area-menu.test.ts#does not
        offer Security or Maintenance to a person who holds only the areas'
        access keys
  - id: ATS-PFM-CSH-007-02
    title: Settings departure resumes the prior record
    level: browser
    proves:
      - BR-CAP-PFM-CSH-007-03
      - AS-JNY-PFM-CSH-002-01
      - AS-JNY-PFM-CSH-002-03
    preconditions: An administrator starts on an existing record page.
    steps: 'Enter Configuration, visit Regions and select Back to app.'
    expected: >-
      The settings menu replaces daily navigation; the return action restores
      the original record destination.
    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/app-sidebar.tsx:AppSidebar,
      SettingsNavigation
    category: interaction
    test_sources: []
    action_evidence:
      provenance: proposed
      source: >-
        react-console:components/console/app-sidebar.tsx:AppSidebar,
        SettingsNavigation
    assertion_evidence:
      provenance: proposed
      source: >-
        react-console:components/console/app-sidebar.tsx:AppSidebar,
        SettingsNavigation
  - id: ATS-PFM-CSH-007-03
    title: Administrative roots choose their recorded first page
    level: browser
    proves:
      - BR-CAP-PFM-CSH-007-04
    preconditions: A permitted fixture can enter each administrative root.
    steps: 'Open Security, Maintenance and Data Management independently.'
    expected: >-
      Their initial destinations are Users, Scheduled Jobs and Data Imports
      respectively.
    negative: false
    data_needs: >-
      An isolated browser context with the stated identity, workspace and
      response fixtures.
    bound_to: []
    provenance: proposed
    source: 'react-console:docs/url-architecture.md#4.1 Tenant console'
    category: rule
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:docs/url-architecture.md#4.1 Tenant console'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:docs/url-architecture.md#4.1 Tenant console'
  - id: ATS-PFM-CSH-007-04
    title: Older Maintenance paths keep their view and query
    level: unit
    proves:
      - BR-CAP-PFM-CSH-007-06
    preconditions: >-
      Compatibility fixtures name duplicate-rule and integration paths with
      suffixes and queries.
    steps: Resolve each former Maintenance destination.
    expected: >-
      The resulting Configuration address retains the requested suffix and
      query.
    negative: false
    data_needs: Independent fixture inputs for the variants listed in this case.
    bound_to: []
    provenance: proposed
    source: 'react-console:docs/url-architecture.md#3. Workspaces'
    category: interaction
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:docs/url-architecture.md#3. Workspaces'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:docs/url-architecture.md#3. Workspaces'
  - id: ATS-PFM-CSH-007-05
    title: Every Security menu entry reaches its destination
    level: browser
    proves:
      - BR-CAP-PFM-CSH-007-07
    preconditions: The development administrator holds the required Security grants.
    steps: Enter Security through the account menu and select every registered area.
    expected: Every selected entry reaches its recorded destination and visible heading.
    negative: false
    data_needs: >-
      An isolated browser context with the stated identity, workspace and
      response fixtures.
    bound_to:
      - TST-PFM-CSH-015
    provenance: test
    source: >-
      react-console:e2e/security/navigation.spec.ts#reaches every Security area
      from the sidebar
    category: rule
    test_sources:
      - >-
        react-console:e2e/security/navigation.spec.ts#reaches every Security
        area from the sidebar
    action_evidence:
      provenance: test
      source: >-
        react-console:e2e/security/navigation.spec.ts#reaches every Security
        area from the sidebar
    assertion_evidence:
      provenance: test
      source: >-
        react-console:e2e/security/navigation.spec.ts#reaches every Security
        area from the sidebar
  - id: ATS-PFM-CSH-007-06
    title: Orders settings expose Stores without Price Schedules
    level: unit
    proves:
      - BR-CAP-PFM-CSH-007-10
    preconditions: >-
      The Orders settings menu and configuration catalogue are inspected
      together.
    steps: Find Stores and inspect both catalogues for Price Schedules.
    expected: >-
      Stores carries its own view grant; neither catalogue contains Price
      Schedules.
    negative: false
    data_needs: Independent fixture inputs for the variants listed in this case.
    bound_to:
      - TST-PFM-CSH-019
    provenance: test
    source: 'react-console:lib/console/__tests__/orders-nav.test.ts'
    category: rule
    test_sources:
      - >-
        react-console:lib/console/__tests__/orders-nav.test.ts#lists Stores with
        its own view permission
      - >-
        react-console:lib/console/__tests__/orders-nav.test.ts#does not list
        Price Schedules: a schedule belongs to the event that sells the product
        (ruling R5, 2026-10-22)
    action_evidence:
      provenance: test
      source: 'react-console:lib/console/__tests__/orders-nav.test.ts'
    assertion_evidence:
      provenance: test
      source: 'react-console:lib/console/__tests__/orders-nav.test.ts'
  - id: ATS-PFM-CSH-007-07
    title: Configuration entry hands off to the application overview guard
    category: interaction
    level: browser
    proves:
      - BR-CAP-PFM-CSH-007-01
      - BR-CAP-PFM-CSH-017-01
    preconditions: A user can enter Configuration but lacks application-view authority.
    steps: 'Open Configuration home directly, then repeat with the view key.'
    expected: >-
      The first session receives the overview refusal and the second can inspect
      application availability; area access supplies no substitute for the page
      key.
    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-007-move-into-a-settings-area-and-back-to-my-work.md
    test_sources: []
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-007-move-into-a-settings-area-and-back-to-my-work.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-007-move-into-a-settings-area-and-back-to-my-work.md
evidence:
  - >-
    react-console at baf6dae:
    components/console/{nav-config.ts,app-sidebar.tsx},
    lib/console/use-visible-nav.ts,
    lib/console/__tests__/settings-area-menu.test.ts, lib/configuration/areas.ts
    (movedMaintenanceAreaPath), docs/url-architecture.md §3 and §4.1,
    e2e/security/navigation.spec.ts, e2e/dev/regions.dev.spec.ts.
  - >-
    services-platform at ad3f6a6: aws/platform.service.ts
    (APPLICATION_PERMISSIONS: platform.application.access reveals the
    administration areas).
  - >-
    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-057.
coverage:
  rule: covered
  transition: 'gap: FND-PFM-CSH-057'
  validation: 'gap: FND-PFM-CSH-057'
  permission: 'gap: FND-PFM-CSH-057'
  edge: 'gap: FND-PFM-CSH-057'
  failure: 'gap: FND-PFM-CSH-057'
  boundary: 'gap: FND-PFM-CSH-057'
  concurrency: 'gap: FND-PFM-CSH-057'
  invariant: 'gap: FND-PFM-CSH-057'
  interaction: 'gap: FND-PFM-CSH-057'
coverage_notes:
  rule:
    provenance: proposed
    source: >-
      ATS-PFM-CSH-003-05; ATS-PFM-CSH-007-01; ATS-PFM-CSH-007-02;
      ATS-PFM-CSH-007-03; ATS-PFM-CSH-007-04; ATS-PFM-CSH-007-06
    reason: >-
      Every mandatory rule has a proving scenario, including shared interaction
      cases; bindings identify execution separately.
  transition:
    provenance: unknown
    source: FND-PFM-CSH-057
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  validation:
    provenance: unknown
    source: FND-PFM-CSH-057
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  permission:
    provenance: unknown
    source: FND-PFM-CSH-057
    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-057
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  failure:
    provenance: unknown
    source: FND-PFM-CSH-057
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  boundary:
    provenance: unknown
    source: FND-PFM-CSH-057
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  concurrency:
    provenance: unknown
    source: FND-PFM-CSH-057
    reason: >-
      No complete scenario matrix covers repeated events, overlapping reads or
      superseded answers for this capability.
  invariant:
    provenance: unknown
    source: FND-PFM-CSH-057
    reason: Associated object invariants remain without explicit proving scenarios.
  interaction:
    provenance: unknown
    source: FND-PFM-CSH-057
    reason: >-
      Related-capability combinations remain unspecified beyond the interactions
      listed.
design_obligations: []
interactions:
  - capability: CAP-PFM-CSH-005
    provenance: unknown
    source: FND-PFM-CSH-057
  - capability: CAP-PFM-CSH-006
    provenance: unknown
    source: FND-PFM-CSH-057
  - capability: CAP-PFM-CSH-017
    provenance: proposed
    source: ATS-PFM-CSH-007-07
workflow_obligations:
  - artifact: WF-PFM-CSH-007
    provenance: documented
    source: >-
      rhythm-v2-docs:specs/platform/console-shell/design/workflows/WF-PFM-CSH-007-assemble-the-navigation-menu.md
    disposition: 'gap: FND-PFM-CSH-057'
    note: >-
      Review every hop, branch, failure and race with the cited capability
      scenarios; unexecuted combinations remain in the coverage finding.
---

# Visit settings and return to the preceding work: 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-007-02` | `ATS-PFM-CSH-007-01` |
| `BR-CAP-PFM-CSH-007-03` | `ATS-PFM-CSH-003-05`, `ATS-PFM-CSH-007-02` |
| `BR-CAP-PFM-CSH-007-04` | `ATS-PFM-CSH-007-03` |
| `BR-CAP-PFM-CSH-007-06` | `ATS-PFM-CSH-007-04` |
| `BR-CAP-PFM-CSH-007-10` | `ATS-PFM-CSH-007-06` |

Area offers need a permission matrix across all six areas and their destinations. Back to app needs both a remembered record and fresh direct entry; shortcut visibility must stay distinct from destination authorization.

## Interactions With Related Capabilities

The first session receives the overview refusal and the second can inspect application availability; area access supplies no substitute for the page key.

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.
