---
id: CAP-PFM-ELG-014
title: Arrange temporary responsibility cover
feature: FEAT-PFM-ELG-04
product_area: platform
module: eligibility
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: observed
supersedes:
  - RA-ACC-0002
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#2. Scope'
  - >-
    services-platform:docs/proposals/responsibilities-and-attention/16-decisions.md#D-07
purpose: >-
  Temporary cover helps work reach a colleague during absence. The original
  holding remains the basis for the arrangement.
outcomes:
  - One handover covers a person’s responsibilities for their absence.
  - >-
    Delegates receive the covered work and a banner identifying the person they
    cover.
concepts:
  - CON-PFM-ELG-004
actors:
  - ACT-PFM-013
  - ACT-PFM-007
surfaces:
  - console
  - api
preconditions: []
postconditions: []
permissions:
  - key: platform.responsibilities.delegate-own
    where_checked: api
    scope: tenant
  - key: platform.responsibilities.manage
    where_checked: service
    scope: tenant
  - key: platform.responsibilities.read
    where_checked: api
    scope: tenant
rules:
  - id: BR-CAP-PFM-ELG-014-01
    proved_by: [ATS-PFM-ELG-014-01, TST-PFM-ELG-492]
    statement: >-
      Delegating an owned assignment requires delegate-own authority, while
      acting for someone else requires management authority and read authority
      alone cannot delegate.
    kind: permission
    enforced_at:
      - api
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/responsibilities/tests/e2e/responsibilities.e2e.spec.js#refuses
      delegate-own on somebody else’s assignment, 403
    origin: none
  - id: BR-CAP-PFM-ELG-014-02
    proved_by: [ATS-PFM-ELG-014-02, TST-PFM-ELG-510]
    statement: >-
      Cover windows apply to active direct assignments, end after their start,
      last from one hour to 90 days and neither outlive the assignment nor
      finish in the past.
    kind: validation
    enforced_at:
      - api
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/responsibilities/tests/unit/rules.spec.js#refuses
      a window longer than 90 days
    origin: none
  - id: BR-CAP-PFM-ELG-014-03
    proved_by: [ATS-PFM-ELG-014-03, TST-PFM-ELG-498]
    statement: >-
      Cover must name another active console user of the same customer,
      rejecting self-cover, outside-customer users, ended holdings and role
      defaults.
    kind: validation
    enforced_at:
      - service
      - database
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/responsibilities/tests/integration/services/persistence/delegations.integration.spec.js#refuses
      a role default, pointing to a direct assignment of the same scope
    origin: none
  - id: BR-CAP-PFM-ELG-014-04
    proved_by: [ATS-PFM-ELG-014-04, TST-PFM-ELG-492, TST-PFM-ELG-494, TST-PFM-ELG-498]
    statement: >-
      Delegate everything creates one cover arrangement for every active direct
      assignment of the caller in one operation.
    kind: lifecycle
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/responsibilities/tests/integration/services/persistence/delegations.integration.spec.js#delegates
      every active assignment of the caller in one call, one row each
    origin: none
  - id: BR-CAP-PFM-ELG-014-05
    proved_by: [ATS-PFM-ELG-014-05, TST-PFM-ELG-492, TST-PFM-ELG-498]
    statement: >-
      Only the original holder, the covering colleague or a responsibilities
      manager can end cover early.
    kind: permission
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/responsibilities/tests/integration/services/persistence/delegations.integration.spec.js#refuses
      a third person ending a delegation, and leaves it active
    origin: none
  - id: BR-CAP-PFM-ELG-014-06
    proved_by: [ATS-PFM-ELG-013-13, ATS-PFM-ELG-014-06, ATS-PFM-ELG-014-09, ATS-PFM-ELG-014-11, ATS-PFM-ELG-017-16, TST-PFM-ELG-377, TST-PFM-ELG-393]
    statement: >-
      Active cover adds the delegate as a covering holder, presents the
      delegator’s items and a named expiry banner, with those additions removed
      when cover ends.
    kind: calculation
    enforced_at:
      - service
      - console
    must_prove: true
    provenance: test
    source: >-
      react-console:acceptance/platform-attention/playwright/journeys/responsibilities/RA-ACC-0002.spec.ts#RA-ACC-0002
    origin: 'services-platform:docs/milestones/plans/PLAT-M15-plan.md#PLAT-M15-S05'
  - id: BR-CAP-PFM-ELG-014-07
    proved_by: [ATS-PFM-ELG-014-07, TST-PFM-ELG-491, TST-PFM-ELG-494]
    statement: >-
      Each handover sends the delegate one notice naming the holder, assignment
      count and end, and confirms the arrangement to the original holder.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/responsibilities/tests/integration/services/notices/responsibility-notices.integration.spec.js#tells
      the delegate once and confirms to the person who delegated, even though
      they are the one acting
    origin: none
  - id: BR-CAP-PFM-ELG-014-08
    proved_by: [ATS-PFM-ELG-014-08, ATS-PFM-ELG-014-10, ATS-PFM-ELG-015-08, TST-PFM-ELG-502]
    statement: >-
      Nightly reconciliation reports cover assigned to a user who became
      inactive without ending the delegation.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/responsibilities/tests/integration/services/reconcile/reconcile-tenant.integration.spec.js#(d)
      reports a delegation to a user who is no longer active, and leaves it
      active
    origin: none
