---
id: FAS-CRM-ACT-05
feature: FEAT-CRM-ACT-05
product_area: crm
module: activities-tasks
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  rhythm-v2-docs: 18a49edf30ee6bda18b159b65a2b91e093ea713d
capabilities:
- CAP-CRM-ACT-017
- CAP-CRM-ACT-018
- CAP-CRM-ACT-019
scenarios:
- id: FAS-CRM-ACT-05-01
  title: Delegate one task through a trusted service entry
  kind: behaviour
  exercises:
  - CAP-CRM-ACT-017
  - CAP-CRM-ACT-013
  - CAP-CRM-ACT-019
  relies_on:
  - ATS-CRM-ACT-017-01
  - ATS-CRM-ACT-017-02
  - ATS-CRM-ACT-013-01
  preconditions: A registered service can create work for a role held by a local user.
  steps:
  - do: Create role-offered work twice through the service entry.
    exercises:
    - CAP-CRM-ACT-017
    - CAP-CRM-ACT-013
    - CAP-CRM-ACT-019
    provenance: test
    source: services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js
  - do: Read it through the authorized public task route and claim it as the holder.
    exercises:
    - CAP-CRM-ACT-017
    - CAP-CRM-ACT-013
    - CAP-CRM-ACT-019
    provenance: test
    source: services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js
  expected: The same service-attributed task is returned on replay and the authorized holder claims it.
  negative: false
  data_needs: Run-owned records, classifications and users; isolated workspace for lifecycle or calendar
    changes.
  bound_to:
  - TST-CRM-ACT-014
  provenance: test
  source: services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js
- id: FAS-CRM-ACT-05-02
  title: Carry delegated work through consolidation and access boundaries
  kind: interaction
  exercises:
  - CAP-CRM-ACT-017
  - CAP-CRM-ACT-018
  - CAP-CRM-ACT-019
  - CAP-CRM-ACT-013
  relies_on:
  - ATS-CRM-ACT-017-02
  - ATS-CRM-ACT-018-03
  - ATS-CRM-ACT-019-01
  preconditions: A workflow task concerns a duplicate contact and is offered to a role.
  steps:
  - do: Merge the duplicate, repeat creation and request the task from both workspaces.
    exercises:
    - CAP-CRM-ACT-017
    - CAP-CRM-ACT-018
    - CAP-CRM-ACT-019
    - CAP-CRM-ACT-013
    provenance: proposed
    source: services-crm:modules/tasks/services/persistence/tasks.ts; services-crm:modules/activities/services/persistence/activities.ts
  - do: Claim as an eligible user and inspect retained workflow attribution.
    exercises:
    - CAP-CRM-ACT-017
    - CAP-CRM-ACT-018
    - CAP-CRM-ACT-019
    - CAP-CRM-ACT-013
    provenance: proposed
    source: services-crm:modules/tasks/services/persistence/tasks.ts; services-crm:modules/activities/services/persistence/activities.ts
  expected: The single task references the survivor; foreign reads reveal no record and local role eligibility
    controls the claim.
  negative: false
  data_needs: Run-owned records, classifications and users; isolated workspace for lifecycle or calendar
    changes.
  bound_to: []
  provenance: proposed
  source: services-crm:modules/tasks/services/persistence/tasks.ts; services-crm:modules/activities/services/persistence/activities.ts
- id: FAS-CRM-ACT-05-03
  title: Keep shared interaction and work context after record deletion
  kind: lifecycle
  exercises:
  - CAP-CRM-ACT-018
  - CAP-CRM-ACT-005
  - CAP-CRM-ACT-010
  relies_on:
  - ATS-CRM-ACT-018-01
  - ATS-CRM-ACT-010-08
  preconditions: One interaction links two contacts; a task concerns the contact selected for deletion.
  steps:
  - do: Delete that contact.
    exercises:
    - CAP-CRM-ACT-018
    - CAP-CRM-ACT-005
    - CAP-CRM-ACT-010
    provenance: test
    source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0719.spec.ts
  - do: Read the surviving timeline, activity links and task.
    exercises:
    - CAP-CRM-ACT-018
    - CAP-CRM-ACT-005
    - CAP-CRM-ACT-010
    provenance: test
    source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0719.spec.ts
  expected: The interaction remains once in the surviving context and the task remains with its deleted-record
    reference cleared.
  negative: false
  data_needs: Run-owned records, classifications and users; isolated workspace for lifecycle or calendar
    changes.
  bound_to:
  - TST-CRM-ACT-063
  provenance: test
  source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0719.spec.ts
