Skip to content

JNY-CRM-ACT-005Offer a workflow review to a role and close it through the task service

Markdown

JNY-CRM-ACT-005

Offer a workflow review to a role and close it through the task service

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationPartially observed

KindJourneyProduct areaCRMModuleActivities, Follow-ups and Task WorkRevision2End-to-endOptional

Read atservices-crm a8d1364freact-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Create one review task and let an eligible unqueued role holder reserve it.

Steps

#SurfaceActionCapabilityExpectedProvenance
1runTaskServiceOperationRequest an unassigned review task for the reviewer role and submission-stage subject.CAP-CRM-ACT-017The task is Open, offered to the role and attributed to the service.test
services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js#creates the task offered to the role, held by nobody
2runTaskServiceOperationDeliver the same creation request again.CAP-CRM-ACT-017The existing task is returned without another creation.test
services-crm:modules/tasks/tests/integration/services/workflow-actions/task-service-operations.integration.spec.js#answers the second delivery with the task the first created, saying it did not create it
3listOfferedTasksRequest the work offered to the reviewer’s roles.CAP-CRM-ACT-013The eligible review appears in the returned page.test
services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js#lists the task among those offered to the holder
4claimTaskClaim the review as a role holder.CAP-CRM-ACT-013The claimant becomes holder and the candidate role remains.test
services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js#lets the holder claim it through the console
5runTaskServiceOperationDeliver completion twice after recording the review.CAP-CRM-ACT-017The unchanged repeat preserves a single service-attributed completion.test
services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js#completes the task, stamped by the service, and answers the repeat with the same task

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate4A different reviewer wins the claim.The later claim returns a winner-specific conflict.The first claimant retains the task.test
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#refuses the second holder 409, code task_claimed_by_other
failure4The claimant does not hold the candidate role.The claim returns Forbidden.The task remains offered and unassigned.test
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#refuses a user who does not hold the role 403, code task_claim_not_role_holder
failure5The task was cancelled before completion delivery.CRM returns incompatible-closure refusal.CRM preserves cancellation; executor handling remains outside this scope.test
services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js#answers complete of a cancelled task 409 task_closed_otherwise

Assertions

IdStatementProvenance
01Repeated creation delivery retains one task for the workflow origin.test
services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js#answers every delivery 200 with the one task
02An unqueued role-offer claimant must hold the candidate role under Platform evaluation.test
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#gives the task to the first holder to claim it, keeping the role
03Completion attribution identifies the workflow service.test
services-crm:modules/tasks/tests/e2e/tasks-service.e2e.spec.js#completes the task, stamped by the service, and answers the repeat with the same task

End-to-end policy: optional: The examined path uses service and task APIs with existing API proof; no offered-work console view exists for a browser path yet.

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.