Skip to content

CAP-PFM-NOT-012Investigate and retry notifications from HQ

Markdown

CAP-PFM-NOT-012

Investigate and retry notifications from HQ

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindCapabilityProduct areaPlatformModuleStaff Notifications and Association CommunicationsRevision1

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
HQ reviews customer History and requests through an active access grant.Global dead-letter inspection and retry expose retained channel content without that grant check; the intended boundary remains open.
Surfaces
consoleapi
Intent sources
services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#2. Scopeservices-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#PLAT-M23-S04

Controls

29 controls apply, from the corpus control catalogue.

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

Permissions

KeyChecked atScope
hq.notifications.readapiglobal
hq.notifications.operateapiglobal

Business Rules

7 rules, 4 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
HQ routes require system access and HQ notification permissions; Currently only Rhythm Administrator grants both keys; HQ reader policy does not grant them, pending Andrew's role decision.
no proof recorded yet
permissionapitest
services-platform:modules/notifications/tests/unit/permissions.spec.js#leaves both HQ keys out of the HQ reader policy: the Rhythm Administrator holds them through hq.*.*
02must prove
Proposed
HQ reads of customer History and requests require an active staff access grant for that workspace and reuse administrator history behavior; missing workspaces or absent and mismatched grants reject the read without returning customer records.
no proof recorded yet
permissionapi, servicetest
services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is refused without an active staff access grant, naming nothing of the tenant
03
Proposed
The dead-letter list contains exhausted deliveries in newest-first order with workspace identification; an unfiltered scan covers at most one thousand operational workspaces and returns at most one hundred rows; permanent provider refusals are omitted.
policyapi, serviceobserved
04must prove
Proposed
Operator retry accepts only deliveries failed through exhausted attempts, recreating queued work; missing deliveries and permanent provider failures are refused without modification.
no proof recorded yet
lifecycleapi, servicetest
services-platform:modules/notifications/tests/integration/services/dispatch/deliver-delivery.integration.spec.js#queues a delivery that ran out of receives again, with its work row, and nothing else
05
Proposed
Delivery retry is sensitive because it initiates another message to customer staff.
permissionapiobserved
services-platform:aws/platform.service.ts:HQ_NOTIFICATIONS_PERMISSIONS
06
Proposed
HQ History selects a workspace and reads through the staff route; grant refusal prompts the operator to obtain active access.
policyconsoletest
react-console:components/notifications/__tests__/notifications.test.tsx#shows the access-grant sentence when Platform answers 403
07must prove
Proposed
HQ dead-letter listing and retry responses include retained channel content without the customer access-grant check used by History, while HQ route permissions still restrict entry.
no proof recorded yet
permissionapi, serviceobserved

Scenarios

IdGivenWhenThenProvenance
01A customer asks support to investigate Jane's assignment announcement.An authorized Rhythm administrator selects that customer's History with an active grant.The response matches the workspace administrator's history view.inferred

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.