fix: #3610513 Comparison condition: route an approve/reject branch on a bare {result, comment} outcome variable

A comment or review task stores its outcome as a {result, comment} map when the completer leaves a note. A flow condition comparing the bare variable to a scalar (validation == approved) then compares the whole map to a string and never matches, so an approve/reject branch dead-ends: the token is consumed with no outgoing flow and the run ends without confirming or rejecting.

resolve() already handles the dotted path (validation.result works for a scalar or a map). This adds the symmetric case in the Comparison condition: when the resolved value is a {result, comment} map, route on its result element before comparing, so the bare variable and its .result path behave the same, with or without a note. OutcomeResult is unchanged; the array result stays, as designed.

Adds a ComparisonTest case covering the bare variable against a map (== and !=) and against a scalar. Existing comparison + conditional-flow tests pass.

Merge request reports

Loading