---
id: CAP-PFM-ELG-017
title: Deliver relevant attention with a reason
feature: FEAT-PFM-ELG-05
product_area: platform
module: eligibility
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: observed
supersedes:
  - RA-ACC-0102
  - RA-ACC-0105
  - RA-ACC-0106
  - RA-ACC-0107
  - RA-ACC-0200
  - RA-ACC-0201
  - RA-ACC-0202
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#2. Scope'
  - 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#D2'
  - 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#A9'
  - >-
    services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-04
  - >-
    services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-06
purpose: >-
  Staff need a relevant account of outstanding conditions and why those
  conditions concern them. Home, the attention list and the bell provide
  complementary views.
outcomes:
  - >-
    Audience members receive ordered work with an explanation of why it reaches
    them.
  - Changes to holders and delegates affect visibility without rewriting items.
concepts:
  - CON-PFM-ELG-005
  - CON-PFM-ELG-004
actors:
  - ACT-PFM-013
  - ACT-PFM-007
surfaces:
  - console
  - api
preconditions: []
postconditions: []
permissions:
  - key: platform.attention.use
    where_checked: api
    scope: tenant
  - key: platform.attention.read-others
    where_checked: api
    scope: tenant
rules:
  - id: BR-CAP-PFM-ELG-017-01
    proved_by: [ATS-PFM-ELG-017-01, TST-PFM-ELG-381, TST-PFM-ELG-388]
    statement: >-
      Every signed-in console staff member can read and respond to personal
      attention through baseline use authority, while portal attention remains
      withheld.
    kind: permission
    enforced_at:
      - api
    must_prove: true
    provenance: observed
    source: >-
      services-platform:modules/security/services/persistence/assignments.ts:consoleBaselineGrant
    origin: 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#D2'
  - id: BR-CAP-PFM-ELG-017-02
    proved_by: [ATS-PFM-ELG-014-11, ATS-PFM-ELG-016-14, ATS-PFM-ELG-017-02, ATS-PFM-ELG-017-16, ATS-PFM-ELG-017-17, TST-PFM-ELG-377, TST-PFM-ELG-393]
    statement: >-
      Audiences resolve during reads through scoped responsibility holders and
      delegates, direct users and role holders; team audiences currently match
      nobody.
    kind: calculation
    enforced_at:
      - database
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/persistence/items.queries.integration.spec.js#reaches
      a role audience’s holders, and not a user without the role
    origin: >-
      services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-04
  - id: BR-CAP-PFM-ELG-017-03
    proved_by: [ATS-PFM-ELG-013-15, ATS-PFM-ELG-017-03, ATS-PFM-ELG-017-15, TST-PFM-ELG-372, TST-PFM-ELG-397]
    statement: >-
      Ending a holding removes its audience match on the next read without
      rewriting the occurrence or removing it from other holders.
    kind: invariant
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/read/ending-assignment.integration.spec.js#removes
      Pat’s item on the next read, without touching the item, and leaves the
      second holder’s
    origin: 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#PLAT-M15-S09'
  - id: BR-CAP-PFM-ELG-017-04
    proved_by: [ATS-PFM-ELG-017-04, TST-PFM-ELG-393, TST-PFM-ELG-408]
    statement: >-
      Multiple audience matches produce one item with the preferred reason in
      order: resource responsibility, workspace responsibility, delegation,
      cover, team, role, escalation and direct user.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/persistence/items.queries.integration.spec.js#answers
      an item reaching the viewer through two audiences once, with the better
      reason
    origin: none
  - id: BR-CAP-PFM-ELG-017-05
    proved_by: [ATS-PFM-ELG-017-05, TST-PFM-ELG-392, TST-PFM-ELG-408]
    statement: >-
      Rank combines class weights of 300, 200 and 100, urgency weights of 60, 40
      and 20, allowed adjustments and up to ten daily age points; opportunity
      cannot outrank required, and displayed due-soon urgency uses workspace
      calendar days with a seven-day default.
    kind: calculation
    enforced_at:
      - database
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/unit/rules.spec.js#never lets an
      opportunity outrank a required item within the declared bounds
    origin: >-
      services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-06
  - id: BR-CAP-PFM-ELG-017-06
    proved_by: [ATS-PFM-ELG-017-06, ATS-PFM-ELG-017-19, ATS-PFM-ELG-020-09, TST-PFM-ELG-388, TST-PFM-ELG-393, TST-PFM-ELG-399]
    statement: >-
      Lists exclude dismissed items and normally snoozed items, support rank,
      due-date or opening order and cursor pages of 25 by default or at most 100
      without duplication or omission.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/read/viewer-summary.integration.spec.js#pages
      each sort by its keyset without repeating or dropping an item
    origin: none
  - id: BR-CAP-PFM-ELG-017-07
    proved_by: [ATS-PFM-ELG-017-07, ATS-PFM-ELG-017-18, ATS-PFM-ELG-018-07, TST-PFM-ELG-373, TST-PFM-ELG-398, TST-PFM-ELG-399]
    statement: >-
      Summaries group kinds with urgency, snooze and unread counts plus three
      leading items; unread means required, unacknowledged and unsnoozed, with
      per-kind counts capped at 500 and reflected on the bell.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/read/viewer-summary-cap.integration.spec.js#stops
      a group of 501 open items at 500 and says it is capped
    origin: 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#A9'
  - id: BR-CAP-PFM-ELG-017-08
    proved_by: [ATS-PFM-ELG-017-14, TST-PFM-ELG-393]
    statement: >-
      Empty summaries distinguish disabled attention, no holdings or direct
      audiences, and no outstanding conditions.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/persistence/items.queries.integration.spec.js#says
      no_responsibilities to a viewer who holds none and is addressed by nothing
    origin: none
  - id: BR-CAP-PFM-ELG-017-09
    proved_by: [ATS-PFM-ELG-017-08, TST-PFM-ELG-393, TST-PFM-ELG-406]
    statement: >-
      Presentation renders declared facts and scope labels, readable titles and
      workspace-zone times and durations instead of exposing internal references
      or raw timestamps.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/persistence/items.queries.integration.spec.js#names
      the reason’s scope by words, never by the unit’s id
    origin: none
  - id: BR-CAP-PFM-ELG-017-10
    proved_by: [ATS-PFM-ELG-017-09, TST-PFM-ELG-369, TST-PFM-ELG-388, TST-PFM-ELG-393]
    statement: >-
      An item detail explains its condition, audience match, next action and
      expected change, concealing occurrences outside the viewer’s audience.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/e2e/attention.e2e.spec.js#answers
      404 for an item addressed to somebody else
    origin: none
  - id: BR-CAP-PFM-ELG-017-11
    proved_by: [ATS-PFM-ELG-017-10, TST-PFM-ELG-388]
    statement: >-
      Item actions require their declared permissions and explain missing
      authority; audience membership itself grants no record or action access.
    kind: permission
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/e2e/attention.e2e.spec.js#allows
      an action to a reader holding the permission its definition declares, and
      says what another reader needs
    origin: none
  - id: BR-CAP-PFM-ELG-017-12
    proved_by: [ATS-PFM-ELG-017-11, TST-PFM-ELG-388]
    statement: >-
      Record attention shows all open occurrences about that record with
      personal matches marked, only to an authorized record reader.
    kind: permission
    enforced_at:
      - api
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/e2e/attention.e2e.spec.js#answers
      404 to a caller who may not read the record
    origin: none
  - id: BR-CAP-PFM-ELG-017-13
    proved_by: [ATS-PFM-ELG-017-12, TST-PFM-ELG-388]
    statement: >-
      Reading a colleague’s attention requires read-others authority and creates
      an audit record.
    kind: permission
    enforced_at:
      - api
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/e2e/attention.e2e.spec.js#lists
      a colleague’s items to a holder of read-others, and audits the read
    origin: none
  - id: BR-CAP-PFM-ELG-017-14
    proved_by: [ATS-PFM-ELG-017-13, TST-PFM-ELG-380, TST-PFM-ELG-382, TST-PFM-ELG-389, TST-PFM-ELG-393]
    statement: >-
      Attention remains workspace-isolated, and reads without a workspace return
      no items.
    kind: invariant
    enforced_at:
      - database
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/attention/tests/integration/services/persistence/items.queries.integration.spec.js#reads
      nothing of the tenant without a tenant: the policy fails closed
    origin: 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#PLAT-M15-S04'
