Skip to content

CAP-PFM-ELG-018Manage personal responses to attention items

Markdown

CAP-PFM-ELG-018

Manage personal responses to attention items

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindCapabilityProduct areaPlatformModuleEligibility, Responsibilities and AttentionRevision1

Read atservices-platform ad3f6a65react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Required attention remains until its underlying condition ends.Personal actions stay independent and create an audit trail.
Surfaces
consoleapi
Intent sources
services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-06services-platform:docs/milestones/plans/PLAT-M15-plan.md#A5services-platform:docs/milestones/plans/PLAT-M15-plan.md#PLAT-M15-S06

Controls

22 controls apply, from the corpus control catalogue.

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-PI-001 TC-PI-003 TC-PI-005 TC-PRV-001 TC-PRV-002 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-TEN-004 TC-VEN-001 TC-VEN-002 TC-VEN-003

Permissions

KeyChecked atScope
platform.attention.useapitenant

Business Rules

7 rules, 7 to be proved before approval. A rule's product intent is derived from its origin: 7 confirmed by a product decision, the rest inheriting this capability's confirmed.

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Personal actions require an open occurrence addressed to the caller, with every action rejected after the occurrence closes.
validationservicetest
services-platform:modules/attention/tests/unit/rules.spec.js#refuses every action on an item that is no longer open
02must prove
Confirmed
Acknowledgement marks the item seen and removes its unread contribution while keeping it on the list.
lifecycleservicetest
services-platform:modules/attention/tests/integration/services/persistence/states.integration.spec.js#acknowledges an item and records attention.acknowledged against its definition
03must prove
Confirmed
Required attention cannot be dismissed.
policyservicetest
services-platform:modules/attention/tests/integration/services/persistence/states.integration.spec.js#refuses dismissing a required item as not_dismissable, writing no trail
04must prove
Confirmed
Required snoozes obey the kind’s duration and count bounds, defaulting to seven days and three uses; other classes allow repeated snoozes up to 90 days, always ending in the future.
validationservicetest
services-platform:modules/attention/tests/unit/rules.spec.js#refuses a required item’s snooze once it has been snoozed its allowed number of times
05must prove
Confirmed
Dismissal removes an advisory or opportunity from that person’s list, with a recurring advisory appearing only as a fresh occurrence.
lifecycleservicetest
services-platform:modules/attention/tests/e2e/attention.e2e.spec.js#dismisses an advisory, which then leaves the caller’s list
06must prove
Confirmed
Snoozed attention reappears at its end time or when the person explicitly ends the snooze.
lifecycleservicetest
07must prove
Confirmed
Actions lock an existing personal state, advance its version and audit kind, occurrence and generation; snoozes additionally audit their count, while rejected actions create no trail.
invariantserviceobserved

Scenarios

IdGivenWhenThenProvenance
01Pat receives a required batch and separate advisory occurrences.Pat attempts required dismissal and uses dismissal and snooze on separate advisories.Required dismissal fails, optional dismissal hides its occurrence and the snoozed advisory returns at its end.test

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.