---
id: CAP-PFM-NOT-014
title: Announce explicit responsibility changes
feature: FEAT-PFM-NOT-03
product_area: platform
module: notifications
revision: 1
status: draft
product_intent: proposed
implementation_evidence: partially-observed
supersedes: []
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - >-
    services-platform:docs/milestones/PLAT-M23-notifications-core-and-in-app.md#D3
  - 'services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#2. Scope'
purpose: >-
  Responsibility producers announce explicit assignment and delegation changes
  while keeping derived changes silent.
outcomes:
  - The documented workflow announces explicit responsibility changes.
  - >-
    Partial implementation evidence leaves producer compensation and ending
    announcements unresolved.
concepts:
  - CON-PFM-NOT-003
actors:
  - ACT-PFM-027
  - ACT-PFM-030
surfaces:
  - console
  - job
preconditions: []
postconditions: []
permissions: []
rules:
  - id: BR-CAP-PFM-NOT-014-01
    statement: >-
      The documented producer contract announces explicit responsibility
      assignments to their assignees in the console; Role defaults, derived
      assignments and nightly assignment reconciliation remain silent.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: documented
    source: 'services-platform:docs/notifications.md#9. Producers'
    origin: none
    note: >-
      The browser journey proves direct assignment delivery; silent role
      defaults and reconciliation are documented but their producer code is
      outside scope.
  - id: BR-CAP-PFM-NOT-014-02
    statement: >-
      Delegation produces one notice for the delegate per delegation request and
      a confirmation for the delegator, including when the delegator performed
      the action.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: documented
    source: 'services-platform:docs/notifications.md#9. Producers'
    origin: >-
      services-platform:docs/milestones/PLAT-M23-notifications-core-and-in-app.md#D3
  - id: BR-CAP-PFM-NOT-014-03
    statement: >-
      Ending an assignment withdraws its assignment notice, marks it no longer
      applicable and sends an ending notice to the assignee.
    kind: lifecycle
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      react-console:acceptance/notifications/playwright/journeys/inbox/NT-ACC-0004.spec.ts#NT-ACC-0004
    origin: >-
      services-platform:docs/milestones/PLAT-M23-notifications-core-and-in-app.md#D3
  - id: BR-CAP-PFM-NOT-014-04
    statement: >-
      Assignment and ending exclude the administrator acting on them; delegator
      confirmation is the actor-inclusion exception.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: documented
    source: 'services-platform:docs/notifications.md#9. Producers'
    origin: >-
      services-platform:docs/milestones/PLAT-M23-notifications-core-and-in-app.md#D3
  - id: BR-CAP-PFM-NOT-014-05
    statement: >-
      The documented producer transaction contains both the responsibility
      change and notification publication; a post-commit nudge occurs only when
      publication took place.
    kind: invariant
    enforced_at:
      - service
    must_prove: true
    provenance: documented
    source: 'services-platform:docs/notifications.md#9. Producers'
    origin: >-
      services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md#2.
      Scope
  - id: BR-CAP-PFM-NOT-014-06
    statement: >-
      Single-responsibility notices identify that responsibility for collapse;
      Delegations spanning several responsibilities omit a single subject
      record.
    kind: policy
    enforced_at:
      - service
    must_prove: false
    provenance: documented
    source: 'services-platform:docs/notifications.md#9. Producers'
    origin: none
  - id: BR-CAP-PFM-NOT-014-07
    statement: >-
      Responsibility payloads contain names and labels, with organization scope
      or resource type and identifier; Platform does not supply resource names.
    kind: policy
    enforced_at:
      - service
    must_prove: false
    provenance: documented
    source: 'services-platform:docs/notifications.md#9. Producers'
    origin: none
  - id: BR-CAP-PFM-NOT-014-08
    statement: >-
      Producer validation refusal, including address-like names, logs and omits
      the notice while preserving the responsibility change.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: documented
    source: 'services-platform:docs/notifications.md#9. Producers'
    origin: none
  - id: BR-CAP-PFM-NOT-014-09
    statement: >-
      Ending an assignment before dispatch cancels the assignment notice but
      still publishes the ending notice, so the assignee can hear only that it
      ended.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: documented
    source: >-
      react-console:acceptance/notifications/reports/defects/notifications.md#DEF-NT-0009
    origin: none
    note: >-
      the recorded defect, an open product question: whether the “ended” notice
      should be withheld when the assignment was never announced.
  - id: BR-CAP-PFM-NOT-014-10
    statement: >-
      Nonproduction assignment and delegation routes support a test-only notice
      delay up to twenty-four hours; Production ignores the header, and console
      behavior does not send it.
    kind: policy
    enforced_at:
      - api
    must_prove: false
    provenance: documented
    source: 'services-platform:docs/notifications.md#6. The pipeline'
    origin: none
scenarios:
  - id: SC-CAP-PFM-NOT-014-01
    given: >-
      Pat assigns Jane Batch posting, Jane delegates to Sam for a week and Pat
      later ends Jane's assignment.
    when: The producers commit each change.
    then: >-
      Jane receives assignment and ending notices, Sam receives delegation and
      Jane receives confirmation; the original assignment item becomes
      inapplicable and Pat receives no actor notice.
    provenance: documented
    source: >-
      services-platform:docs/milestones/PLAT-M23-notifications-core-and-in-app.md#D3
edge_cases: []
constraints: []
depends_on:
  - CAP-PFM-NOT-002
  - CAP-PFM-NOT-006
related:
  - CAP-PFM-NOT-009
  - CAP-PFM-NOT-005
journeys:
  - JNY-PFM-NOT-001
  - JNY-PFM-NOT-002
open_questions:
  - OQ-PFM-NOT-001
  - OQ-PFM-NOT-006
evidence:
  - >-
    Pinned evidence inventory 1:
    services-platform:docs/milestones/PLAT-M23-notifications-core-and-in-app.md;
    services-platform:docs/notifications.md;
    react-console:acceptance/notifications/playwright/journeys/inbox/NT-ACC-0005.spec.ts
  - >-
    Pinned evidence inventory 2:
    services-platform:docs/milestones/plans/PLAT-M23-plan.humanized.md;
    react-console:acceptance/notifications/playwright/journeys/inbox/NT-ACC-0004.spec.ts
controls: [TC-AVL-004, TC-AVL-005, 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-006, 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]
---

# Announce explicit responsibility changes

## Purpose

Responsibility producers announce explicit assignment and delegation changes while keeping derived changes silent.

## How It Works

An administrator explicitly assigns or ends a responsibility, or a holder delegates it. The documented producer integration publishes notices alongside those business changes. Assignment targets the assignee and excludes the acting administrator. Delegation informs the delegate and confirms the change to the delegator. Ending withdraws the assignment notice and publishes an ending notice. Labels and scope describe the responsibility without resource-name lookup in Platform. A rejected publication can leave the business change intact. Owning-module transaction and compensation internals remain outside this examination's source boundary.

The responsibility integration describes a producer contract. Transaction and compensation proof must come from the owning module before design relies on it.

## Relationships

Committed publication supplies the requests processed by this outcome.

Withdrawal supplies the mechanism for stopping announcements that no longer apply.
