---
id: ATS-PFM-CSH-004
scope: CAP-PFM-CSH-004
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-004-01
    title: Customer root entry selects the remembered workspace
    level: browser
    proves:
      - BR-CAP-PFM-CSH-004-04
      - AS-JNY-PFM-CSH-001-02
      - AS-JNY-PFM-CSH-004-03
    preconditions: A customer session retains a reachable workspace choice.
    steps: Open the bare console address.
    expected: The chosen workspace home becomes the working destination.
    negative: false
    data_needs: >-
      An isolated browser context with the stated identity, workspace and
      response fixtures.
    bound_to:
      - TST-PFM-CSH-014
    provenance: test
    source: >-
      react-console:e2e/mock/url-architecture.mock.spec.ts#the bare root opens
      the remembered tenant's home
    category: rule
    test_sources:
      - >-
        react-console:e2e/mock/url-architecture.mock.spec.ts#the bare root opens
        the remembered tenant's home
    action_evidence:
      provenance: test
      source: >-
        react-console:e2e/mock/url-architecture.mock.spec.ts#the bare root opens
        the remembered tenant's home
    assertion_evidence:
      provenance: test
      source: >-
        react-console:e2e/mock/url-architecture.mock.spec.ts#the bare root opens
        the remembered tenant's home
  - id: ATS-PFM-CSH-004-02
    title: Dashboard failure leaves attention work mounted
    level: browser
    proves:
      - BR-CAP-PFM-CSH-004-02
    preconditions: Attention data is usable while the dashboard summary fails.
    steps: Open workspace home with the failed summary response.
    expected: Attention remains visible alongside the dashboard’s failure presentation.
    negative: true
    data_needs: >-
      An isolated browser context with the stated identity, workspace and
      response fixtures.
    bound_to: []
    provenance: proposed
    source: 'react-console:app/(console)/console/[tenantId]/page.tsx:HomePage'
    category: failure
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:app/(console)/console/[tenantId]/page.tsx:HomePage'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:app/(console)/console/[tenantId]/page.tsx:HomePage'
  - id: ATS-PFM-CSH-004-03
    title: Dashboard explanations separate three unavailable states
    level: unit
    proves:
      - BR-CAP-PFM-CSH-004-07
    preconditions: >-
      Inputs represent a missing service, actual request failure and missing
      configuration.
    steps: Render the dashboard error presentation for each fixture.
    expected: Each fixture receives the explanation appropriate to its condition.
    negative: true
    data_needs: Independent fixture inputs for the variants listed in this case.
    bound_to:
      - TST-PFM-CSH-004
    provenance: test
    source: 'react-console:components/console/home/__tests__/dashboard-state.test.tsx'
    category: validation
    test_sources:
      - >-
        react-console:components/console/home/__tests__/dashboard-state.test.tsx#shows
        a calm note when the dashboard does not exist on the backend
      - >-
        react-console:components/console/home/__tests__/dashboard-state.test.tsx#keeps
        the error state for a real failure
      - >-
        react-console:components/console/home/__tests__/dashboard-state.test.tsx#keeps
        the not-configured state
    action_evidence:
      provenance: test
      source: 'react-console:components/console/home/__tests__/dashboard-state.test.tsx'
    assertion_evidence:
      provenance: test
      source: 'react-console:components/console/home/__tests__/dashboard-state.test.tsx'
  - id: ATS-PFM-CSH-004-04
    title: Live home omits the demonstration summary read
    level: browser
    proves:
      - BR-CAP-PFM-CSH-004-06
    preconditions: Live and demonstration contexts are inspected separately.
    steps: Open home in both modes and capture summary requests.
    expected: >-
      Live home issues no summary request; demonstration home reads its sample
      summary.
    negative: false
    data_needs: >-
      An isolated browser context with the stated identity, workspace and
      response fixtures.
    bound_to: []
    provenance: proposed
    source: 'react-console:lib/api/dashboard.ts:useDashboardSummary'
    category: boundary
    test_sources: []
    action_evidence:
      provenance: proposed
      source: 'react-console:lib/api/dashboard.ts:useDashboardSummary'
    assertion_evidence:
      provenance: proposed
      source: 'react-console:lib/api/dashboard.ts:useDashboardSummary'
  - id: ATS-PFM-CSH-004-05
    title: Demonstration arithmetic exposes its empty-total boundary
    level: unit
    proves:
      - BR-CAP-PFM-CSH-004-08
    preconditions: 'Dashboard fixtures contain ordinary amounts, falling dues and zero totals.'
    steps: >-
      Render amount, regional-share and event-fill calculations for those
      fixtures.
    expected: >-
      Ordinary cases follow the current precision and sign treatment; zero
      divisors expose the unresolved unreadable percentage.
    negative: true
    data_needs: Independent fixture inputs for the variants listed in this case.
    bound_to: []
    provenance: proposed
    source: >-
      react-console:components/console/home/dashboard-panels.tsx:RegionBreakdown,
      EventsPanel; components/console/home/kpi-cards.tsx:KpiCards
    category: edge
    test_sources: []
    action_evidence:
      provenance: proposed
      source: >-
        react-console:components/console/home/dashboard-panels.tsx:RegionBreakdown,
        EventsPanel; components/console/home/kpi-cards.tsx:KpiCards
    assertion_evidence:
      provenance: proposed
      source: >-
        react-console:components/console/home/dashboard-panels.tsx:RegionBreakdown,
        EventsPanel; components/console/home/kpi-cards.tsx:KpiCards
  - id: ATS-PFM-CSH-004-06
    title: An older home link resolves into the chosen workspace
    category: interaction
    level: browser
    proves:
      - BR-CAP-PFM-CSH-004-04
      - BR-CAP-PFM-CSH-012-01
    preconditions: A customer session remembers its sandbox.
    steps: Follow the older home address after opening the bare console root.
    expected: >-
      The landing and compatible home link use the established customer
      workspace rather than HQ.
    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-004-start-the-day-from-the-workspace-home.md
    test_sources: []
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-004-start-the-day-from-the-workspace-home.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-004-start-the-day-from-the-workspace-home.md
evidence:
  - >-
    react-console at baf6dae: app/(console)/console/[tenantId]/page.tsx,
    app/(console)/page.tsx, components/console/legacy-redirect.tsx,
    components/console/site-header.tsx, e2e/mock/url-architecture.mock.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-054.
