Issue #3606924: Per-workflow old-link behaviour: isolated vs catch-up

Implements the per-workflow old-link behaviour from this issue, on top of the interaction chains (#3606902).

A visitor link is scoped to the step it was issued for. Once that step is done the link is stale; by default (isolated) the dispatcher shows the neutral "nothing to do" message. This adds a per-workflow opt-in: with catch-up on, a stale branch-scoped link walks the chain predecessor links forward to the branch's current chain and renders it (its parked interactive step, else its aggregated messages).

  • Setting: a workflow third-party setting (orchestra_interaction: old_link_catch_up), stored only when on, with an Interaction settings tab on the workflow.
  • InteractionResolver: oldLinkCatchUp(), currentChain() (the forward walk, stopping at a fork), parkedTokenInChain().
  • Dispatcher honours it on an otherwise-stale branch link.
  • Default isolated (privacy-safe).
  • Fork caveat: a chain with more than one successor has no single current chain, so the walk stops there.

Kernel test covers both isolated and catch-up.

Merge request reports

Loading