---
id: MOD-PFM-NOT
title: Staff Notifications and Association Communications
product_area: platform
module: notifications
revision: 2
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repositories:
  - name: services-platform
    paths:
      - modules/notifications
      - modules/communications
      - >-
        aws/platform.service.ts (communication-templates,
        communication-messages, communication-suppressions, communications,
        notifications and hq notifications permission groups)
      - docs/notifications.md
      - docs/email.md
      - docs/communications/architecture.md
      - >-
        docs/proposals/notifications (chapters 22 and 23 and the records they
        cite)
      - docs/forge-handoff/notifications.md
      - docs/milestones/PLAT-M23-notifications-core-and-in-app.md
      - docs/milestones/PLAT-M24-notifications-email.md
      - docs/milestones/PLAT-M25-notifications-preferences-and-identities.md
      - docs/milestones/PLAT-M26-notifications-slack.md
      - docs/milestones/PLAT-M27-notifications-teams.md
      - docs/milestones/PLAT-M28-notifications-sms.md
      - docs/milestones/PLAT-M29-notifications-adoption.md
      - docs/milestones/plans/PLAT-M23-plan.humanized.md
      - docs/debt/notifications-system-audience-in-the-producer-library.md
      - docs/debt/owned-template-requesting-service.md
  - name: react-console
    paths:
      - 'app/(console)/console/[tenantId]/notifications'
      - 'app/(console)/console/[tenantId]/settings/notifications'
      - app/(console)/hq/notifications
      - 'app/(console)/console/[tenantId]/alerts (a redirect to attention)'
      - components/notifications
      - components/console/hq/notifications-history.tsx
      - components/console/alerts-popover.tsx
      - lib/notifications
      - acceptance/notifications
owns:
  - Application notification declarations and operational channel mappings
  - Transactional notification publication and retained request outcomes
  - >-
    Recipient notices, channel deliveries, queued channel work and provider
    events
  - >-
    Stored personal preferences, workspace delivery settings, wording, channel
    identities, phone challenges, segment accounting and digests
  - Scheduled reconciliation and notification retention
  - Communication purpose discovery and published association content
  - Association communication requests and committed object pointers
  - 'Recipient e-mail records, submission attempts and provider feedback'
  - >-
    Address suppression, workspace sender verification and shared sending
    capacity
does_not_own:
  - record: Responsibility and delegation records and their producer integration
    owner: MOD-PFM-ELG
  - record: >-
      Attention records, header attention presentation and the legacy alert
      redirect
    owner: MOD-PFM-ELG
  - record: >-
      Account identity, authorization, staff access grants and workspace
      lifecycle producers
    owner: MOD-PFM-SEC
  - record: Customer integration connections used by later connected channels
    owner: MOD-PFM-INT
  - record: Metadata describing workflow records and available custom merge fields
    owner: MOD-PFM-MTD
  - record: Shared job execution and partition maintenance
    owner: MOD-PFM-OPS
  - record: Scheduled-report workflow contracts
    owner: MOD-PFM-QRY
  - record: 'CRM source records, template-owning organization types and contact choices'
    owner: MOD-CRM-ENT
  - record: Accounting source records and caller-rendered invoice documents
    owner: MOD-ACC-TRX
  - record: 'Marketing campaigns, version ownership and subscription consent'
    owner: MOD-MKT-MKT
hosted_screens:
  - route: '/console/{tenantId}/notifications'
    purpose: >-
      Personal inbox views, read and archive controls, recipient explanations
      and test publication.
  - route: '/console/{tenantId}/settings/notifications'
    purpose: >-
      Administrator review of recipient activity, empty outcomes and diagnostic
      request-delivery links.
  - route: /hq/notifications
    purpose: >-
      HQ review of selected customer notification activity through an active
      staff access grant.