coverage:
  rule: covered
  transition: 'gap: FND-PFM-CSH-054'
  validation: covered
  permission: 'gap: FND-PFM-CSH-054'
  edge: covered
  failure: covered
  boundary: covered
  concurrency: 'gap: FND-PFM-CSH-054'
  invariant: 'gap: FND-PFM-CSH-054'
  interaction: 'gap: FND-PFM-CSH-054'
coverage_notes:
  rule:
    provenance: proposed
    source: >-
      ATS-PFM-CSH-004-01; ATS-PFM-CSH-004-02; ATS-PFM-CSH-004-03;
      ATS-PFM-CSH-004-04; ATS-PFM-CSH-004-05; ATS-PFM-CSH-004-06
    reason: >-
      Every mandatory rule has a proving scenario, including shared interaction
      cases; bindings identify execution separately.
  transition:
    provenance: unknown
    source: FND-PFM-CSH-054
    reason: >-
      No dedicated scenario establishes this category; applicability and the
      required fixtures need review.
  validation:
    provenance: proposed
    source: ATS-PFM-CSH-004-03
    reason: >-
      The listed scenarios specify this category; their bindings separately
      identify existing executable evidence.
  permission:
    provenance: unknown
    source: FND-PFM-CSH-054
    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-004-05
    reason: >-
      The listed scenarios specify this category; their bindings separately
      identify existing executable evidence.
  failure:
    provenance: proposed
    source: ATS-PFM-CSH-004-02
    reason: >-
      The listed scenarios specify this category; their bindings separately
      identify existing executable evidence.
  boundary:
    provenance: proposed
    source: ATS-PFM-CSH-004-04
    reason: >-
      The listed scenarios specify this category; their bindings separately
      identify existing executable evidence.
  concurrency:
    provenance: unknown
    source: FND-PFM-CSH-054
    reason: >-
      No complete scenario matrix covers repeated events, overlapping reads or
      superseded answers for this capability.
  invariant:
    provenance: unknown
    source: FND-PFM-CSH-054
    reason: Associated object invariants remain without explicit proving scenarios.
  interaction:
    provenance: unknown
    source: FND-PFM-CSH-054
    reason: >-
      Related-capability combinations remain unspecified beyond the interactions
      listed.
design_obligations: []
interactions:
  - capability: CAP-PFM-CSH-012
    provenance: proposed
    source: ATS-PFM-CSH-004-06
  - capability: CAP-PFM-CSH-013
    provenance: unknown
    source: FND-PFM-CSH-054
workflow_obligations:
  - artifact: WF-PFM-CSH-001
    provenance: documented
    source: >-
      rhythm-v2-docs:specs/platform/console-shell/design/workflows/WF-PFM-CSH-001-start-the-console-and-settle-the-working-context.md
    disposition: 'gap: FND-PFM-CSH-054'
    note: >-
      Review every hop, branch, failure and race with the cited capability
      scenarios; unexecuted combinations remain in the coverage finding.
  - artifact: WF-PFM-CSH-006
    provenance: documented
    source: >-
      rhythm-v2-docs:specs/platform/console-shell/design/workflows/WF-PFM-CSH-006-resolve-an-older-console-address.md
    disposition: 'gap: FND-PFM-CSH-054'
    note: >-
      Review every hop, branch, failure and race with the cited capability
      scenarios; unexecuted combinations remain in the coverage finding.
---

# Begin work from the workspace home: 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-004-02` | `ATS-PFM-CSH-004-02` |
| `BR-CAP-PFM-CSH-004-04` | `ATS-PFM-CSH-004-01`, `ATS-PFM-CSH-004-06` |
| `BR-CAP-PFM-CSH-004-06` | `ATS-PFM-CSH-004-04` |
| `BR-CAP-PFM-CSH-004-07` | `ATS-PFM-CSH-004-03` |
| `BR-CAP-PFM-CSH-004-08` | `ATS-PFM-CSH-004-05` |

Home coverage must distinguish live suppression from demonstration data, keep attention independent of dashboard readiness and inspect the zero-denominator presentation. Dashboard ownership remains a product question.

## Interactions With Related Capabilities

The landing and compatible home link use the established customer workspace rather than HQ.

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.
