You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
execute round trip negates a decision and swaps its outcomes #1742
mxcli: v0.29.0 (2026-10-30) · Mendix: 11.12.4 (also seen on 10.24.11)
Summary
When a decision's true branch has no activities and its false branch does, DESCRIBE MICROFLOW renders it as if not(<condition>) then <false branch> end if;.
Executing that description stores the decision literally as not(<condition>) with the
true/false outcomes swapped. Behaviour is unchanged, but the model is changed: a different
expression and swapped outcome labels in Studio Pro. So describe → execute is not a
round trip for this shape.
if not($Value != empty) then
set $Valid = false;
end if;
Execute that description unchanged under a new name
(SourceExamplesModule.Repro_DecisionNegation_RoundTrip).
Result (mxcli bson dump)
Flow
Decision expression
true →
false →
Repro_DecisionNegation
$Value != empty
EndEvent
ChangeVariable ($Valid = false)
Repro_DecisionNegation_RoundTrip
not($Value != empty)
ChangeVariable ($Valid = false)
EndEvent
Expected
The round-tripped flow stores the decision as $Value != empty with the original
outcomes. For example, DESCRIBE could emit if <condition> then else <branch> end if;
(the form step 1 accepts), or execution could normalise not(...) with a then-only branch
back to the original orientation.
Impact
Conversion scripts generated from DESCRIBE output rewrite every such decision. In one app
this turned all five validation decisions of a single microflow into not(...) with
swapped outcomes. It also occurs in the Marketplace module FeedbackModule.VAL_Feedback
(3 decisions described as if not(...)).
Activity