Skip to content

CAP-PFM-NOT-010Explain notification selection and delivery

Markdown

CAP-PFM-NOT-010

Explain notification selection and delivery

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
A notice explains recipient selection and recorded delivery outcomes.Stored explanations connect the notice to its originating event.
Surfaces
consoleapi
Intent sources
services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#3. How it works for the userservices-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#PLAT-M23-S12

Controls

23 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-002 TC-DAT-003 TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-LOG-001 TC-MON-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

Permissions

KeyChecked atScope
platform.notifications.useapirecord

Business Rules

7 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
Notice detail includes explanatory lists for selected channels, skipped channels with reasons, recipient-selection rules and collapsed contributions, even when those lists are empty.
no proof recorded yet
policyapi, servicetest
services-platform:modules/notifications/tests/e2e/notifications.e2e.spec.js#reads one of its own with its why, and nobody else’s
02must prove
Proposed
Recipient explanations distinguish direct selection, responsibility holding, delegation with an optional delegator name, responsibility fallback, role or permission holding, and HQ routing.
no proof recorded yet
calculationservicetest
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#says a delegate covers the responsibility for the person they cover
03must prove
Proposed
A nonblank producer-supplied audience reason replaces generic recipient wording; blank reasons retain the standard explanation.
no proof recorded yet
policyservicetest
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#uses the producer’s own words for the rule when the entry carries a reason
04must prove
Proposed
Unavailable-channel explanations name the future milestone, absence of support for the definition, or the adapter's reason; Delivery summaries use the same explanations.
no proof recorded yet
policyservicetest
services-platform:modules/notifications/tests/integration/services/centre/notification-centre.integration.spec.js#says the milestone of a channel not yet available on the delivery summary, as the resolution does
05must prove
Proposed
The explanation sheet combines recipient reason and delivery destination into a readable sentence, lists unused-channel reasons and omits raw reason tokens.
no proof recorded yet
policyconsoletest
06
Proposed
Older notices lacking server-supplied wording receive client-generated explanations for recipient rules and skipped channels.
policyconsoletest
react-console:lib/notifications/__tests__/model.test.ts#words each rule kind when there is no label
07
Proposed
Viewing a notice or its explanation grants no additional permission to act.
policyservicedocumented
services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#D2. Does every console user get an inbox by default?

Scenarios

IdGivenWhenThenProvenance
01An administrator's assignment causes Jane to receive a Batch posting item.Jane opens its recipient explanation.The sheet identifies the administrator's assignment reason, console delivery and future e-mail availability.test

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.