---
id: JNY-CRM-ACT-003
title: 'Claim, release and transfer shared queue work'
feature: FEAT-CRM-ACT-04
product_area: crm
module: activities-tasks
revision: 2
status: draft
product_intent: proposed
implementation_evidence: partially-observed
supersedes:
  - CRM-ACC-0709
  - CRM-ACC-0710
  - CRM-ACC-0713
  - CRM-ACC-0714
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-CRM-006
goal: >-
  Reserve shared work for one holder, preserve its arrival place on hand-back
  and identify its overdue audience.
capabilities:
  - CAP-CRM-ACT-016
  - CAP-CRM-ACT-012
  - CAP-CRM-ACT-014
  - CAP-CRM-ACT-015
screens:
  - '/console/{tenantId}/configuration/crm/taskQueues'
  - '/console/{tenantId}/tasks'
steps:
  - 'n': 1
    surface: '/console/{tenantId}/configuration/crm/taskQueues'
    action: Create Membership services and Events queues as an administrator.
    capability: CAP-CRM-ACT-016
    expected: Both entries appear in configuration and selection lists.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0709.spec.ts#CRM-ACC-0709
  - 'n': 2
    surface: createTask
    action: Create two unassigned tasks in Membership services at different times.
    capability: CAP-CRM-ACT-012
    expected: The records retain their queue arrival instants.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0709.spec.ts#CRM-ACC-0709
  - 'n': 3
    surface: '/console/{tenantId}/tasks'
    action: Open the queue view and claim the earlier task.
    capability: CAP-CRM-ACT-014
    expected: The claimant becomes holder without removing queue membership.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0709.spec.ts#CRM-ACC-0709
  - 'n': 4
    surface: releaseTask
    action: Release the task.
    capability: CAP-CRM-ACT-012
    expected: The holder clears while the earlier arrival position remains.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0709.spec.ts#CRM-ACC-0709
  - 'n': 5
    surface: assignTask
    action: Claim again and transfer the task to Events.
    capability: CAP-CRM-ACT-012
    expected: The new queue receives a new arrival instant.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0709.spec.ts#CRM-ACC-0709
  - 'n': 6
    surface: crm.tasks_overdue
    action: Allow unclaimed queued work to pass its due day.
    capability: CAP-CRM-ACT-015
    expected: >-
      When publishing is enabled, the item names queue responsibility and scope;
      Home delivery is beyond this test.
    provenance: test
    source: >-
      services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#addresses
      a queued task nobody holds to the task queue responsibility at its queue
alternates:
  - from_step: 3
    condition: Several workers claim the same task together.
    path: The reservation permits one winner.
    outcome: Other attempts identify the successful holder.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0710.spec.ts#CRM-ACC-0710
failures:
  - from_step: 1
    condition: An administrator deletes a queue still referenced by a task.
    path: The service rejects deletion of the used queue.
    outcome: Queue and task references remain.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0709.spec.ts#CRM-ACC-0709
  - from_step: 3
    condition: The queue is inactive when a worker claims.
    path: Current claim behavior still permits reservation.
    outcome: Deactivation has not stopped queue work.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0710.spec.ts#CRM-ACC-0710
rules_in_play:
  - BR-CAP-CRM-ACT-016-04
  - BR-CAP-CRM-ACT-012-02
  - BR-CAP-CRM-ACT-012-03
  - BR-CAP-CRM-ACT-012-08
  - BR-CAP-CRM-ACT-012-10
  - BR-CAP-CRM-ACT-015-02
  - BR-CAP-CRM-ACT-015-08
assertions:
  - id: AS-JNY-CRM-ACT-003-01
    statement: Release retains the task’s prior queue position.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0709.spec.ts#CRM-ACC-0709
  - id: AS-JNY-CRM-ACT-003-02
    statement: Concurrent claims leave exactly one holder.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0710.spec.ts#CRM-ACC-0710
  - id: AS-JNY-CRM-ACT-003-03
    statement: A queue referenced by work cannot be deleted.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0709.spec.ts#CRM-ACC-0709
e2e_policy: required
e2e_reason: >-
  Queue views and action controls need browser proof in addition to service
  concurrency and configuration assertions.
evidence:
  - >-
    Pinned browser evidence is identified by each journey step, alternate,
    failure and assertion.
  - >-
    Pinned service evidence is identified by each journey step, alternate,
    failure and assertion.
proved_by: []
---

# Claim, release and transfer shared queue work

## Story

The membership team routes shared work into its queue. A worker claims a waiting task so colleagues know it has a holder. If interrupted, the worker releases it without sending it to the back. Work belonging to Events is transferred to that queue with a new arrival position. The overdue integration can identify shared responsibility for work nobody holds, subject to its registration and publishing prerequisites.