scenarios:
  - id: SC-CAP-PFM-ELG-014-01
    given: Pat has posting responsibility before leave.
    when: Pat arranges all eligible direct cover with Sam through Friday.
    then: Sam’s Home includes named cover and Pat’s items until the cover is ended.
    provenance: test
    source: >-
      react-console:acceptance/platform-attention/playwright/journeys/responsibilities/RA-ACC-0002.spec.ts#RA-ACC-0002
edge_cases: []
constraints: []
depends_on:
  - CAP-PFM-ELG-013
related:
  - CAP-PFM-ELG-017
journeys:
  - JNY-PFM-ELG-005
open_questions: []
evidence:
  - >-
    services-platform: docs/responsibilities.md;
    docs/milestones/PLAT-M15-home-attention-and-responsibilities.md and
    plans/PLAT-M15-plan.md;
    docs/proposals/responsibilities-and-attention/16-decisions.md;
    aws/platform.service.ts (RESPONSIBILITIES_PERMISSIONS);
    modules/responsibilities/aws/api/responsibilities.routes.ts (delegations),
    rules.ts (delegation windows), services/persistence/delegations.ts,
    services/notices/responsibility-notices.ts,
    db/responsibility-delegations.table.ts; rule-level source and test
    references
  - >-
    react-console: components/responsibilities/my-responsibilities.tsx,
    covering-banner.tsx, responsibility-dialogs.tsx,
    app/(console)/console/[tenantId]/page.tsx (the banner on Home);
    acceptance/platform-attention/journeys/responsibilities/RA-ACC-0002 and the
    matching browser specification.
controls: [TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-CRY-004, TC-MON-001, TC-PI-001, TC-PI-005, 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-04-04, FAS-PFM-ELG-04-05]
suites: [TST-PFM-ELG-377, TST-PFM-ELG-393, TST-PFM-ELG-491, TST-PFM-ELG-492, TST-PFM-ELG-494, TST-PFM-ELG-498, TST-PFM-ELG-502, TST-PFM-ELG-510]
---
# Arrange temporary responsibility cover

## Purpose

Temporary cover helps work reach a colleague during absence. The original holding remains the basis for the arrangement.

## How It Works

The holder opens My Responsibilities and selects a colleague and end time. They can cover one eligible holding or delegate all eligible direct assignments. A manager can arrange cover for someone else. Validation checks the people and duration before saving it. The covering colleague receives a notice. Their Home identifies the person covered and displays the relevant attention. The original holder receives confirmation. Either participant or a manager can finish the arrangement early. Reconciliation reports a covering colleague who becomes inactive without automatically cancelling the arrangement.

## Relationships

- Assign accountability for an area of work provides the direct holdings available for temporary cover.
