---
revision: 2
status: draft
change: RS-20
source_sha:
  docs-2: fb2806830dd8f650c05fb88d787f3d395a547a9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
---

# Console shell permanent identifier register

This register reserves identifiers before their artifacts or rows are created. An identifier remains attached to its original fact or artifact when work is revised or retired. Existing Platform actors cover the module’s audiences, so this module adds no actor rows. Earlier inventories provide no shell series to carry forward.

## Series

| Series | Allocated | Next free |
|---|---|---|
| `MOD-PFM-CSH` | Module charter | — |
| `FEAT-PFM-CSH-` | 01 to 04 | 05 |
| `CON-PFM-CSH-` | 001 to 004 | 005 |
| `ACT-PFM-` | No allocations here; shared Platform register | 035 in the shared register |
| `CAP-PFM-CSH-` | 001 to 018 | 019 |
| `JNY-PFM-CSH-` | 001 to 005 | 006 |
| `ATS-PFM-CSH-` | 001 to 018 | 019 |
| `FND-PFM-CSH-` | 001 to 049 | 050 |
| `OQ-PFM-CSH-` | 001 to 005 | 006 |
| `DOM-PFM-CSH-` | 001 to 004 (the numbers of their concepts) | — |
| `INV-DOM-PFM-CSH-` | per object: 001 rows 01 to 08, 002 rows 01 to 08, 003 rows 01 to 09, 004 rows 01 to 08 | 09, 09, 10, 09 |
| `STATE-PFM-CSH-` | 001 to 004 | 005 |
| `WF-PFM-CSH-` | 001 to 008 | 009 |
| `SVC-PFM-CSH-` | `console-shell`, `tenant-applications` | — |
| `SCR-PFM-CSH-` | 001 to 013 | 014 |
| `ADR-PFM-CSH-` | 001 to 015 | 016 |
| `IOP-PFM-CSH-` | No allocations: the module asks no model a question | 001 |
| `RESP-PFM` | Product-area responsibilities, this module's row | — |

## Features and concepts

| Id | Name | Feature |
|---|---|---|
| `FEAT-PFM-CSH-01` | The shared console frame | — |
| `FEAT-PFM-CSH-02` | Finding work through navigation | — |
| `FEAT-PFM-CSH-03` | Addresses and working context | — |
| `FEAT-PFM-CSH-04` | Application access in the console | — |
| `CON-PFM-CSH-001` | Console Shell | `FEAT-PFM-CSH-01` |
| `CON-PFM-CSH-002` | Navigation | `FEAT-PFM-CSH-02` |
| `CON-PFM-CSH-003` | Console Address | `FEAT-PFM-CSH-03` |
| `CON-PFM-CSH-004` | Application | `FEAT-PFM-CSH-04` |

## Capability rows

| Capability | Outcome | Rule allocation | Scenario allocation | Next rule | Next scenario |
|---|---|---|---|---|---|
| `CAP-PFM-CSH-001` | Use a consistent console frame | 01 to 08 | 01 to 02 | 09 | 03 |
| `CAP-PFM-CSH-002` | Fit the page to the available workspace | 01 to 07 | 01 to 02 | 08 | 03 |
| `CAP-PFM-CSH-003` | Reach common actions with keyboard shortcuts | 01 to 07 | 01 to 02 | 08 | 03 |
| `CAP-PFM-CSH-004` | Begin work from the workspace home | 01 to 08 | 01 to 01 | 09 | 02 |
| `CAP-PFM-CSH-005` | Find personal actions and support in the user menu | 01 to 08 | 01 to 02 | 09 | 03 |
| `CAP-PFM-CSH-006` | Find a destination in the application menu | 01 to 13 | 01 to 03 | 14 | 04 |
| `CAP-PFM-CSH-007` | Visit settings and return to the preceding work | 01 to 10 | 01 to 02 | 11 | 03 |
| `CAP-PFM-CSH-008` | Locate custom record types in familiar navigation | 01 to 08 | 01 to 02 | 09 | 03 |
| `CAP-PFM-CSH-009` | Open console work through a durable address | 01 to 10 | 01 to 03 | 11 | 04 |
| `CAP-PFM-CSH-010` | Enter the workspace named by a link | 01 to 10 | 01 to 03 | 11 | 04 |
| `CAP-PFM-CSH-011` | Continue in another workspace without reusing a record | 01 to 08 | 01 to 02 | 09 | 03 |
| `CAP-PFM-CSH-012` | Resolve older console links during the address transition | 01 to 07 | 01 to 02 | 08 | 03 |
| `CAP-PFM-CSH-013` | Keep staff work and workspace work in distinct contexts | 01 to 07 | 01 to 02 | 08 | 03 |
| `CAP-PFM-CSH-014` | Apply the workspace and person’s application access | 01 to 11 | 01 to 02 | 12 | 03 |
| `CAP-PFM-CSH-015` | Explain why an application page cannot open | 01 to 08 | 01 to 02 | 09 | 03 |
| `CAP-PFM-CSH-016` | Refresh application choices when access changes | 01 to 07 | 01 to 02 | 08 | 03 |
| `CAP-PFM-CSH-017` | Understand the workspace’s application availability | 01 to 14 | 01 to 02 | 15 | 03 |
| `CAP-PFM-CSH-018` | Follow a record reference to the right page | 01 to 05 | 01 to 02 | 06 | 03 |

