Issue #3610442: Fix outcome result_scope bug, add missing interaction config schema, harden interaction and client security
Fixes [#3610442]. See the issue for full detail.
Audit fixes in one MR:
- Bug —
WorkflowExecutor::recordResult()/recordOutcome()destructured theVariableScopeenum into a$scopedvar used as a boolean (always truthy), soresult_scope: instancewas written token-scoped. Now compares$scope === VariableScope::Token, matchingresumeParked(). - Config schema — added
orchestra.interaction.commentandorchestra.interaction.entity_form(the node schema has no wildcard fallback, so these plugins failed strict validation). - Security (low) —
Referrer-Policy: no-referreron the interaction dispatcher responses so the URL capability token can't leak via Referer. - Security (low) —
orchestra_clientbase URL now requireshttps://(loopback excepted).
Adds Kernel regression tests asserting the outcome result is stored at the configured scope. phpcs + php -l clean.