Skip to content

CAP-PFM-QRY-010Review and select records from a list

Markdown

CAP-PFM-QRY-010

Review and select records from a list

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindCapabilityProduct areaPlatformModuleQuestions, record exploration and data deliveryRevision1

Read atservices-platform ad3f6a65react-console baf6dae3

The Formal Contract

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

Outcomes
Readers can move through retained list identities.Saved return state supports returning to results.Bulk work receives an explicit bounded selection.
Surfaces
consoleapi

Controls

20 controls apply, from the corpus control catalogue.

TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-LOG-004 TC-LOG-005 TC-PI-001 TC-PI-003 TC-PI-005 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-TEN-004 TC-VEN-001 TC-VEN-002 TC-VEN-003

Permissions

KeyChecked atScope
platform.explorer-views.useapitenant
<application>.<dataset>.query (the owner's key)servicetenant

Business Rules

10 rules, 10 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
Opening a list record retains an ordered window of matching identities, preserving that window’s order while extensions and rebuilds read results again.
invariantserviceobserved
02must prove
Proposed
Navigation starts require a record and ordering, reject result columns or missing inputs, and report a conflict when the record no longer matches.
validationapi, servicetest
03must prove
Proposed
Navigation returns position, total and adjacent identities without returning record data.
calculationservicetest
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers the record’s position and the total, which is what "2 of 12" is drawn from
04must prove
Proposed
Only the initiating person can read a navigation session, and colleagues receive not-found responses even in the same workspace.
permissionservicetest
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers 404, not 403, to a colleague of the same tenant
05must prove
Proposed
An owner can read retained navigation and return state after losing dataset access, but records outside the retained window lack position and neighbours, and window renewal checks dataset access again.
policyserviceobserved
06must prove
Proposed
Navigation scans at most twenty thousand identities and retains at most two thousand in a sliding window, refusing work beyond the scan limit.
policyservicetest
07must prove
Proposed
Navigation expires after twelve hours, retains expired return state for seven more days, and removes the owner’s long-expired sessions when a new session is created.
lifecycleservicetest
08must prove
Proposed
Joined recipe navigation counts distinct base records for positions and totals.
calculationservicedocumented
services-platform:docs/explorer.md#4. Navigating a result set
09must prove
Proposed
Whole-result selection returns ordered record identities and a total without record data, limiting the selection to ten thousand and marking truncation.
calculationservicetest
10must prove
Proposed
Navigation creation and selection require the Explorer permission and dataset access, with matching query refusals applied to both.
permissionapi, servicetest
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#refuses to freeze one for a caller holding the surface key and not the dataset key, as 403

Scenarios

IdGivenWhenThenProvenance
01An Explorer query matches thirty-five records within the selection cap.The client requests every matching identity.Selection returns the matching identities and reports no truncation.test
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers that nothing was cut, so a console may act on the whole list

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.