---
id: JNY-PFM-NOT-004
title: Receive a provisioning alert and review granted customer History
feature: FEAT-PFM-NOT-05
product_area: platform
module: notifications
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: partially-observed
supersedes:
  - NT-ACC-0150
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-PFM-029
goal: >-
  Inspect a provisioning outcome in operations Slack and investigate customer
  notices with an active access grant.
capabilities:
  - CAP-PFM-NOT-013
  - CAP-PFM-NOT-012
screens:
  - /hq/tenants
  - '/hq/jobs/{job_kind}/{job_id}'
  - /hq/notifications
steps:
  - 'n': 1
    surface: /hq/tenants
    action: A Rhythm administrator starts customer workspace provisioning in HQ.
    capability: CAP-PFM-NOT-013
    expected: Completion or failure publishes the corresponding operational alert.
    provenance: documented
    source: 'services-platform:docs/notifications.md#9. Producers'
  - 'n': 2
    surface: slack chat.postMessage
    action: The Rhythm bot sends the alert to its operations Slack channel.
    capability: CAP-PFM-NOT-013
    expected: >-
      A single message describes the outcome, includes a failure reason when
      applicable and offers Open job.
    provenance: test
    source: >-
      react-console:acceptance/notifications/playwright/journeys/hq/NT-ACC-0150.spec.ts#NT-ACC-0150
  - 'n': 3
    surface: '/hq/jobs/{job_kind}/{job_id}'
    action: HQ staff follow Open job.
    capability: CAP-PFM-NOT-013
    expected: HQ displays the provisioning job.
    provenance: test
    source: >-
      services-platform:modules/notifications/tests/integration/services/system/system-audience.integration.spec.js#links
      the Open job button to the job page on the console’s origin
  - 'n': 4
    surface: /hq/notifications
    action: >-
      With an active customer access grant, staff select that customer's
      notification History.
    capability: CAP-PFM-NOT-012
    expected: The page returns the same history available to the customer administrator.
    provenance: test
    source: >-
      react-console:acceptance/notifications/playwright/journeys/history/NT-ACC-0100.spec.ts#NT-ACC-0100
alternates: []
failures:
  - from_step: 2
    condition: This environment has no configured Slack bot secret.
    path: Delivery records an unconfigured skip and one warning.
    outcome: >-
      No Slack message is sent, and missing configuration does not crash
      processing.
    provenance: test
    source: >-
      services-platform:modules/notifications/tests/integration/services/system/system-audience.integration.spec.js#skips
      the delivery channel_unconfigured, posting nothing, when there is no
      secret
  - from_step: 4
    condition: HQ staff lack an active customer access grant.
    path: History access rejects the request without returning customer records.
    outcome: The customer history remains unavailable.
    provenance: test
    source: >-
      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
rules_in_play:
  - BR-CAP-PFM-NOT-013-01
  - BR-CAP-PFM-NOT-013-03
  - BR-CAP-PFM-NOT-013-05
  - BR-CAP-PFM-NOT-013-06
  - BR-CAP-PFM-NOT-012-02
assertions:
  - id: AS-JNY-PFM-NOT-004-01
    statement: >-
      The provisioning outcome creates an operations Slack message and job
      destination without appearing in customer History.
    provenance: test
    source: >-
      react-console:acceptance/notifications/playwright/journeys/hq/NT-ACC-0150.spec.ts#NT-ACC-0150
  - id: AS-JNY-PFM-NOT-004-02
    statement: >-
      HQ access to customer notification history requires an active grant for
      that customer workspace.
    provenance: test
    source: >-
      services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is
      answered with an active grant into the tenant, the same page its
      administrator reads
e2e_policy: optional
e2e_reason: >-
  Slack needs adapter and provider verification rather than browser observation.
  HQ history reads have API grant evidence, while configured provider proof
  remains incomplete.
evidence:
  - >-
    Pinned evidence inventory 1: services-platform:docs/notifications.md;
    services-platform:modules/notifications/tests/integration/services/system/system-audience.integration.spec.js;
    services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js
  - >-
    Pinned evidence inventory 2:
    react-console:acceptance/notifications/playwright/journeys/hq/NT-ACC-0150.spec.ts;
    react-console:acceptance/notifications/playwright/journeys/history/NT-ACC-0100.spec.ts;
    services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md
intent_sources:
  - 'services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#2. Scope'
---

# Receive a provisioning alert and review granted customer History

## Story

Inspect a provisioning outcome in operations Slack and investigate customer notices with an active access grant.


Operational delivery and customer support are separate parts of this journey. Slack configuration controls the alert path, while an active access grant controls customer History. The provider-configured acceptance path remains a recorded proof gap.

## Verification Boundary

The structured steps and assertions carry their own provenance and sources. Test references describe inspected assertions at the pinned commits; this examination does not claim a fresh provider or browser execution.
