---
id: TST-PFM-CSH-014
title: Demonstration console addresses
kind: browser-lifecycle
product_area: platform
module: console-shell
revision: 1
status: draft
source_sha:
  rhythm-v2-docs: 25e253cb434aac6603ee294e3ca197ab6c4bfd0b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: react-console
files:
  - e2e/mock/url-architecture.mock.spec.ts
implements:
  - ATS-PFM-CSH-004-01
  - ATS-PFM-CSH-009-04
  - ATS-PFM-CSH-009-09
  - ATS-PFM-CSH-010-02
  - ATS-PFM-CSH-011-06
  - ATS-PFM-CSH-012-02
  - ATS-PFM-CSH-012-05
  - ATS-PFM-CSH-013-02
  - FAS-PFM-CSH-02-01
  - FAS-PFM-CSH-03-03
  - FAS-PFM-CSH-03-05
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
isolation: Fresh browser context and demonstration local stores per test.
evidence:
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts at
    baf6dae382d6f41dce976c7f848667ccc37e076f
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#the bare root opens the
    remembered tenant's home
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#a record deep link
    survives a reload
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#back and forward move
    between tenant pages
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#Configuration › CRM ›
    Regions loads with its place in the sidebar and the breadcrumb
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#an id no tenant has
    shows not found
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#switching tenant opens
    the same list under the other tenant's id, record ids dropped
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#an old tenant-less URL
    lands on its canonical URL, id and query kept
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#a staff member's old
    tenant-less bookmark opens their remembered tenant after landing in Rhythm
    HQ
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#a staff member's
    bookmark into a standing-grant tenant opens that page and query, from Rhythm
    HQ too
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#a staff member with a
    grant goes straight into the tenant
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#Configuration › CRM ›
    Regions loads with its place in the sidebar and the breadcrumb
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#switching tenant opens
    the same list under the other tenant's id, record ids dropped
  - >-
    react-console:e2e/mock/url-architecture.mock.spec.ts#a staff member's old
    tenant-less bookmark opens their remembered tenant after landing in Rhythm
    HQ
binding_boundary:
  - scenario: ATS-PFM-CSH-004-01
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#the bare root opens
      the remembered tenant's home
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
  - scenario: ATS-PFM-CSH-009-04
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#a record deep link
      survives a reload;
      react-console:e2e/mock/url-architecture.mock.spec.ts#back and forward move
      between tenant pages
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
  - scenario: ATS-PFM-CSH-009-09
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#Configuration › CRM ›
      Regions loads with its place in the sidebar and the breadcrumb
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
  - scenario: ATS-PFM-CSH-010-02
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#an id no tenant has
      shows not found
    note: >-
      This file supplies the listed assertions within a collective binding;
      another registered file supplies the other assertions.
  - scenario: ATS-PFM-CSH-011-06
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#switching tenant
      opens the same list under the other tenant's id, record ids dropped
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
  - scenario: ATS-PFM-CSH-012-02
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#an old tenant-less
      URL lands on its canonical URL, id and query kept
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
  - scenario: ATS-PFM-CSH-012-05
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#a staff member's old
      tenant-less bookmark opens their remembered tenant after landing in Rhythm
      HQ
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
  - scenario: ATS-PFM-CSH-013-02
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#a staff member's
      bookmark into a standing-grant tenant opens that page and query, from
      Rhythm HQ too; react-console:e2e/mock/url-architecture.mock.spec.ts#a
      staff member with a grant goes straight into the tenant
    note: >-
      This file supplies the listed assertions within a collective binding;
      another registered file supplies the other assertions.
  - scenario: FAS-PFM-CSH-02-01
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#Configuration › CRM ›
      Regions loads with its place in the sidebar and the breadcrumb
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
  - scenario: FAS-PFM-CSH-03-03
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#switching tenant
      opens the same list under the other tenant's id, record ids dropped
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
  - scenario: FAS-PFM-CSH-03-05
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#a staff member's old
      tenant-less bookmark opens their remembered tenant after landing in Rhythm
      HQ
    note: >-
      This file supplies the complete stated scenario outcome at its declared
      test boundary.
---

# Demonstration console addresses

## Verification Boundary

The browser checks canonical links, menu position, record reload, list history, switching, refusal, older links and staff bookmarks. Multiple independent examples do not prove a newly composed causal sequence without matching assertions.

This register records static review at the supplied source commits. The suite exists, but this pass does not run it or mark its conformance verified.

## What This Suite Proves

- Customer root entry selects the remembered workspace.
- Record reload and list history retain their destinations.
- A direct settings address aligns menu and breadcrumb.
- An absent workspace identity yields not found.
- Switching rewrites a record destination to the new list.
- An older record link uses the selected customer workspace.
- An older bookmark reuses clearance retained through HQ landing.
- A cleared bookmark enters its workspace from both starts.
- Administrative navigation identifies the direct destination.
- Switching a record opens the corresponding new-workspace list.
- HQ landing keeps clearance useful for an older bookmark.

Bindings that span files are collective: each file contributes only its recorded assertions. The exact anchors are in frontmatter.

## What It Does Not Prove

The register claims only the linked scenario outcomes at this boundary. It establishes no passing deployment result, complete permission matrix or unlisted cross-capability journey. Proposed scenarios and the remaining lifecycle, invariant and race obligations stay in the coverage findings.

## Real Dependencies and Test Doubles

The browser, console components, route builders, menu computation and client provider are real. Demonstration handlers and local fixture stores replace Platform responses; there is no real sign-in or service database in this tier.

## Must Not Be Doubled

Do not replace the console’s routing, menu assembly, provider, destination guards or measured DOM with canned component outcomes. Demonstration responses or the declared controlled refusal are doubles at the response boundary, not substitutes for the console behavior under examination.
