Skip to content

CAP-PFM-CSH-018Follow a record reference to the right page

Markdown

CAP-PFM-CSH-018

Follow a record reference to the right page

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindCapabilityProduct areaPlatformModuleConsole Shell and NavigationRevision1

Read atreact-console baf6dae3services-platform ad3f6a65

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
References use the same record destinations across the console.An unusable reference remains text rather than leading to an invented record page.
Surfaces
console

Controls

24 controls apply, from the corpus control catalogue.

TC-AVL-001 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-DAT-001 TC-DAT-003 TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-LOG-004 TC-LOG-005 TC-MON-001 TC-PI-001 TC-PI-005 TC-PRV-001 TC-PRV-002 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Business Rules

5 rules, 5 to be proved before approval. A rule's product intent is derived from its origin: 0 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
Record references resolve through the shared record-type catalogue to a record page in the workspace named by the console address.
no proof recorded yet
policyconsoleobserved
react-console:lib/console/record-types.ts:recordHref, recordDestination
02must prove
Proposed
A built-in record reference has no destination when its screen is planned, the person lacks its read permission, or the record needs a parent identifier the reference does not supply.
no proof recorded yet
permissionconsoletest
react-console:lib/console/__tests__/record-destination.test.ts#answers null for a child noun, whose URL needs a parent id
03must prove
Proposed
A custom record reference has a destination only when its definition is already known to the console and the person passes the general custom-record read check.
no proof recorded yet
permissionconsoleobserved
04must prove
Proposed
A reference to an unrecognized record type refuses route construction, while an unrecognized object reference returns no destination.
no proof recorded yet
validationconsoleobserved
react-console:lib/console/record-types.ts:recordHref, recordDestination
05must prove
Proposed
Record identifiers are encoded as address values so punctuation cannot create a different page path.
no proof recorded yet
invariantconsoletest

Scenarios

IdGivenWhenThenProvenance
01A contact reference is visible to a person who can read contacts.The console resolves the reference.It supplies the contact page in the current address workspace.test
react-console:lib/console/__tests__/record-destination.test.ts#opens a contact and an organization on their record screens
02A record requires a parent identity that the reference does not carry.The console resolves the reference.It supplies no link.test
react-console:lib/console/__tests__/record-destination.test.ts#answers null for a child noun, whose URL needs a parent id

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.