## Journey assertions

| Journey | Outcome | Assertion allocation | Next assertion |
|---|---|---|---|
| `JNY-PFM-CSH-001` | Start a session in the workspace home | 01 to 03 | 04 |
| `JNY-PFM-CSH-002` | Visit Configuration and resume record work | 01 to 03 | 04 |
| `JNY-PFM-CSH-003` | Open a shared record link and retain its context | 01 to 04 | 05 |
| `JNY-PFM-CSH-004` | Move record work into another workspace | 01 to 03 | 04 |
| `JNY-PFM-CSH-005` | Understand an unavailable application | 01 to 03 | 04 |

## Acceptance scenarios

| Acceptance set | Capability | Scenario allocation | Next scenario |
|---|---|---|---|
| `ATS-PFM-CSH-001` | `CAP-PFM-CSH-001` | 01 to 05 | 06 |
| `ATS-PFM-CSH-002` | `CAP-PFM-CSH-002` | 01 to 04 | 05 |
| `ATS-PFM-CSH-003` | `CAP-PFM-CSH-003` | 01 to 04 | 05 |
| `ATS-PFM-CSH-004` | `CAP-PFM-CSH-004` | 01 to 05 | 06 |
| `ATS-PFM-CSH-005` | `CAP-PFM-CSH-005` | 01 to 04 | 05 |
| `ATS-PFM-CSH-006` | `CAP-PFM-CSH-006` | 01 to 10 | 11 |
| `ATS-PFM-CSH-007` | `CAP-PFM-CSH-007` | 01 to 06 | 07 |
| `ATS-PFM-CSH-008` | `CAP-PFM-CSH-008` | 01 to 05 | 06 |
| `ATS-PFM-CSH-009` | `CAP-PFM-CSH-009` | 01 to 07 | 08 |
| `ATS-PFM-CSH-010` | `CAP-PFM-CSH-010` | 01 to 05 | 06 |
| `ATS-PFM-CSH-011` | `CAP-PFM-CSH-011` | 01 to 03 | 04 |
| `ATS-PFM-CSH-012` | `CAP-PFM-CSH-012` | 01 to 04 | 05 |
| `ATS-PFM-CSH-013` | `CAP-PFM-CSH-013` | 01 to 03 | 04 |
| `ATS-PFM-CSH-014` | `CAP-PFM-CSH-014` | 01 to 08 | 09 |
| `ATS-PFM-CSH-015` | `CAP-PFM-CSH-015` | 01 to 06 | 07 |
| `ATS-PFM-CSH-016` | `CAP-PFM-CSH-016` | 01 to 04 | 05 |
| `ATS-PFM-CSH-017` | `CAP-PFM-CSH-017` | 01 to 12 | 13 |
| `ATS-PFM-CSH-018` | `CAP-PFM-CSH-018` | 01 to 03 | 04 |

## Ticket Allocations

| Change | Id | Use |
|---|---|---|
| RS-20 | `BR-CAP-PFM-CSH-006-13` | Application registry ordering delta |
| RS-20 | `ATS-PFM-CSH-006-08` | Rendered adjacency proof |
| RS-20 | `ATS-PFM-CSH-006-09` | Registry move and preservation proof |
| RS-20 | `ATS-PFM-CSH-006-10` | Filtered ordering proof |
| RS-20 | `FND-PFM-CSH-035` | Approved planning mapping and pending design |

## Design allocations

Allocated 2026-10-23 by the design draft (job platform-console-shell-desi-draft-1) before any design file was written.

