feat: orchestrate accountable Campaign work
Module Package Release / publish-packages (push) Successful in 13s
Module Package Release / publish-packages (push) Successful in 13s
This commit is contained in:
@@ -138,6 +138,35 @@ Notifications. The thread displays only human discussion; approvals, workflow
|
||||
state, delivery events, and durable system evidence remain on their owning
|
||||
surfaces and in Tenant audit.
|
||||
|
||||
### Assign accountable campaign work
|
||||
|
||||
Open **Work** to assign one bounded purpose to an account, group, or
|
||||
organization function that already has Campaign access. Assignment records
|
||||
responsibility only: it never creates a share, transfers ownership, or grants a
|
||||
permission. Assignees may accept, complete, or reject their work; rejection is
|
||||
distinct from administrative cancellation. Managers may reassign or cancel
|
||||
open work, and every transition retains the expected revision, actor snapshot,
|
||||
typed target, and append-only event history.
|
||||
|
||||
Workflow may create or reference a Campaign and open the same assignment through
|
||||
the optional `campaigns.workOrchestration` capability. Those assignments pin the
|
||||
Campaign version and store the Workflow instance, step, correlation, and
|
||||
idempotency provenance. Campaign emits `campaign.work.changed` for assignment,
|
||||
acceptance, start, reassignment, completion, rejection, and cancellation.
|
||||
Workflow uses the assignment ID and event revision, rechecks current Campaign
|
||||
access, and then resumes the matching durable external hand-off without browser
|
||||
polling. A missing Tasks or Notifications capability only removes the optional
|
||||
projection or notification. A missing Campaign provider, revoked Campaign
|
||||
access, or stale event revision keeps the Workflow blocked and inspectable.
|
||||
|
||||
Campaign also contributes the opt-in **Accountable Campaign work hand-off**
|
||||
Workflow template. It is deliberately not activated on installation. A
|
||||
configurator must copy or activate it and supply either `campaign_id` or
|
||||
`create_campaign`; unused optional input keys must be present with `null`
|
||||
values. The template prepares the assignment idempotently, opens the exact
|
||||
Campaign work URL, and waits for completion, rejection, cancellation, or the
|
||||
configured timeout. Opening the link never completes the Workflow.
|
||||
|
||||
### Prepare a campaign
|
||||
|
||||
1. Create a campaign and confirm its owner or owning group.
|
||||
|
||||
Reference in New Issue
Block a user