scenarios:
  - id: SC-CAP-PFM-ELG-017-01
    given: A unit held by Pat has a closed batch.
    when: Pat reads Home.
    then: >-
      A waiting-posting group and unread increase appear, with the
      responsibility reason and a link to the batch.
    provenance: test
    source: >-
      react-console:acceptance/platform-attention/playwright/journeys/attention/RA-ACC-0107.spec.ts#RA-ACC-0107
  - id: SC-CAP-PFM-ELG-017-02
    given: A reviewer has no role-specific attention grant.
    when: A review directed to them becomes due.
    then: Baseline staff authority lets their Home present it.
    provenance: test
    source: >-
      react-console:acceptance/platform-attention/playwright/journeys/security/RA-ACC-0201.spec.ts#RA-ACC-0201
edge_cases:
  - id: SC-CAP-PFM-ELG-017-03
    given: A kind has over 500 outstanding occurrences.
    when: Its recipient opens Home.
    then: The summary displays a capped count and one full-list link.
    provenance: test
    source: >-
      react-console:acceptance/platform-attention/playwright/journeys/attention/RA-ACC-0106.spec.ts#RA-ACC-0106
constraints: []
depends_on:
  - CAP-PFM-ELG-016
  - CAP-PFM-ELG-013
related:
  - CAP-PFM-ELG-014
  - CAP-PFM-ELG-018
