---
id: FAS-PFM-CSH-03
title: Addresses and working context acceptance
feature: FEAT-PFM-CSH-03
product_area: platform
module: console-shell
revision: 1
status: proposed
product_intent: proposed
source_sha:
  rhythm-v2-docs: 25e253cb434aac6603ee294e3ca197ab6c4bfd0b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
capabilities:
  - CAP-PFM-CSH-009
  - CAP-PFM-CSH-010
  - CAP-PFM-CSH-011
  - CAP-PFM-CSH-012
  - CAP-PFM-CSH-013
  - CAP-PFM-CSH-018
scenarios:
  - id: FAS-PFM-CSH-03-01
    title: A shared record remains the same destination across reload and history
    kind: behaviour
    exercises:
      - CAP-PFM-CSH-009
      - CAP-PFM-CSH-010
    relies_on:
      - ATS-PFM-CSH-009-04
      - ATS-PFM-CSH-010-01
    preconditions: A customer can read a contact in one workspace.
    steps: >-
      Open the contact with its query, reload, visit Organizations, then use
      Back and Forward.
    expected: >-
      Reload retains the record identity and query; history restores the
      canonical visited destinations within the selected workspace.
    negative: false
    data_needs: >-
      An isolated browser context and run-owned association fixtures;
      deterministic authority, response and clock variants where specified.
    bound_to: []
    test_sources: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/platform/console-shell/planning/features/FEAT-PFM-CSH-03-console-addresses-and-workspace-entry.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/features/FEAT-PFM-CSH-03-console-addresses-and-workspace-entry.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/features/FEAT-PFM-CSH-03-console-addresses-and-workspace-entry.md
  - id: FAS-PFM-CSH-03-02
    title: A custom reference enters the right workspace and menu section
    kind: interaction
    exercises:
      - CAP-PFM-CSH-009
      - CAP-PFM-CSH-010
      - CAP-PFM-CSH-018
    relies_on:
      - ATS-PFM-CSH-018-04
      - ATS-PFM-CSH-018-02
      - ATS-PFM-CSH-010-01
    preconditions: >-
      A known readable custom type is placed in navigation and another workspace
      uses the same type identity.
    steps: >-
      Resolve a record reference in the first workspace, follow it and compare
      the resulting menu and workspace; repeat without general read authority.
    expected: >-
      The permitted link opens that workspace’s custom record destination with a
      matching menu position; the denied reference remains text.
    negative: true
    data_needs: >-
      An isolated browser context and run-owned association fixtures;
      deterministic authority, response and clock variants where specified.
    bound_to: []
    test_sources: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/platform/console-shell/planning/features/FEAT-PFM-CSH-03-console-addresses-and-workspace-entry.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/features/FEAT-PFM-CSH-03-console-addresses-and-workspace-entry.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/features/FEAT-PFM-CSH-03-console-addresses-and-workspace-entry.md
  - id: FAS-PFM-CSH-03-03
    title: Switching a record opens the corresponding new-workspace list
    kind: lifecycle
    exercises:
      - CAP-PFM-CSH-009
      - CAP-PFM-CSH-010
      - CAP-PFM-CSH-011
    relies_on:
      - ATS-PFM-CSH-011-06
    preconditions: A contact record is open and the sandbox is reachable.
    steps: Select the sandbox from the workspace menu and await its entry.
    expected: >-
      The sandbox list opens without the former record identity and its selector
      identifies the sandbox.
    negative: false
    data_needs: >-
      An isolated browser context and run-owned association fixtures;
      deterministic authority, response and clock variants where specified.
    bound_to:
      - TST-PFM-CSH-014
    test_sources:
      - >-
        react-console:e2e/mock/url-architecture.mock.spec.ts#switching tenant
        opens the same list under the other tenant's id, record ids dropped
    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
    action_evidence:
      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
    assertion_evidence:
      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
  - id: FAS-PFM-CSH-03-04
    title: A refused staff bookmark returns to an explained HQ context
    kind: permission
    exercises:
      - CAP-PFM-CSH-010
      - CAP-PFM-CSH-013
    relies_on:
      - ATS-PFM-CSH-013-04
    preconditions: A staff caller has no clearance for the bookmarked workspace.
    steps: Sign in through the bookmark with a controlled strict-entry refusal.
    expected: >-
      HQ opens with a notice naming the refused workspace; no emergency-access
      dialog or workspace staff-access banner appears.
    negative: true
    data_needs: >-
      An isolated browser context and run-owned association fixtures;
      deterministic authority, response and clock variants where specified.
    bound_to:
      - TST-PFM-CSH-005
    test_sources:
      - >-
        react-console:e2e/controlled/staff-deep-link.controlled.spec.ts#an
        uncleared staff member's deep link goes to Rhythm HQ with a notice, not
        the emergency-access dialog
    provenance: test
    source: >-
      react-console:e2e/controlled/staff-deep-link.controlled.spec.ts#an
      uncleared staff member's deep link goes to Rhythm HQ with a notice, not
      the emergency-access dialog
    action_evidence:
      provenance: test
      source: >-
        react-console:e2e/controlled/staff-deep-link.controlled.spec.ts#an
        uncleared staff member's deep link goes to Rhythm HQ with a notice, not
        the emergency-access dialog
    assertion_evidence:
      provenance: test
      source: >-
        react-console:e2e/controlled/staff-deep-link.controlled.spec.ts#an
        uncleared staff member's deep link goes to Rhythm HQ with a notice, not
        the emergency-access dialog
  - id: FAS-PFM-CSH-03-05
    title: HQ landing keeps clearance useful for an older bookmark
    kind: regression
    exercises:
      - CAP-PFM-CSH-009
      - CAP-PFM-CSH-012
      - CAP-PFM-CSH-013
    relies_on:
      - ATS-PFM-CSH-012-05
    preconditions: Staff have entered a workspace covered by a standing grant.
    steps: 'Open the bare root, then follow the older Contacts bookmark.'
    expected: >-
      HQ opens first and the older bookmark then resolves to the remembered
      cleared workspace.
    negative: false
    data_needs: >-
      An isolated browser context and run-owned association fixtures;
      deterministic authority, response and clock variants where specified.
    bound_to:
      - TST-PFM-CSH-014
    test_sources:
      - >-
        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
    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
    action_evidence:
      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
    assertion_evidence:
      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
