Unify human-node action handling on interactions and retire handler_url

Unifies how a human node hands off its action, on interactions, and retires the handler_url mechanism.

Human-node action

  • Lifts guardedOutcomes() to a shared HumanNodeInterface seam, so any human node (task or operation) can withhold an outcome from one-click completion.
  • Adds a CommentTask (inbox) and a Comment interaction (reusable on any interaction node): a comment field plus one button per outcome. A review is only this with approved/rejected outcomes.
  • Replaces the entity_form task type with an EntityInteraction (orchestra_content): edit the attached entity as the work of an interaction task.
  • The pending-actions surface (My actions, the process-instances column, consumers) lists inbox tasks alongside pull operations through tagged per-family handlers; each entry offers inline one-click outcomes plus an act link, labeled with the node act_label (defaulting to the node label), only when there is a page to open.
  • Deletes the InteractionTaskForm and InteractionOperationForm host forms; a thin identity dispatcher runs the interaction under the assignee identity, and an interaction owns its own completion.

Retire handler_url

  • Removes HandlerUrlInterface, both ReviewHandlerForms, the review-handler / process / complete-remote routes, the WorkItemManager handoff and signed remote-callback path, and the UserTask handler_url / action_title config (action_title becomes the general, translatable act_label).
  • External systems integrate through the interaction bearer gateway (continuation handles) instead of a signed POST callback.
  • Migrates the example workflows, updates the docs, and adds the French translations.

Kernel suite green (338 tests); phpcs and cspell clean.

Merge request reports

Loading