---
id: CAP-PFM-ELG-019
title: Escalate overdue attention and plan reminders
feature: FEAT-PFM-ELG-06
product_area: platform
module: eligibility
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: inconsistent
supersedes: []
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - 'services-platform:docs/milestones/plans/PLAT-M16-plan.md#2. Scope'
  - 'services-platform:docs/milestones/plans/PLAT-M16-plan.md#D2'
  - 'services-platform:docs/milestones/plans/PLAT-M16-plan.md#D3'
  - >-
    services-platform:docs/milestones/PLAT-M16-attention-follow-up-and-tuning.md#Decisions
  - >-
    services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-07
  - >-
    services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-10
purpose: >-
  Persistent overdue conditions may need a wider audience or a reminder.
  Escalation and reminder planning provide that follow-up.
outcomes:
  - Escalation adds a recipient once while retaining the original audience.
  - 'Reminder planning addresses due, overdue and escalated work.'
concepts:
  - CON-PFM-ELG-005
actors:
  - ACT-PFM-026
  - ACT-PFM-013
surfaces:
  - job
preconditions: []
postconditions: []
permissions:
  - key: platform.attention.use
    where_checked: service
    scope: tenant
rules:
  - id: BR-CAP-PFM-ELG-019-01
    proved_by: [ATS-PFM-ELG-019-01, TST-PFM-ELG-402]
    statement: >-
      A 15-minute sweep escalates an overdue occurrence once after its
      configured delay, adds the declared role or responsibility audience and
      audits the change while retaining original audiences.
    kind: lifecycle
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#escalates
      an item overdue past its escalation: stamped, and its role added as an
      escalation audience
    origin: >-
      services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-07
  - id: BR-CAP-PFM-ELG-019-02
    proved_by: [ATS-PFM-ELG-016-15, ATS-PFM-ELG-019-02, ATS-PFM-ELG-019-07, TST-PFM-ELG-402]
    statement: >-
      Escalation is permanent, is not repeated and survives provider refreshes,
      with occurrences short of the delay unchanged.
    kind: invariant
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#escalates
      an item once: a second sweep stamps, adds and records nothing
    origin: none
  - id: BR-CAP-PFM-ELG-019-03
    proved_by: [ATS-PFM-ELG-019-03, TST-PFM-ELG-405]
    statement: >-
      Reminder policies combine application defaults and workspace overrides
      field by field, defaulting to due-soon and overdue reminders, daily up to
      three and escalation where supported; disabled or empty policies plan
      nothing.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/unit/reminders.spec.js#takes the
      tenant’s override part by part over the declaration
    origin: none
  - id: BR-CAP-PFM-ELG-019-04
    proved_by: [ATS-PFM-ELG-019-04, TST-PFM-ELG-401, TST-PFM-ELG-405]
    statement: >-
      Reminders are planned per matching person: once near due date, by overdue
      cadence up to a maximum without late catch-up and once for escalation
      recipients, skipping snoozed, dismissed or hidden attention and preventing
      duplicate plans.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#plans
      nothing for a person who snoozed the item
    origin: none
  - id: BR-CAP-PFM-ELG-019-05
    proved_by: [ATS-PFM-ELG-018-08, ATS-PFM-ELG-019-05, ATS-PFM-ELG-019-08, ATS-PFM-ELG-019-09, ATS-PFM-ELG-020-10, TST-PFM-ELG-401]
    statement: >-
      Sending rechecks due reminders and records skips for closed, dismissed,
      snoozed or hidden attention, disabled policies and inactive or
      unaddressable recipients.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#skips
      a due reminder whose item was resolved before it went
    origin: none
  - id: BR-CAP-PFM-ELG-019-06
    proved_by: [ATS-PFM-ELG-019-06, ATS-PFM-ELG-019-10, TST-PFM-ELG-401]
    statement: >-
      Each sender run groups a person’s reminders into one communications
      message with kind, reason, workspace-zone due date and console link, using
      an idempotency key for retries.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#sends
      one message per person, the admin’s listing both of their items
    origin: >-
      services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-10
  - id: BR-CAP-PFM-ELG-019-07
    proved_by: []
    statement: >-
      The product should leave reminders disabled until a workspace
      administrator enables the kind.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: unknown
    source: FND-PFM-ELG-019
    origin: 'services-platform:docs/milestones/plans/PLAT-M16-plan.md#D2'
  - id: BR-CAP-PFM-ELG-019-08
    proved_by: []
    statement: >-
      The product should send reminders through Notifications and use its digest
      and quiet-hour preferences; current attention code still sends
      communications e-mail and retains those preferences.
    kind: policy
    enforced_at:
      - service
    must_prove: false
    provenance: unknown
    source: FND-PFM-ELG-017
    origin: 'services-platform:docs/milestones/plans/PLAT-M16-plan.md#Approval'