evidence:
  - >-
    rhythm-v2-docs:specs/platform/console-shell/planning/features/FEAT-PFM-CSH-03-console-addresses-and-workspace-entry.md
  - >-
    rhythm-v2-docs:specs/platform/console-shell/design/tests/ATS-PFM-CSH-009-open-any-console-page-from-its-address.md
  - >-
    rhythm-v2-docs:specs/platform/console-shell/design/tests/ATS-PFM-CSH-010-enter-the-workspace-an-address-names-or-learn-why-not.md
  - >-
    rhythm-v2-docs:specs/platform/console-shell/design/tests/ATS-PFM-CSH-011-switch-to-another-workspace-without-carrying-records-across.md
  - >-
    rhythm-v2-docs:specs/platform/console-shell/design/tests/ATS-PFM-CSH-012-keep-links-from-before-the-address-change-working.md
  - >-
    rhythm-v2-docs:specs/platform/console-shell/design/tests/ATS-PFM-CSH-013-work-in-rhythm-hq-or-in-a-workspace-never-both-at-once.md
  - >-
    rhythm-v2-docs:specs/platform/console-shell/design/tests/ATS-PFM-CSH-018-follow-a-record-reference-to-the-right-page.md
---

# Addresses and working context acceptance

## What the Feature Must Do as a Whole

This suite examines whether shared record links remain usable through entry, reload, history, workspace switching and older-bookmark resolution. Staff context and record-reference construction join the same experience because either can determine where a link leads. The address, established context and visible destination must be assessed together.

The five scenario kinds are cumulative. Proposed cases remain executable work to assign; bound cases name the exact assertions reviewed and record no passing product run.

## Interactions Between Capabilities

Switching rewrites the record destination before the new working context is installed. Older bookmarks depend on retained clearance through HQ landing. Reference lookup decides whether a link is offered, while following it still passes through workspace and destination guards; the custom-reference handoff remains a proposed complete case.

## Regression Record

| Revision | Change | Scenarios | Reason |
|---|---|---|---|
| 1 | initial | all | Establish cumulative acceptance from the pinned capability contracts and existing executable evidence. |