supersedes:
  - 'react-console:acceptance/notifications (NT-ACC-0001 to NT-ACC-0300)'
  - >-
    services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#9.
    Acceptance scenarios (PLAT-M23-S01 to S16, X01)
evidence:
  - >-
    Pinned HTTP inventory:
    services-platform:modules/notifications/aws/api/notifications.routes.ts (21
    business operations);
    modules/communications/aws/api/communications.routes.ts (23 business
    operations). Health registration is infrastructure evidence rather than
    another product capability.
  - >-
    Pinned persistence inventory:
    services-platform:modules/notifications/db/*.table.ts (20 tables);
    modules/communications/db/*.table.ts (10 tables). Definitions and jobs have
    their recorded scope exceptions; the capability rules describe persistence
    and refusal behavior.
  - >-
    Permission boundary: services-platform:aws/platform.service.ts notification
    and communication permission groups; 18 distinct keys required by the scoped
    routes. Capability permissions identify the corresponding outcome.
  - >-
    Runtime topology:
    services-platform:modules/notifications/aws/logic/notifications-functions.lambda.ts;
    notifications-reconcile.step-function.ts;
    modules/communications/aws/logic/*; both module queue-resource definitions.
    The text queue has no deployed consumer, recorded by FND-PFM-NOT-034.
  - >-
    Console scope:
    react-console:app/(console)/console/[tenantId]/notifications/**;
    app/(console)/console/[tenantId]/settings/notifications/**;
    app/(console)/hq/notifications/**; shared notification components and
    lib/notifications/**. The legacy alerts page redirects to attention.
  - >-
    Corpus inventory: 20 capabilities; 216 rules including 175 must-prove rules;
    185 acceptance scenarios; three active concepts and three superseded facet
    records; six journeys; seven features. Each must-prove rule has a scenario
    or finding, which does not imply executed proof.
testing_artifacts:
  capability_test_specifications:
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-001-register-the-kinds-of-notification-an-application-can-send.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-002-tell-people-that-something-happened-with-one-call.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-003-reach-the-right-people-and-only-people-of-the-organization.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-004-word-each-notice-for-the-person-who-receives-it.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-005-fold-quick-repeats-into-one-notice.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-006-withdraw-or-expire-a-notice-that-no-longer-applies.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-007-deliver-each-notice-on-the-channels-it-may-use.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-008-keep-notifications-whole-when-part-of-the-pipeline-fails.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-009-work-through-my-own-notifications.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-010-understand-why-i-was-told.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-011-see-what-the-organization-told-whom.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-012-support-a-customers-notifications-from-rhythm-hq.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-013-alert-rhythms-own-staff-in-slack.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-014-tell-staff-about-changes-to-their-own-responsibilities.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-016-compose-the-e-mails-an-association-sends.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-017-ask-platform-to-send-an-association-e-mail.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-018-deliver-association-e-mail-reliably-and-within-sending.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-019-record-what-became-of-each-e-mail.md
    - >-
      specs/platform/notifications/design/tests/ATS-PFM-NOT-020-protect-deliverability-and-the-associations-sending-address.md
  feature_acceptance_suites:
    - >-
      specs/platform/notifications/planning/acceptance/FAS-PFM-NOT-01-notification-registry.md
    - >-
      specs/platform/notifications/planning/acceptance/FAS-PFM-NOT-02-notification-pipeline.md
    - >-
      specs/platform/notifications/planning/acceptance/FAS-PFM-NOT-03-notification-centre.md
    - >-
      specs/platform/notifications/planning/acceptance/FAS-PFM-NOT-04-notification-history-and-support.md
    - >-
      specs/platform/notifications/planning/acceptance/FAS-PFM-NOT-05-rhythm-hq-alerts.md
    - >-
      specs/platform/notifications/planning/acceptance/FAS-PFM-NOT-06-notification-preferences-and-channels.md
    - >-
      specs/platform/notifications/planning/acceptance/FAS-PFM-NOT-07-association-e-mail.md
  executable_test_suites:
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-001-notification-acceptance-journey-cross-application-0300.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-002-notification-acceptance-journey-history-0100.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-003-notification-acceptance-journey-history-0101.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-004-notification-acceptance-journey-hq-0150.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-005-notification-acceptance-journey-inbox-0001.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-006-notification-acceptance-journey-inbox-0002.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-007-notification-acceptance-journey-inbox-0003.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-008-notification-acceptance-journey-inbox-0004.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-009-notification-acceptance-journey-inbox-0005.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-010-notification-acceptance-journey-inbox-0006.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-011-notification-acceptance-journey-pipeline-0200.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-012-notification-acceptance-journey-pipeline-0201.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-013-notification-acceptance-journey-pipeline-0202.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-014-notification-acceptance-journey-pipeline-0203.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-015-notification-acceptance-journey-pipeline-0204.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-016-notification-acceptance-journey-pipeline-0205.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-017-notification-acceptance-journey-pipeline-0206.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-018-notification-acceptance-journey-pipeline-0207.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-019-notification-acceptance-journey-pipeline-0208.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-020-destination.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-021-notifications.md
    - specs/platform/notifications/implementation/tests/TST-PFM-NOT-022-model.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-023-messages.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-024-requests.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-025-suppressions.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-026-templates.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-027-communication-messages-table.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-028-communication-request-submissions-table.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-029-communication-sender-identities-table.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-030-contact-role-compliance-communication.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-031-communication-reads.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-032-caller-rendered.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-033-dispatch-communications.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-034-marketing-lane.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-035-owned-template.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-036-process-communication-request.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-037-reserved-domain-suppression.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-038-send-handler.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-039-template-copies.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-040-lane-budgets.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-041-messages-changes-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-042-messages.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-043-messages-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-044-request-submissions.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-045-request-submissions-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-046-requests.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-047-requests-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-048-sender-identities.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-049-sender-identities-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-050-suppressions.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-051-suppressions-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-052-templates.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-053-templates-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-054-changed-messages.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-055-handle-invocation.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-056-record-merge-fields.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-057-submit-request.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-058-provision-sender-identity.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-059-workspace-sender-address.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-060-communication-objects.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-061-workspace-objects.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-062-caller-rendered-purposes.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-063-message-version-templates.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-064-owned-templates.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-065-render-preview.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-066-communications-schemas.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-067-lane-bucket.md
    - specs/platform/notifications/implementation/tests/TST-PFM-NOT-068-lanes.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-069-notifications.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-070-notification-instances-table.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-071-notification-submissions-table.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-072-hq-notifications.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-073-notification-centre.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-074-deliver-delivery.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-075-dispatch-notifications.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-076-process-request-batch.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-077-cancel-and-supersede.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-078-logging.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-079-orchestrate-request.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-080-resolve-audience.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-081-channel-settings.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-082-definition-settings.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-083-definitions.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-084-definitions-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-085-deliveries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-086-delivery-works.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-087-digests.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-088-identities.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-089-instances.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-090-instances-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-091-preferences.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-092-reconcile-jobs.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-093-requests.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-094-requests-queries.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-095-sms-usages.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-096-submissions.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-097-template-overrides.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-098-workspace-purges.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-099-user-settings.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-100-reconcile-workspace.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-101-register-service-notifications.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-102-submit-notification-request.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-103-system-audience.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-104-audience-planner.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-105-channel-resolution.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-106-collapsing.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-107-hq-channels.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-108-instance-status.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-109-permissions.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-110-queue-items.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-111-registration-manifest.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-112-registry-tables.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-113-render-message.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-114-slack-system-adapter.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-115-slack-system-render.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-116-templates.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-117-organization-types-dev.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-118-query-schedules-dev.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-119-operational-slack-provider-delivery.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-120-platform-notification-declaration-contracts.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-121-empty-preview-merge-fields.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-122-communication-queue-item-contracts.md
    - >-
      specs/platform/notifications/implementation/tests/TST-PFM-NOT-123-communication-content-in-the-organization-type-editor.md
---

# Staff Notifications and Association Communications

## Purpose

Platform connects application events to staff notices and association e-mail. Staff currently work through a console inbox, while operational HQ alerts use Slack. Association workflows publish their own content, submit recipient requests and inspect delivery outcomes through a separate communication model.

## Boundary

The module owns declared notification types, submissions, recipient items and channel history. It also owns the stored configuration prepared for later notification releases and the association e-mail lifecycle from content publication through provider feedback. Responsibility assignment, customer provisioning and business-record content remain with their owning modules.

The hosted experiences are the personal inbox, administrator notification History and granted customer History in HQ. The legacy alerts page redirects to attention. Allowed source paths establish these screens without proving repository-wide absence of other communication interfaces.

## Planning Position

This layer is independently examined against the pinned sources and rewritten by OpenAI. Approval still belongs to Andrew. Recorded decisions constrain individual rules through their origins; implementation-only details and later extensions remain proposed. The findings preserve disagreements, incomplete provider proof and source-boundary limits.

## Features

| Feature | Name | Active owned concepts | Capabilities | Journeys |
|---|---|---|---|---|
| `FEAT-PFM-NOT-01` | Application Notification Catalog | 0 | 1 | 0 |
| `FEAT-PFM-NOT-02` | Staff Notification Processing | 0 | 7 | 1 |
| `FEAT-PFM-NOT-03` | Personal Notification Workspace | 1 | 3 | 2 |
| `FEAT-PFM-NOT-04` | Notification Review and Operator Support | 0 | 2 | 1 |
| `FEAT-PFM-NOT-05` | Rhythm Operational Notifications | 0 | 1 | 1 |
| `FEAT-PFM-NOT-06` | Notification Delivery Configuration | 0 | 1 | 0 |
| `FEAT-PFM-NOT-07` | Association Communication Delivery | 2 | 5 | 1 |

## Capabilities

| Id | Outcome | Intent | Evidence | Rules | Must prove |
|---|---|---|---|---|---|
| `CAP-PFM-NOT-001` | Declare application notification types | proposed | observed | 14 | 12 |
| `CAP-PFM-NOT-002` | Publish a notification with its business change | proposed | observed | 10 | 7 |
| `CAP-PFM-NOT-003` | Select eligible notification recipients | proposed | observed | 8 | 8 |
| `CAP-PFM-NOT-004` | Render recipient-specific notification content | proposed | observed | 8 | 4 |
| `CAP-PFM-NOT-005` | Combine repeated events into one notice | proposed | observed | 8 | 8 |
| `CAP-PFM-NOT-006` | Remove notices that have become stale | proposed | observed | 8 | 8 |
| `CAP-PFM-NOT-007` | Route and send notification deliveries | proposed | partially-observed | 11 | 9 |
| `CAP-PFM-NOT-008` | Recover notification processing and retain its history | proposed | observed | 11 | 10 |
| `CAP-PFM-NOT-009` | Manage a personal notification inbox | proposed | partially-observed | 10 | 8 |
| `CAP-PFM-NOT-010` | Explain notification selection and delivery | proposed | observed | 7 | 5 |
| `CAP-PFM-NOT-011` | Review workspace notification activity | proposed | observed | 8 | 6 |
| `CAP-PFM-NOT-012` | Investigate and retry notifications from HQ | proposed | observed | 7 | 4 |
| `CAP-PFM-NOT-013` | Send operational alerts to Rhythm HQ | proposed | observed | 11 | 8 |
| `CAP-PFM-NOT-014` | Announce explicit responsibility changes | proposed | partially-observed | 10 | 7 |
| `CAP-PFM-NOT-015` | Store notification preferences and channel configuration | proposed | partially-observed | 13 | 11 |
| `CAP-PFM-NOT-016` | Author and publish association e-mail content | proposed | observed | 15 | 13 |
| `CAP-PFM-NOT-017` | Submit association communication requests | proposed | observed | 16 | 14 |
| `CAP-PFM-NOT-018` | Send association e-mail with retry and capacity control | proposed | observed | 14 | 12 |
| `CAP-PFM-NOT-019` | Inspect communication outcomes and provider feedback | proposed | observed | 12 | 8 |
| `CAP-PFM-NOT-020` | Apply recipient protection and sender verification | proposed | observed | 15 | 13 |

## Journeys

| Id | Journey | Intent | E2E policy |
|---|---|---|---|
| `JNY-PFM-NOT-001` | Receive and organize a responsibility notice | confirmed | required |
| `JNY-PFM-NOT-002` | Withdraw an assignment notice before or after delivery | confirmed | optional |
| `JNY-PFM-NOT-003` | Investigate recipient and empty-request history | confirmed | required |
| `JNY-PFM-NOT-004` | Receive a provisioning alert and review granted customer History | confirmed | optional |
| `JNY-PFM-NOT-005` | Register a notification type and publish a collapsing burst | confirmed | none |
| `JNY-PFM-NOT-006` | Publish compliance content and inspect protected delivery | confirmed | optional |

## Design Entry

The product should resolve the reserved HQ workspace, intended bell and History explanations, sender ownership and ambiguity policy before design treats those areas as settled. Producer adoption and future preferences need their own approved plans and evidence. The examination report records coverage and distinguishes inspected tests from tests actually executed for this corpus.

## Testing Artifact Tree

```text
notifications/
  planning/acceptance/
    FAS-PFM-NOT-01-notification-registry.md
    FAS-PFM-NOT-02-notification-pipeline.md
    FAS-PFM-NOT-03-notification-centre.md
    FAS-PFM-NOT-04-notification-history-and-support.md
    FAS-PFM-NOT-05-rhythm-hq-alerts.md
    FAS-PFM-NOT-06-notification-preferences-and-channels.md
    FAS-PFM-NOT-07-association-e-mail.md
  design/tests/
    ATS-PFM-NOT-001-register-the-kinds-of-notification-an-application-can-send.md
    ATS-PFM-NOT-002-tell-people-that-something-happened-with-one-call.md
    ATS-PFM-NOT-003-reach-the-right-people-and-only-people-of-the-organization.md
    ATS-PFM-NOT-004-word-each-notice-for-the-person-who-receives-it.md
    ATS-PFM-NOT-005-fold-quick-repeats-into-one-notice.md
    ATS-PFM-NOT-006-withdraw-or-expire-a-notice-that-no-longer-applies.md
    ATS-PFM-NOT-007-deliver-each-notice-on-the-channels-it-may-use.md
    ATS-PFM-NOT-008-keep-notifications-whole-when-part-of-the-pipeline-fails.md
    ATS-PFM-NOT-009-work-through-my-own-notifications.md
    ATS-PFM-NOT-010-understand-why-i-was-told.md
    ATS-PFM-NOT-011-see-what-the-organization-told-whom.md
    ATS-PFM-NOT-012-support-a-customers-notifications-from-rhythm-hq.md
    ATS-PFM-NOT-013-alert-rhythms-own-staff-in-slack.md
    ATS-PFM-NOT-014-tell-staff-about-changes-to-their-own-responsibilities.md
    ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md
    ATS-PFM-NOT-016-compose-the-e-mails-an-association-sends.md
    ATS-PFM-NOT-017-ask-platform-to-send-an-association-e-mail.md
    ATS-PFM-NOT-018-deliver-association-e-mail-reliably-and-within-sending.md
    ATS-PFM-NOT-019-record-what-became-of-each-e-mail.md
    ATS-PFM-NOT-020-protect-deliverability-and-the-associations-sending-address.md
  implementation/tests/
    TST-PFM-NOT-001-notification-acceptance-journey-cross-application-0300.md
    TST-PFM-NOT-002-notification-acceptance-journey-history-0100.md
    TST-PFM-NOT-003-notification-acceptance-journey-history-0101.md
    TST-PFM-NOT-004-notification-acceptance-journey-hq-0150.md
    TST-PFM-NOT-005-notification-acceptance-journey-inbox-0001.md
    TST-PFM-NOT-006-notification-acceptance-journey-inbox-0002.md
    TST-PFM-NOT-007-notification-acceptance-journey-inbox-0003.md
    TST-PFM-NOT-008-notification-acceptance-journey-inbox-0004.md
    TST-PFM-NOT-009-notification-acceptance-journey-inbox-0005.md
    TST-PFM-NOT-010-notification-acceptance-journey-inbox-0006.md
    TST-PFM-NOT-011-notification-acceptance-journey-pipeline-0200.md
    TST-PFM-NOT-012-notification-acceptance-journey-pipeline-0201.md
    TST-PFM-NOT-013-notification-acceptance-journey-pipeline-0202.md
    TST-PFM-NOT-014-notification-acceptance-journey-pipeline-0203.md
    TST-PFM-NOT-015-notification-acceptance-journey-pipeline-0204.md
    TST-PFM-NOT-016-notification-acceptance-journey-pipeline-0205.md
    TST-PFM-NOT-017-notification-acceptance-journey-pipeline-0206.md
    TST-PFM-NOT-018-notification-acceptance-journey-pipeline-0207.md
    TST-PFM-NOT-019-notification-acceptance-journey-pipeline-0208.md
    TST-PFM-NOT-020-destination.md
    TST-PFM-NOT-021-notifications.md
    TST-PFM-NOT-022-model.md
    TST-PFM-NOT-023-messages.md
    TST-PFM-NOT-024-requests.md
    TST-PFM-NOT-025-suppressions.md
    TST-PFM-NOT-026-templates.md
    TST-PFM-NOT-027-communication-messages-table.md
    TST-PFM-NOT-028-communication-request-submissions-table.md
    TST-PFM-NOT-029-communication-sender-identities-table.md
    TST-PFM-NOT-030-contact-role-compliance-communication.md
    TST-PFM-NOT-031-communication-reads.md
    TST-PFM-NOT-032-caller-rendered.md
    TST-PFM-NOT-033-dispatch-communications.md
    TST-PFM-NOT-034-marketing-lane.md
    TST-PFM-NOT-035-owned-template.md
    TST-PFM-NOT-036-process-communication-request.md
    TST-PFM-NOT-037-reserved-domain-suppression.md
    TST-PFM-NOT-038-send-handler.md
    TST-PFM-NOT-039-template-copies.md
    TST-PFM-NOT-040-lane-budgets.md
    TST-PFM-NOT-041-messages-changes-queries.md
    TST-PFM-NOT-042-messages.md
    TST-PFM-NOT-043-messages-queries.md
    TST-PFM-NOT-044-request-submissions.md
    TST-PFM-NOT-045-request-submissions-queries.md
    TST-PFM-NOT-046-requests.md
    TST-PFM-NOT-047-requests-queries.md
    TST-PFM-NOT-048-sender-identities.md
    TST-PFM-NOT-049-sender-identities-queries.md
    TST-PFM-NOT-050-suppressions.md
    TST-PFM-NOT-051-suppressions-queries.md
    TST-PFM-NOT-052-templates.md
    TST-PFM-NOT-053-templates-queries.md
    TST-PFM-NOT-054-changed-messages.md
    TST-PFM-NOT-055-handle-invocation.md
    TST-PFM-NOT-056-record-merge-fields.md
    TST-PFM-NOT-057-submit-request.md
    TST-PFM-NOT-058-provision-sender-identity.md
    TST-PFM-NOT-059-workspace-sender-address.md
    TST-PFM-NOT-060-communication-objects.md
    TST-PFM-NOT-061-workspace-objects.md
    TST-PFM-NOT-062-caller-rendered-purposes.md
    TST-PFM-NOT-063-message-version-templates.md
    TST-PFM-NOT-064-owned-templates.md
    TST-PFM-NOT-065-render-preview.md
    TST-PFM-NOT-066-communications-schemas.md
    TST-PFM-NOT-067-lane-bucket.md
    TST-PFM-NOT-068-lanes.md
    TST-PFM-NOT-069-notifications.md
    TST-PFM-NOT-070-notification-instances-table.md
    TST-PFM-NOT-071-notification-submissions-table.md
    TST-PFM-NOT-072-hq-notifications.md
    TST-PFM-NOT-073-notification-centre.md
    TST-PFM-NOT-074-deliver-delivery.md
    TST-PFM-NOT-075-dispatch-notifications.md
    TST-PFM-NOT-076-process-request-batch.md
    TST-PFM-NOT-077-cancel-and-supersede.md
    TST-PFM-NOT-078-logging.md
    TST-PFM-NOT-079-orchestrate-request.md
    TST-PFM-NOT-080-resolve-audience.md
    TST-PFM-NOT-081-channel-settings.md
    TST-PFM-NOT-082-definition-settings.md
    TST-PFM-NOT-083-definitions.md
    TST-PFM-NOT-084-definitions-queries.md
    TST-PFM-NOT-085-deliveries.md
    TST-PFM-NOT-086-delivery-works.md
    TST-PFM-NOT-087-digests.md
    TST-PFM-NOT-088-identities.md
    TST-PFM-NOT-089-instances.md
    TST-PFM-NOT-090-instances-queries.md
    TST-PFM-NOT-091-preferences.md
    TST-PFM-NOT-092-reconcile-jobs.md
    TST-PFM-NOT-093-requests.md
    TST-PFM-NOT-094-requests-queries.md
    TST-PFM-NOT-095-sms-usages.md
    TST-PFM-NOT-096-submissions.md
    TST-PFM-NOT-097-template-overrides.md
    TST-PFM-NOT-098-workspace-purges.md
    TST-PFM-NOT-099-user-settings.md
    TST-PFM-NOT-100-reconcile-workspace.md
    TST-PFM-NOT-101-register-service-notifications.md
    TST-PFM-NOT-102-submit-notification-request.md
    TST-PFM-NOT-103-system-audience.md
    TST-PFM-NOT-104-audience-planner.md
    TST-PFM-NOT-105-channel-resolution.md
    TST-PFM-NOT-106-collapsing.md
    TST-PFM-NOT-107-hq-channels.md
    TST-PFM-NOT-108-instance-status.md
    TST-PFM-NOT-109-permissions.md
    TST-PFM-NOT-110-queue-items.md
    TST-PFM-NOT-111-registration-manifest.md
    TST-PFM-NOT-112-registry-tables.md
    TST-PFM-NOT-113-render-message.md
    TST-PFM-NOT-114-slack-system-adapter.md
    TST-PFM-NOT-115-slack-system-render.md
    TST-PFM-NOT-116-templates.md
    TST-PFM-NOT-117-organization-types-dev.md
    TST-PFM-NOT-118-query-schedules-dev.md
    TST-PFM-NOT-119-operational-slack-provider-delivery.md
    TST-PFM-NOT-120-platform-notification-declaration-contracts.md
    TST-PFM-NOT-121-empty-preview-merge-fields.md
    TST-PFM-NOT-122-communication-queue-item-contracts.md
    TST-PFM-NOT-123-communication-content-in-the-organization-type-editor.md
```

Capability specifications retain detailed cases, feature suites combine their outcomes, and executable suites identify the inspected assertions. Proposed chains and lifecycle verification gaps remain visible in the findings.
