-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Summary
DESCRIBE MICROFLOW outputs enum value references with a leading $ (e.g. $Module.Enum.Value), but Mendix expressions require enum literals without $. Re-executing the DESCRIBE output with mxcli exec produces an invalid microflow that fails mx check with CE0109.
Steps to Reproduce
Using a microflow that returns an enumeration value (e.g. ConversationalUI.TokenMonitorSettings_GetGranularity from the GenAI Commons marketplace module):
# 1. Capture DESCRIBE output
mxcli -p app.mpr -c "DESCRIBE MICROFLOW ConversationalUI.TokenMonitorSettings_GetGranularity;" > a.mdl
# 2. Drop the original
mxcli -p app.mpr -c "DROP MICROFLOW ConversationalUI.TokenMonitorSettings_GetGranularity;"
# 3. Re-create from DESCRIBE output
mxcli exec a.mdl -p app.mpr
# 4. Validate
mx check app.mprDESCRIBE Output (a.mdl) — incorrect
CREATE MICROFLOW ConversationalUI.TokenMonitorSettings_GetGranularity (
$TokenMonitorSettings: ConversationalUI.TokenMonitorSettings
)
RETURNS ENUM ConversationalUI.ENUM_Granularity
BEGIN
IF $TokenMonitorSettings/DateFrom != empty THEN
...
RETURN $ConversationalUI.ENUM_Granularity._30Mins;
...The $ prefix on $ConversationalUI.ENUM_Granularity._30Mins is wrong. Mendix expressions use Module.Enum.Value (no $) for enum literals.
Expected Behavior
DESCRIBE should output enum literal references without $:
RETURN ConversationalUI.ENUM_Granularity._30Mins;Actual Behavior
mx check reports 9 × CE0109 after roundtrip:
[error] [CE0109] "Undefined variable 'ConversationalUI'." at End event
[error] [CE0109] "Undefined variable 'empty'." at End event
The app contains: 9 errors.
The original MPR passes mx check with 0 errors before the roundtrip.
Environment
- Mendix version: 11.6.4
- Affected module:
ConversationalUI(Marketplace v3.0.0) — any microflow withRETURNS ENUMand enum literal return values
Impact
This breaks the DESCRIBE → exec roundtrip for any microflow that returns an enumeration value directly. It makes DESCRIBE output non-idempotent.