journeys:
  - JNY-PFM-ELG-004
  - JNY-PFM-ELG-005
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/aws/api/attention.routes.ts, attention.schemas.ts,
    attention-api-mapper.ts, rules.ts, services/read/**
    (attention-for-viewer.ts, render-item.ts, action-permissions.ts),
    services/persistence/items.ts (the viewer statements),
    evaluated-permissions.ts; modules/responsibilities (responsibility_holders,
    effective_responsibilities_of);
    modules/security/services/persistence/assignments.ts (consoleBaselineGrant,
    named as a dependency); rule-level source and test references
  - >-
    react-console: app/(console)/console/[tenantId]/page.tsx (Home),
    attention/page.tsx, components/attention/** (attention-block.tsx,
    attention-list-screen.tsx, attention-item-row.tsx, attention-parts.tsx),
    components/console/alerts-popover.tsx (the bell), lib/attention/**,
    lib/api/attention.ts;
    acceptance/platform-attention/journeys/{attention,security}/*.json and
    matching browser specifications.
controls: [TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-AZ-006, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-CRY-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-IAM-001, TC-IAM-002, TC-IAM-003, TC-IAM-004, TC-IAM-005, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-005, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
exercised_by: [FAS-PFM-ELG-04-02, FAS-PFM-ELG-05-01, FAS-PFM-ELG-05-02, FAS-PFM-ELG-05-03, FAS-PFM-ELG-05-04, FAS-PFM-ELG-05-05, FAS-PFM-ELG-06-01]
suites: [TST-PFM-ELG-369, TST-PFM-ELG-372, TST-PFM-ELG-373, TST-PFM-ELG-377, TST-PFM-ELG-380, TST-PFM-ELG-381, TST-PFM-ELG-382, TST-PFM-ELG-388, TST-PFM-ELG-389, TST-PFM-ELG-392, TST-PFM-ELG-393, TST-PFM-ELG-397, TST-PFM-ELG-398, TST-PFM-ELG-399, TST-PFM-ELG-406, TST-PFM-ELG-408]
---
# Deliver relevant attention with a reason

## Purpose

Staff need a relevant account of outstanding conditions and why those conditions concern them. Home, the attention list and the bell provide complementary views.

## How It Works

Platform resolves audiences when a person reads. Current responsibility holdings and cover help select relevant items. Multiple matches still produce one entry. Ranking brings required and urgent work forward within the defined bounds. Home groups items, while the list offers individual exploration. The bell reflects unread required work. Opening an item explains the condition and audience match. Its actions depend on permissions to act on the underlying record. Administrators need separate authority to inspect a colleague’s view. Portal attention remains withheld.

## Relationships

- Maintain attention conditions throughout their lifecycle supplies the open conditions to present.
- Assign accountability for an area of work resolves responsibility holders in the audience.
