Skip to content

CAP-PFM-ELG-016Maintain attention conditions throughout their lifecycle

Markdown

CAP-PFM-ELG-016

Maintain attention conditions throughout their lifecycle

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
Application conditions create attention and remove it on completion.Transactional publication prevents committing invalid attention alongside the business update.
Surfaces
apijob
Intent sources
services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-03services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-05services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-06services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-10services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-12services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-13services-platform:docs/milestones/plans/PLAT-M15-plan.md#2. Scope

Controls

36 controls apply, from the corpus control catalogue.

TC-AVL-005 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-CHG-001 TC-CHG-002 TC-CHG-003 TC-CHG-004 TC-CHG-005 TC-CHG-006 TC-CHG-007 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-DAT-004 TC-IAM-001 TC-IAM-006 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-MON-001 TC-PI-001 TC-PI-002 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.resolve-manuallyapitenant

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Application attention declarations are validated together, rejecting foreign keys, changed classes, unexplained required classes, escalating opportunities, incompatible audiences, invalid templates, unavailable actions or permissions and foreign about-objects.
validationservicetest
02must prove
Confirmed
Removing a declared kind retires it and resolves its open workspace items while retaining workspace settings.
lifecycleservicetest
services-platform:modules/attention/tests/integration/services/registration/register-service-attention.integration.spec.js#retires a definition the manifest no longer declares, resolves its open items and keeps its settings
03must prove
Confirmed
Applications publish and resolve attention within their transaction through four restricted database functions, rejecting foreign workspace or service claims and unavailable kinds, while Platform can evaluate any application’s computed kinds.
permissiondatabasetest
services-platform:modules/attention/tests/integration/services/persistence/items.integration.spec.js#reaches no table directly: a provider cannot write an item but through the functions
04must prove
Confirmed
Item publication rejects invalid facts, scope chains over ten or an organization scope placed before the end, unsupported or excessive audiences, missing responsibility targets, teams, unknown product roles and non-Platform eligibility audiences, rolling back refused writes.
validationdatabasetest
05must prove
Confirmed
Each kind and deduplication key has one open occurrence, refreshed in place with replacement audiences while retaining escalations; recurrence after resolution creates a new generation.
invariantdatabasetest
services-platform:modules/attention/tests/integration/services/persistence/items.integration.spec.js#opens the next generation, a new item, when a resolved condition recurs
06must prove
Confirmed
Published surfaces reflect the kind’s and workspace’s choices, and scope chains end at the workspace after application-provided resource ancestry.
calculationdatabasetest
services-platform:modules/attention/tests/integration/services/persistence/items.integration.spec.js#masks the surfaces to the tenant’s: a console-and-portal definition the tenant keeps on the console
07must prove
Confirmed
Resolution reports whether it closed an open occurrence and safely repeats; unconfirmed resolution clears matching occurrences not refreshed since a given instant, optionally within a scope.
lifecycledatabasetest
services-platform:modules/attention/tests/integration/services/persistence/items.integration.spec.js#resolves the open items not confirmed since the instant, in the scope given, and leaves the confirmed
08must prove
Confirmed
Closed occurrences do not reopen; a 15-minute sweep expires overdue expiry dates, releases their deduplication keys, clears recently retired kinds, refreshes rank and removes orphaned supporting records.
lifecycleservicetest
services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#frees the expired item’s dedupe key, so the condition can open again
09must prove
Confirmed
Scheduled computed attention uses reporting data to publish matching records and clear missing matches, stopping above 100,000 without clearing items and rejecting eligibility audiences until customer authoring exists.
policyservicetest
10must prove
Confirmed
Manual resolution requires its separate permission and an audited reason, returning not found for an occurrence already closed.
permissionapitest
services-platform:modules/attention/tests/e2e/attention.e2e.spec.js#resolves an open item with the reason, audited
11must prove
Confirmed
Monthly attention storage retains 13 months, dropping remaining open occurrences with their partition for providers to recreate on a subsequent sweep.
no proof recorded yet
lifecycledatabasetest
services-platform:modules/attention/tests/integration/db/attention-items.table.integration.spec.js#partitions the items by month on opened_at, registered for the maintenance with thirteen months kept
12must prove
Confirmed
Contact and organization merges redirect attention references and audiences to the survivor, including a merged contact’s personal state.
lifecycledatabasedocumented
services-platform:docs/attention.md#8. The merge participant
13
Confirmed
Attention does not automatically create tasks or messages and currently emits no business lifecycle events.
policyservicedocumented

Scenarios

IdGivenWhenThenProvenance
01Publishing is enabled and Pat holds unit posting.A batch closes within that unit.The same save publishes the waiting-posting item and posting resolves it.test
02A reconciliation condition becomes blocked.The reconciliation later clears.Its holder’s blocker item appears and then resolves.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.