| Id | Name |
|---|---|
| `DOM-PFM-CSH-001` | Console Shell |
| `DOM-PFM-CSH-002` | Navigation |
| `DOM-PFM-CSH-003` | Console Address |
| `DOM-PFM-CSH-004` | Application |
| `STATE-PFM-CSH-001` | Console start-up and working context |
| `STATE-PFM-CSH-002` | Workspace entry from an address |
| `STATE-PFM-CSH-003` | Freshness of the application list |
| `STATE-PFM-CSH-004` | Side menu fold |
| `WF-PFM-CSH-001` | Start the console and settle the working context |
| `WF-PFM-CSH-002` | Enter the workspace an address names |
| `WF-PFM-CSH-003` | Switch to another workspace |
| `WF-PFM-CSH-004` | Leave a workspace for Rhythm HQ |
| `WF-PFM-CSH-005` | Refresh the application list |
| `WF-PFM-CSH-006` | Resolve an older console address |
| `WF-PFM-CSH-007` | Assemble the navigation menu |
| `WF-PFM-CSH-008` | Open a page from its address |
| `SVC-PFM-CSH-console-shell` | Console shell (react-console) |
| `SVC-PFM-CSH-tenant-applications` | Workspace applications read (services-platform modules/tenants) |
| `SCR-PFM-CSH-001` | Console frame and header |
| `SCR-PFM-CSH-002` | Start-up screens |
| `SCR-PFM-CSH-003` | Main navigation menu |
| `SCR-PFM-CSH-004` | Settings area menu |
| `SCR-PFM-CSH-005` | User menu and feedback |
| `SCR-PFM-CSH-006` | Workspace switcher |
| `SCR-PFM-CSH-007` | Starting destination |
| `SCR-PFM-CSH-008` | Workspace home |
| `SCR-PFM-CSH-009` | Workspace entry refusal |
| `SCR-PFM-CSH-010` | Planned destination placeholder |
| `SCR-PFM-CSH-011` | Older address redirect |
| `SCR-PFM-CSH-012` | Application unavailable and access denied |
| `SCR-PFM-CSH-013` | Applications overview |
| `ADR-PFM-CSH-001` | The shell presents; it owns no records and no service operations |
| `ADR-PFM-CSH-002` | One security-context read opens the console |
| `ADR-PFM-CSH-003` | The address names the workspace and entry is strict |
| `ADR-PFM-CSH-004` | Console links come only from the shared route tree |
| `ADR-PFM-CSH-005` | Platform decides application availability; the console presents it first |
| `ADR-PFM-CSH-006` | The console's application list is eventually consistent |
| `ADR-PFM-CSH-007` | The menu is a map, never an authority |
| `ADR-PFM-CSH-008` | Customer record placements come from Metadata's filtered answer |
| `ADR-PFM-CSH-009` | A workspace switch carries the place, never the record |
| `ADR-PFM-CSH-010` | Rhythm HQ and workspace work are exclusive modes |
| `ADR-PFM-CSH-011` | Older addresses redirect in the browser until retired |
| `ADR-PFM-CSH-012` | Each page chooses its own width |
| `ADR-PFM-CSH-013` | The shell writes no service records |
| `ADR-PFM-CSH-014` | The shell's objects carry no custom fields |
| `ADR-PFM-CSH-015` | Nothing the shell calls is published to Submissions |
| `FND-PFM-CSH-036` | The shell has no service module of its own |
| `FND-PFM-CSH-037` | The workspace applications read has three candidate homes |
| `FND-PFM-CSH-038` | Context reads write |
| `FND-PFM-CSH-039` | No inference statement in the module charter |
| `FND-PFM-CSH-040` | The console does not check the security context's contract version |
| `FND-PFM-CSH-041` | Only applications refresh; withdrawn permissions linger |
| `FND-PFM-CSH-042` | Accounting order is designed but not built |
| `FND-PFM-CSH-043` | The programmatic workspace switch has no caller |
| `OQ-PFM-CSH-004` | Source of the workspace home's figures |
| `OQ-PFM-CSH-005` | Scope of the returning-tab refresh |

## Design Examination Allocations

| Id | Subject |
|---|---|
| `FND-PFM-CSH-044` | Missing examination inputs and planning approval |
| `FND-PFM-CSH-045` | Retry and workspace-leave lifecycle |
| `FND-PFM-CSH-046` | Application freshness timing |
| `FND-PFM-CSH-047` | Action and destination permission checks |
| `FND-PFM-CSH-048` | Consistency and cleanup guarantees |
| `FND-PFM-CSH-049` | Presentation storage and registration |
