---
id: FAS-PFM-NOT-06
title: Notification Delivery Configuration
feature: FEAT-PFM-NOT-06
product_area: platform
module: notifications
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-PFM-NOT-015
scenarios:
  - id: FAS-PFM-NOT-06-01
    title: Stored delivery choices remain inspectable
    kind: behaviour
    exercises:
      - CAP-PFM-NOT-015
    relies_on:
      - ATS-PFM-NOT-015-01
      - ATS-PFM-NOT-015-03
      - ATS-PFM-NOT-015-07
    preconditions: Use suite-owned recipients and workspace configuration.
    steps: >-
      Save valid choices and quiet-hour settings, then read personal and
      workspace records.
    expected: >-
      The saved versions and defaults remain available without activating
      additional delivery.
    negative: false
    data_needs: >-
      Suite-owned records and repeat keys, named recipient identities and
      controlled provider outcomes.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-01
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-03
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-07
  - id: FAS-PFM-NOT-06-02
    title: Dormant wording and channels do not alter current inbox output
    kind: interaction
    exercises:
      - CAP-PFM-NOT-015
      - CAP-PFM-NOT-007
      - CAP-PFM-NOT-004
    relies_on:
      - ATS-PFM-NOT-015-05
      - ATS-PFM-NOT-015-04
      - ATS-PFM-NOT-007-01
      - ATS-PFM-NOT-004-01
    preconditions: >-
      Publish a valid wording override and store a disabled optional definition
      setting.
    steps: >-
      Process an occurrence and compare its rendered console notice with the
      stored settings.
    expected: >-
      The current pipeline retains product wording and console delivery despite
      the stored future configuration.
    negative: false
    data_needs: >-
      Suite-owned records and repeat keys, named recipient identities and
      controlled provider outcomes.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-05
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-04
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-007-deliver-each-notice-on-the-channels-it-may-use.md#ATS-PFM-NOT-007-01
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-004-word-each-notice-for-the-person-who-receives-it.md#ATS-PFM-NOT-004-01
  - id: FAS-PFM-NOT-06-03
    title: Digest settlement retains collected history
    kind: lifecycle
    exercises:
      - CAP-PFM-NOT-015
    relies_on:
      - ATS-PFM-NOT-015-08
      - ATS-PFM-NOT-015-09
      - ATS-PFM-NOT-015-13
    preconditions: >-
      Use a stored channel identity, challenge and digest window; these have no
      current delivery worker.
    steps: >-
      Move the identity through activation and revocation, expire a challenge
      and close a collected digest window through persistence.
    expected: >-
      Terminal state remains terminal and retained records describe the stored
      lifecycle without claiming an active notification channel.
    negative: false
    data_needs: >-
      Suite-owned records and repeat keys, named recipient identities and
      controlled provider outcomes.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-08
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-09
  - id: FAS-PFM-NOT-06-04
    title: Storage stays within workspace and recipient boundaries
    kind: permission
    exercises:
      - CAP-PFM-NOT-015
      - CAP-PFM-NOT-008
    relies_on:
      - ATS-PFM-NOT-015-02
      - ATS-PFM-NOT-008-08
    preconditions: >-
      Create settings for two recipients in two workspaces and use a
      workspace-scoped execution context.
    steps: Attempt foreign reads and writes and a stale replacement of local choices.
    expected: >-
      Foreign settings are unavailable and the refused update does not change
      local choices.
    negative: true
    data_needs: >-
      Suite-owned records and repeat keys, named recipient identities and
      controlled provider outcomes.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-02
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-008-keep-notifications-whole-when-part-of-the-pipeline-fails.md#ATS-PFM-NOT-008-08
  - id: FAS-PFM-NOT-06-05
    title: Rejected configuration does not add audit history
    kind: regression
    exercises:
      - CAP-PFM-NOT-015
    relies_on:
      - ATS-PFM-NOT-015-02
      - ATS-PFM-NOT-015-06
    preconditions: >-
      Capture the current version and audit history for each workspace
      configuration family.
    steps: >-
      Perform a valid update, then repeat with the stale version and compare
      history.
    expected: Only the accepted update adds its recorded before-and-after change.
    negative: false
    data_needs: >-
      Suite-owned records and repeat keys, named recipient identities and
      controlled provider outcomes.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-02
      - >-
        rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-06
evidence:
  - >-
    rhythm-v2-docs:specs/platform/notifications/planning/features/FEAT-PFM-NOT-06-notification-preferences-and-channels.md
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-01
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-03
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-07
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-05
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-04
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-007-deliver-each-notice-on-the-channels-it-may-use.md#ATS-PFM-NOT-007-01
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-004-word-each-notice-for-the-person-who-receives-it.md#ATS-PFM-NOT-004-01
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-08
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-09
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-02
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-008-keep-notifications-whole-when-part-of-the-pipeline-fails.md#ATS-PFM-NOT-008-08
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-02
  - >-
    rhythm-v2-docs:specs/platform/notifications/design/tests/ATS-PFM-NOT-015-let-the-organization-and-its-people-choose-how-they-hear.md#ATS-PFM-NOT-015-06
regression_record:
  - revision: 1
    change: initial
    scenarios:
      - FAS-PFM-NOT-06-01
      - FAS-PFM-NOT-06-02
      - FAS-PFM-NOT-06-03
      - FAS-PFM-NOT-06-04
      - FAS-PFM-NOT-06-05
    reason: >-
      Initial cumulative feature acceptance coverage from the pinned planning
      and design layers.
---

# Notification Delivery Configuration: Feature Acceptance Suite

## What the Feature Must Do as a Whole

This suite follows the feature from its initial inputs through the outcomes people inspect. Its cases combine capability results so that a change at one stage is checked against the later stages that depend on it.

## Interactions Between Capabilities

Process an occurrence and compare its rendered console notice with the stored settings. The current pipeline retains product wording and console delivery despite the stored future configuration.

The feature cases retain their prerequisite scenario references. A component test alone does not establish execution of the complete feature chain.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | All initial cases | Establish cumulative feature coverage and preserve its dependencies for later revisions. |