- id: FAS-CRM-ACT-05-04
  title: Keep foreign-workspace data absent across both record kinds
  kind: permission
  exercises:
  - CAP-CRM-ACT-019
  - CAP-CRM-ACT-017
  - CAP-CRM-ACT-018
  relies_on:
  - ATS-CRM-ACT-019-01
  - ATS-CRM-ACT-019-02
  preconditions: Two isolated workspaces own separate interactions and tasks.
  steps:
  - do: Request reads and attempted changes to the other workspace records.
    exercises:
    - CAP-CRM-ACT-019
    - CAP-CRM-ACT-017
    - CAP-CRM-ACT-018
    provenance: test
    source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0718.spec.ts
  - do: Use a signed context on the wrong workspace address.
    exercises:
    - CAP-CRM-ACT-019
    - CAP-CRM-ACT-017
    - CAP-CRM-ACT-018
    provenance: test
    source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0718.spec.ts
  expected: Cross-workspace records remain absent, mismatched contexts are forbidden and original records
    remain intact.
  negative: true
  data_needs: Run-owned records, classifications and users; isolated workspace for lifecycle or calendar
    changes.
  bound_to:
  - TST-CRM-ACT-062
  provenance: test
  source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0718.spec.ts
- id: FAS-CRM-ACT-05-05
  title: Consolidate shared links without duplicating related work
  kind: regression
  exercises:
  - CAP-CRM-ACT-018
  - CAP-CRM-ACT-005
  - CAP-CRM-ACT-010
  relies_on:
  - ATS-CRM-ACT-018-03
  - ATS-CRM-ACT-005-04
  preconditions: Duplicate records share an interaction and one owns another activity and a task.
  steps:
  - do: Merge them through plan and execute.
    exercises:
    - CAP-CRM-ACT-018
    - CAP-CRM-ACT-005
    - CAP-CRM-ACT-010
    provenance: test
    source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0720.spec.ts
  - do: Read survivor links, timeline, summary and moved task.
    exercises:
    - CAP-CRM-ACT-018
    - CAP-CRM-ACT-005
    - CAP-CRM-ACT-010
    provenance: test
    source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0720.spec.ts
  expected: Duplicate links collapse with primary preserved; the timeline counts each activity once and
    work follows the survivor.
  negative: false
  data_needs: Run-owned records, classifications and users; isolated workspace for lifecycle or calendar
    changes.
  bound_to:
  - TST-CRM-ACT-064
  provenance: test
  source: react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0720.spec.ts
- id: FAS-CRM-ACT-05-06
  title: Distinguish trusted command replay from public closing
  kind: interaction
  exercises:
  - CAP-CRM-ACT-017
  - CAP-CRM-ACT-019
  - CAP-CRM-ACT-011
  relies_on:
  - ATS-CRM-ACT-017-03
  - ATS-CRM-ACT-011-05
  preconditions: A registered service has completed a task.
  steps:
  - do: Repeat service completion and inspect version.
    exercises:
    - CAP-CRM-ACT-017
    - CAP-CRM-ACT-019
    - CAP-CRM-ACT-011
    provenance: test
    source: services-crm:modules/tasks/tests/integration/services/persistence/tasks.workflow-actions.integration.spec.js
  - do: Attempt a current-version public completion as a person.
    exercises:
    - CAP-CRM-ACT-017
    - CAP-CRM-ACT-019
    - CAP-CRM-ACT-011
    provenance: test
    source: services-crm:modules/tasks/tests/integration/services/persistence/tasks.workflow-actions.integration.spec.js
  expected: The service repeat returns unchanged while the person repeat conflicts.
  negative: false
  data_needs: Run-owned records, classifications and users; isolated workspace for lifecycle or calendar
    changes.
  bound_to:
  - TST-CRM-ACT-028
  provenance: test
  source: services-crm:modules/tasks/tests/integration/services/persistence/tasks.workflow-actions.integration.spec.js
evidence:
- Pinned capability test specifications, related workflows and the scenario-specific code or suite sources.
coverage_findings:
- FND-CRM-ACT-063
- FND-CRM-ACT-064
- FND-CRM-ACT-065
---

# Workflow Delegation and Record Safeguards: Feature Acceptance Suite

## What the Feature Must Do as a Whole

The feature acceptance checks connect trusted delegation, related-record changes and workspace access. They examine the same retained work across retries, consolidation and authorized claims.

## Interactions Between Capabilities

A delegated task can outlive its original related record and still remain subject to role and workspace checks. Merge acceptance checks retained links and task context separately from the precise absorbed-record response.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish cumulative acceptance across the feature and its related capabilities. |
