Resume the branch's own re-entry, not a sibling parked on the same node
Fixes finding L1 from the 1.0.0-alpha9 pre-release audit. See #3608540.
When a completed submission resumes a task and the branch-scoped handle's named token is gone (a loop re-entry consumed it), OrchestraInteractionHandler::resumeTarget() fell back to parkedTokenAtNode(), which returns the lowest-id parked token on the node. With two sibling branches parked on one shared interactive step, that could resume the wrong sibling and store the submitting party's data on another branch.
The fallback is now branch-aware: when the consumed token's interaction opened a chain that has since advanced, the resume follows that lineage (currentChain() + parkedTokenInChain()) to the branch's own re-parked token. It falls back to the node only when the chain has not advanced (a non-interactive step, where sibling branches share one chain) or the lineage is unresolvable, preserving the plain single-branch loop re-entry. This is the same lineage nextBranchToken() already uses to scope the post-resume return link.
Adds a kernel test that forks two branches onto one shared interactive form step, loops one branch back so its named token is consumed, then re-submits the stale handle and asserts the party's own re-parked branch is resumed while the sibling stays parked. The test fails without the fix (the sibling is resumed) and passes with it.
Verified locally: the full OrchestraInteractionHandlerTest suite is green (15 tests), phpcs and cspell clean.