---
id: ATS-CRM-ACT-014
scope: CAP-CRM-ACT-014
product_area: crm
module: activities-tasks
revision: 3
status: proposed
approved_by: null
approved_at: null
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  rhythm-v2-docs: 18a49edf30ee6bda18b159b65a2b91e093ea713d
scenarios:
- id: ATS-CRM-ACT-014-01
  title: Align general task views with the registered dataset
  level: unit
  proves:
  - BR-CAP-CRM-ACT-014-01
  preconditions: The shipped recipe and console definition are available.
  steps: Compare their fields, criteria and ordering.
  expected: The definition uses supported dataset fields and aligns with its recipe.
  negative: false
  data_needs: Each run creates and isolates the records it needs.
  bound_to:
  - react-console:components/console/tasks/__tests__/tasks-definition.test.tsx#agrees with the recipe
    it is anchored to
  - react-console:components/console/tasks/__tests__/tasks-definition.test.tsx#names only fields this
    dataset answers, with operators those fields accept
  - react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0714.spec.ts#CRM-ACC-0714
  - services-crm:modules/tasks/tests/unit/metadata/tasks-object.spec.js#describes the assignee as a reference
    to Users
  - TST-CRM-ACT-073
  - TST-CRM-ACT-058
  - TST-CRM-ACT-031
  provenance: test
  source: react-console:components/console/tasks/__tests__/tasks-definition.test.tsx#agrees with the recipe
    it is anchored to
  category: rule
  binding_scope: Each registered suite contributes the assertions named by the retained file bindings;
    a compound scenario can require several suites. Conformance remains unverified.
- id: ATS-CRM-ACT-014-02
  title: Gate task creation and preserve queue context
  level: unit
  proves:
  - BR-CAP-CRM-ACT-014-05
  preconditions: Read-only and creation-capable users can render the header.
  steps: Open the task header and initiate creation from a queue view.
  expected: Only creation-capable users receive the action and queue context is preselected.
  negative: true
  data_needs: Each run creates and isolates the records it needs.
  bound_to:
  - react-console:components/tasks/__tests__/tasks-page.test.tsx#offers Create Task only to someone who
    may create a task
  - react-console:components/tasks/__tests__/tasks-page.test.tsx#pre-selects the queue the view stands
    for
  - TST-CRM-ACT-078
  provenance: test
  source: react-console:components/tasks/__tests__/tasks-page.test.tsx#offers Create Task only to someone
    who may create a task
  category: permission
  binding_scope: Each registered suite contributes the assertions named by the retained file bindings;
    a compound scenario can require several suites. Conformance remains unverified.
- id: ATS-CRM-ACT-014-03
  title: Keep closed and unauthorized drawers read-only
  level: unit
  proves:
  - BR-CAP-CRM-ACT-014-06
  preconditions: Readers and editors open both open and closed tasks.
  steps: Inspect fields and menu actions for each combination.
  expected: Editing and actions follow the corresponding status and permission limits.
  negative: true
  data_needs: Each run creates and isolates the records it needs.
  bound_to:
  - react-console:components/tasks/__tests__/task-detail-sheet.test.tsx#offers only what each permission
    allows
  - react-console:components/tasks/__tests__/task-detail-sheet.test.tsx#disables every field, the complete
    toggle and Assign to Me
  - react-console:components/tasks/__tests__/task-detail-sheet.test.tsx#offers no task menu at all
  - react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0716.spec.ts#CRM-ACC-0716
  - TST-CRM-ACT-075
  - TST-CRM-ACT-060
  provenance: test
  source: react-console:components/tasks/__tests__/task-detail-sheet.test.tsx#offers only what each permission
    allows
  category: permission
  binding_scope: Each registered suite contributes the assertions named by the retained file bindings;
    a compound scenario can require several suites. Conformance remains unverified.
- id: ATS-CRM-ACT-014-04
  title: Inspect the role-offer console discovery boundary
  level: browser
  proves:
  - BR-CAP-CRM-ACT-014-09
  preconditions: An unqueued open task is offered to a role the current user holds.
  steps: Read offered work through its API and inspect the available Tasks views.
  expected: The eligible offer appears through the separate API; no offered-to-me view exists on the Tasks
    screen.
  negative: false
  data_needs: Each run creates and isolates the records it needs.
  bound_to: []
  provenance: proposed
  source: services-crm:modules/tasks/services/persistence/tasks.ts:listOfferedTasks; react-console:components/console/tasks/definition.tsx
  category: interaction
  note: The earlier proposed view expectation is corrected to the cited rule; any future view needs a
    separately approved capability change.