scenarios:
  - id: SC-CAP-PFM-ELG-019-01
    given: Batch posting escalates to financial close after a day overdue.
    when: A batch passes that delay.
    then: >-
      The next quarter-hour sweep adds the financial-close holder’s view with an
      escalation reason and retains the posting holder’s view.
    provenance: documented
    source: >-
      services-platform:docs/milestones/plans/PLAT-M16-plan.md#3. How it works
      for the user
edge_cases: []
constraints: []
depends_on:
  - CAP-PFM-ELG-016
  - CAP-PFM-ELG-017
related:
  - CAP-PFM-ELG-018
  - CAP-PFM-ELG-020
journeys: []
open_questions: []
evidence:
  - >-
    services-platform: docs/attention.md;
    docs/milestones/PLAT-M15-home-attention-and-responsibilities.md,
    PLAT-M16-attention-follow-up-and-tuning.md,
    PLAT-M17-attention-on-records-and-events.md,
    PLAT-M18-workspace-defined-attention.md, plans/PLAT-M15-plan.md,
    plans/PLAT-M16-plan.md;
    docs/proposals/responsibilities-and-attention/16-decisions.md;
    aws/platform.service.ts (ATTENTION_PERMISSIONS);
    modules/attention/services/persistence/items.ts (escalateOverdueItems),
    reminders.ts, services/reminders/** (plan-reminders.ts, run-reminders.ts,
    send-reminders.ts, reminder-message.ts, reminder-purpose.ts),
    services/sweep/**, aws/lambda/SWEEP.handler.ts, REMINDERS.handler.ts,
    db/attention-reminders.table.ts; rule-level source and test references
  - 'react-console: the reminder milestone has no implemented console surface'
controls: [TC-AVL-004, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-LOG-002, TC-LOG-003, TC-LOG-005, TC-MON-001, TC-PI-002, TC-PI-004, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-PRV-004, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
exercised_by: [FAS-PFM-ELG-05-05, FAS-PFM-ELG-06-01, FAS-PFM-ELG-06-02, FAS-PFM-ELG-06-03, FAS-PFM-ELG-06-04, FAS-PFM-ELG-06-05]
suites: [TST-PFM-ELG-401, TST-PFM-ELG-402, TST-PFM-ELG-405]
---
# Escalate overdue attention and plan reminders

## Purpose

Persistent overdue conditions may need a wider audience or a reminder. Escalation and reminder planning provide that follow-up.

## How It Works

A kind declares any escalation target and delay. Workspace settings can override only the permitted parts. The sweep adds the target audience after the delay while preserving existing recipients. Escalation remains with the occurrence after later refreshes. Reminder planning resolves recipients and their personal visibility state. The sender rechecks pending work before delivery. Current delivery collects a person’s items into a communications message. The product should instead use Notifications for delivery and its timing preferences. The product should also keep reminders off until an administrator enables them.

## Relationships

- Maintain attention conditions throughout their lifecycle supplies the condition’s lifecycle and follow-up declarations.
- Deliver relevant attention with a reason resolves the current audience for follow-up.
