Issue #3608462: Relocate ContextMessages to the base module, render in-place context inline, and show variable scope in the instance view

Closes #3608462 on drupal.org: https://www.drupal.org/project/orchestra/issues/3608462

Follow-up cleanup of the context_display feature, driven by a layering smell: context-message handling had crept across submodules.

  • ContextMessages moves from orchestra_interaction_webform to the base orchestra_interaction module. Its only dependencies are the engine, messenger and token service, so any submodule can reuse it; its docblocks no longer name a specific consumer.
  • A step rendered in place renders its context inline through a new build() (a status_messages render array), part of the interaction output: it appears with the step and is gone when the run advances, so there is nothing to retract and no other module is involved. This removes the cross-submodule reference the task form had grown (it no longer touches context messages).
  • display()/retract() (the messenger path) remain only for a step that redirects the actor to a separate surface; the consumer that posts there (the webform handler) is the one that retracts, on completion.
  • The instance-view Variables table gains a Scope column: "Instance", or the node and token id ("n_validate (#1836)"), so two rows of the same name written on the same node in different loop rounds are told apart.
  • Examples: the validate step shows the previous validation comment on a re-review (hidden on the first pass); the gratuitous "Reviewed by {name}" line on the process step is dropped (the label-token feature it demonstrated stays in code and tests).

Tests: ContextMessagesTest moves to the base module and covers build() alongside the messenger display()/retract(); the request-validation Functional test covers the re-review comment and the inline render. Verified: 17 kernel files and both Functional suites in Docker, phpcs, cspell, plus manual validation on a live site.

Merge request reports

Loading