- id: ATS-CRM-ACT-014-05
  title: Discovery keeps overdue lists separate from role offers
  category: interaction
  level: api
  proves:
  - BR-CAP-CRM-ACT-014-01
  - BR-CAP-CRM-ACT-014-09
  - BR-CAP-CRM-ACT-013-07
  - BR-CAP-CRM-ACT-015-01
  preconditions: A user has personal overdue work and an unqueued role offer.
  steps: Read the personal and overdue query views and the offered-list API for that user; inspect available
    console views.
  expected: Personal work satisfies its view criteria, the offer is available through the separate API,
    and the console has no offered-work view.
  negative: false
  data_needs: Run-owned records in an isolated workspace; fixed clock for calendar checks.
  bound_to: []
  provenance: proposed
  source: services-crm:modules/tasks/aws/api/tasks.routes.ts:tasksRoutes; FND-CRM-ACT-010; services-crm:modules/tasks/tests/integration/services/persistence/tasks.queries.integration.spec.js#answers
    the three tasks offered to the user’s roles, oldest first, then by id; services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#publishes
    nothing for a task due today, which is not overdue until the day ends
  exercises:
  - CAP-CRM-ACT-014
  - CAP-CRM-ACT-013
  - CAP-CRM-ACT-015
  related:
  - CAP-CRM-ACT-013
  - CAP-CRM-ACT-015
evidence:
- 'services-crm at a8d1364f1dd44b723bb5f9acba12f983e9ec8d69: scenario sources, executable assertions and
  local dependency boundaries are inspected.'
- 'react-console at baf6dae382d6f41dce976c7f848667ccc37e076f: scoped component tests and browser journey
  assertions are inspected.'
coverage:
  rule: covered
  transition: 'gap: FND-CRM-ACT-060'
  validation: 'gap: FND-CRM-ACT-060'
  permission: covered
  edge: 'gap: FND-CRM-ACT-060'
  failure: 'gap: FND-CRM-ACT-060'
  boundary: 'gap: FND-CRM-ACT-060'
  concurrency: 'gap: FND-CRM-ACT-060'
  invariant: 'gap: FND-CRM-ACT-060'
  interaction: covered
coverage_obligations:
  finding: FND-CRM-ACT-060
  unproved_rules:
  - BR-CAP-CRM-ACT-014-04
  permission_matrix:
    keys:
    - crm.tasks.read
    - crm.tasks.query
    - crm.tasks.create
    - crm.tasks.update
    remaining: Complete allow/refuse combinations, including each console guard and each API operation.
  execution_note: Covered means a scenario is specified; it does not mean that scenario has executed or
    every variant has an executable binding.
related_coverage:
- capability: CAP-CRM-ACT-013
  scenarios:
  - ATS-CRM-ACT-014-05
  finding: FND-CRM-ACT-060
- capability: CAP-CRM-ACT-015
  scenarios:
  - ATS-CRM-ACT-014-05
  finding: FND-CRM-ACT-060
permission_coverage:
- key: crm.tasks.read
  finding: FND-CRM-ACT-060
  note: The finding covers unproved operation and surface combinations; a permission-category scenario
    is not a complete permission matrix.
- key: crm.tasks.query
  finding: FND-CRM-ACT-060
  note: The finding covers unproved operation and surface combinations; a permission-category scenario
    is not a complete permission matrix.
- key: crm.tasks.create
  finding: FND-CRM-ACT-060
  note: The finding covers unproved operation and surface combinations; a permission-category scenario
    is not a complete permission matrix.
- key: crm.tasks.update
  finding: FND-CRM-ACT-060
  note: The finding covers unproved operation and surface combinations; a permission-category scenario
    is not a complete permission matrix.
---

# Work from personal and shared task views: Capability Test Specification

## Coverage

Category coverage counts specified proof. Unbound cases remain proposed; registered assertions do not establish a passing run.

| Rule | Proof Scenario Or Finding |
|---|---|
| `BR-CAP-CRM-ACT-014-01` | `ATS-CRM-ACT-014-01`, `ATS-CRM-ACT-014-05` |
| `BR-CAP-CRM-ACT-014-04` | `FND-CRM-ACT-060` |
| `BR-CAP-CRM-ACT-014-05` | `ATS-CRM-ACT-014-02` |
| `BR-CAP-CRM-ACT-014-06` | `ATS-CRM-ACT-014-03` |
| `BR-CAP-CRM-ACT-014-09` | `ATS-CRM-ACT-014-04`, `ATS-CRM-ACT-014-05` |

## Interactions With Related Capabilities

A user has personal overdue work and an unqueued role offer. Read the personal and overdue query views and the offered-list API for that user; inspect available console views.

The interaction scenario names the capabilities and rules it exercises. The coverage finding retains incomplete permission combinations and failure variants.
