---
id: JNY-PFM-OPS-003
title: A console user returns to recently opened records
feature: FEAT-PFM-OPS-02
product_area: platform
module: operations
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: observed
supersedes: []
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-PFM-002
goal: Return to recent record work through a personal server-backed history.
capabilities:
  - CAP-PFM-OPS-008
  - CAP-PFM-OPS-009
screens:
  - '/console/{tenantId}/crm/contacts/{contactId}'
  - '/console/{tenantId}/crm/organizations/{organizationId}'
  - the console header's Recent Items menu
steps:
  - 'n': 1
    surface: '/console/{tenantId}/crm/contacts/{contactId}'
    action: Navigate to a readable contact.
    capability: CAP-PFM-OPS-008
    expected: Successful display initiates one recorded visit.
    provenance: test
    source: >-
      react-console:e2e/controlled/record-views.controlled.spec.ts#reports one visit per navigation, and the
      header lists the records newest first
  - 'n': 2
    surface: '/console/{tenantId}/crm/contacts/{contactId}'
    action: Move between tabs on that contact.
    capability: CAP-PFM-OPS-008
    expected: The established navigation remains one visit.
    provenance: test
    source: >-
      react-console:e2e/controlled/record-views.controlled.spec.ts#switching tab on the same record is still
      one visit
  - 'n': 3
    surface: recordRecordView
    action: Navigate to a readable organization.
    capability: CAP-PFM-OPS-008
    expected: The organization report is accepted with its required read and query authority.
    provenance: test
    source: >-
      services-platform:modules/audit/tests/e2e/record-views.e2e.spec.js#records a view of an organization for
      a caller holding organization read and organization query
  - 'n': 4
    surface: the console header's Recent Items menu
    action: Open the personal Recent Items menu.
    capability: CAP-PFM-OPS-008
    expected: The query presents recent readable records once each with current names.
    provenance: test
    source: >-
      react-console:e2e/controlled/record-views.controlled.spec.ts#a record visited again is reported again
      but appears once in the list
  - 'n': 5
    surface: listMyRecordViews
    action: Request the raw visit history.
    capability: CAP-PFM-OPS-009
    expected: >-
      History returns visit entries in descending order, retaining visits independently of later record
      deletion.
    provenance: test
    source: >-
      services-platform:modules/audit/tests/integration/services/record-views/view-history.integration.spec.js#answers
      the newest event first
alternates:
  - from_step: 2
    condition: Navigation reloads or later returns to the record.
    path: Report a new navigation identity.
    outcome: A successfully retained visit can move the record into recent work again.
    provenance: test
    source: >-
      react-console:e2e/controlled/record-views.controlled.spec.ts#a reload is a new visit, and the list
      survives it
failures:
  - from_step: 1
    condition: Visit reporting exhausts its retry budget.
    path: Retry silently with the same navigation identity.
    outcome: The person’s record work continues even when no visit lands.
    provenance: test
    source: >-
      react-console:e2e/controlled/record-views.controlled.spec.ts#a failure to report a visit never reaches
      the person, and the retries are one visit
  - from_step: 1
    condition: The contact never becomes readable.
    path: Report no successful visit.
    outcome: Recent work remains unchanged by that unsuccessful navigation.
    provenance: test
    source: >-
      react-console:e2e/controlled/record-views.controlled.spec.ts#a contact that cannot be read is not a
      visit
rules_in_play:
  - BR-CAP-PFM-OPS-008-02
  - BR-CAP-PFM-OPS-008-05
  - BR-CAP-PFM-OPS-008-08
  - BR-CAP-PFM-OPS-008-09
  - BR-CAP-PFM-OPS-009-02
assertions:
  - id: AS-JNY-PFM-OPS-003-01
    statement: One person’s recent-work query excludes visits attributable only to another person.
    provenance: test
    source: >-
      react-console:e2e/dev/record-views.dev.spec.ts#somebody else's Recent Items holds none of this person's
      records
  - id: AS-JNY-PFM-OPS-003-02
    statement: Recorded views and the header’s query work through the deployed service boundary.
    provenance: test
    source: >-
      react-console:e2e/dev/record-views.dev.spec.ts#the records a person opens are recorded in the Platform
      and read back by the header
e2e_policy: required
e2e_reason: >-
  Navigation, tabs, reloads and silent reporting retries require browser evidence, with deployed tests also
  checking personal isolation.
proved_by: []
---

# A console user returns to recently opened records

## Story

A console user opens readable records and later uses Recent Items to resume that work. Navigation establishes visits while ordinary tab changes remain part of the same visit. The recent-work query resolves current records, whereas raw history retains individual visits. Reporting failure stays outside the person’s main flow and may leave a visit absent after retries run out.
