{"time":"2026-09-30T08:51:50.7286533+03:00","level":"INFO","msg":"session_start","version":"v0.24.0","go":"go1.26.6","os":"windows","arch":"amd64","mode":"mxcli exec","args":["C:\\Tools\\mxcli.exe","exec","D:/Mohamed/Mendix/_mxrepro/scripts/g47d.mdl","-p","Repro.mpr"],"pid":8424,"parent_pid":""}
{"time":"2026-09-30T08:51:50.768957+03:00","level":"INFO","msg":"connect","mpr_path":"Repro.mpr","mendix_version":"11.14.0","mpr_format":2}
{"time":"2026-09-30T08:51:50.768957+03:00","level":"INFO","msg":"execute","stmt_type":"ConnectStmt","stmt_summary":"connect local 'Repro.mpr'","duration_ms":2}
{"time":"2026-09-30T08:51:52.9754407+03:00","level":"INFO","msg":"execute","stmt_type":"CreateModuleStmt","stmt_summary":"create module ModH","duration_ms":159}
{"time":"2026-09-30T08:51:53.1916676+03:00","level":"INFO","msg":"execute","stmt_type":"CreateModuleStmt","stmt_summary":"create module ModK","duration_ms":214}
{"time":"2026-09-30T08:51:53.3797636+03:00","level":"INFO","msg":"execute","stmt_type":"CreateEntityStmt","stmt_summary":"create entity ModK.Region","duration_ms":188}
{"time":"2026-09-30T08:51:53.5453176+03:00","level":"INFO","msg":"execute","stmt_type":"CreateEntityStmt","stmt_summary":"create entity ModK.Customer","duration_ms":165}
{"time":"2026-09-30T08:51:53.7254129+03:00","level":"INFO","msg":"execute","stmt_type":"CreateEntityStmt","stmt_summary":"create entity ModH.Order","duration_ms":180}
{"time":"2026-09-30T08:51:54.0141595+03:00","level":"INFO","msg":"execute","stmt_type":"CreateAssociationStmt","stmt_summary":"create association ModH.Order_Customer","duration_ms":288}
{"time":"2026-09-30T08:51:54.2256876+03:00","level":"INFO","msg":"execute","stmt_type":"CreateAssociationStmt","stmt_summary":"create association ModK.Customer_Region","duration_ms":211}
{"time":"2026-09-30T08:51:54.4623651+03:00","level":"INFO","msg":"execute","stmt_type":"CreatePageStmtV3","stmt_summary":"create page ModH.OrdersPage","duration_ms":236}
{"time":"2026-09-30T08:51:54.5501945+03:00","level":"INFO","msg":"session_end","commands_executed":9,"errors_count":0,"duration_s":3,"pid":8424}
{"time":"2026-09-30T08:52:03.9455476+03:00","level":"INFO","msg":"session_start","version":"v0.24.0","go":"go1.26.6","os":"windows","arch":"amd64","mode":"batch","args":["C:\\Tools\\mxcli.exe","-p","Repro.mpr","-c","describe page ModH.OrdersPage"],"pid":23900,"parent_pid":""}
{"time":"2026-09-30T08:52:03.9977779+03:00","level":"INFO","msg":"connect","mpr_path":"Repro.mpr","mendix_version":"11.14.0","mpr_format":2}
{"time":"2026-09-30T08:52:03.9977779+03:00","level":"INFO","msg":"execute","stmt_type":"ConnectStmt","stmt_summary":"connect local 'Repro.mpr'","duration_ms":1}
{"time":"2026-09-30T08:52:04.1915316+03:00","level":"INFO","msg":"execute","stmt_type":"DescribeStmt","stmt_summary":"describe PAGE ModH.OrdersPage","duration_ms":193}
{"time":"2026-09-30T08:52:04.1915316+03:00","level":"INFO","msg":"session_end","commands_executed":2,"errors_count":0,"duration_s":0,"pid":23900}
mxcli version: v0.24.0 (2026-09-24T05:44:35Z), Windows amd64
Mendix version: 11.14.0 (MPR v2), blank project
Summary
A Data grid 2 column whose attribute path goes through an association owned by a module other than the grid entity's module is stored as a flat string:
AttributeRef.Attribute = 'ModH.Order.Order_Customer/Customer_Region/Name'with noEntityRef.mxcli check --referencesandmxcli execboth pass;mx checkthen reports CE1613.DESCRIBE PAGEround-trips the path, so the problem is invisible untilmx check.Related but different: #830 (the association itself as a column, one hop) and #1045.
Minimal repro
Expected
The column stored the way Studio Pro stores it:
Attribute = 'ModK.Region.Name'plus anIndirectEntityRefwith oneEntityRefStepper association (ModH.Order_Customer→ModK.Customer,ModK.Customer_Region→ModK.Region), andmx check0 errors.Actual
What narrows it down (same blank project, reset between runs)
mx checkCREATE PAGE)ALTER PAGE … INSERTAttribute: Order_Customer/ModK.Customer_Region/Namemismatched input '.') — so no MDL-side workaroundSo the unqualified association name after the first hop seems to be resolved only in the grid entity's module; when that lookup fails the writer falls back to the raw text instead of raising an error. Text-template parameters over the same two-hop path (
ContentParams: [{1} = ModH.Order_Customer/ModK.Customer_Region/Name]) are written correctly (seen in our app).Suggestions
check --references/execfail instead of writing an unresolvable string.Workaround we use
A small offline pass that rewrites such refs into the
IndirectEntityRefform afterexec(Studio Pro closed), thenmx check.Session log (isolated HOME, only this repro)
mxcli-2026-09-30.log