False positives and gaps from the JTSBootLogboek assessment (re-verified on main 54d55ff against mxbuild 11.13.0).
- Output names of void-action calls give false CE0111.
- A call to a void Java or JavaScript action keeps an output name in the model (Studio Pro names the JS one after the action, e.g.
$RefreshEntity). Two such calls are accepted by mxbuild.
check flags them anyway: MDL063 for microflows (mdl/executor/validate_microflow_ce_gaps.go:~240-260) and "already declared in this scope" for nanoflows (cmd_microflows_builder_validate.go:189,210,378).
- Describe also prints
$X = for void calls (cmd_microflows_format_action.go:795,1055).
- Fix: a void call declares no variable, and describe omits
$X = when the return type is Void. Keep the round trip, so the stored output name is not lost if it matters.
- False negative found alongside: a real duplicate in nanoflow if/else branches is CE0111 in mxbuild but passes
check, because the nanoflow validator treats branches as scopes. Make it flow-wide like MDL063.
- MDL-BUTTON01 fires on a control-bar button of a data grid nested in a data view, passing
$currentObject. mxbuild is clean, because the enclosing data view supplies it. The same grid at top level is CE1571, which the rule correctly flags. Track the enclosing data container (validate_page_button_context.go:40-58).
- MPR012 (legacy image → CE0582) fires on pages with a native layout. mxbuild is clean there; CE0582 applies to the React web client only. Skip native-layout pages (
mdl/linter/rules/legacy_image_widget.go:97-130).
- MPR002 ("no activities") fires on a microflow or nanoflow whose only content is
return <expr>; (mdl/linter/rules/empty.go:38). Skip flows whose end event returns a value.
- CONV006 emits one finding per entity × role × CREATE/DELETE (111 on this app). Group them into one finding per entity listing the roles and rights.
report --modules: lint has -m but report only has --exclude. Add --modules so a project can score its own modules.
- Side finding:
check --references accepts a non-existent Java action parameter name (email = …), which mxbuild rejects with CE1613.
False positives and gaps from the JTSBootLogboek assessment (re-verified on main 54d55ff against mxbuild 11.13.0).
$RefreshEntity). Two such calls are accepted by mxbuild.checkflags them anyway: MDL063 for microflows (mdl/executor/validate_microflow_ce_gaps.go:~240-260) and "already declared in this scope" for nanoflows (cmd_microflows_builder_validate.go:189,210,378).$X =for void calls (cmd_microflows_format_action.go:795,1055).$X =when the return type is Void. Keep the round trip, so the stored output name is not lost if it matters.check, because the nanoflow validator treats branches as scopes. Make it flow-wide like MDL063.$currentObject. mxbuild is clean, because the enclosing data view supplies it. The same grid at top level is CE1571, which the rule correctly flags. Track the enclosing data container (validate_page_button_context.go:40-58).mdl/linter/rules/legacy_image_widget.go:97-130).return <expr>;(mdl/linter/rules/empty.go:38). Skip flows whose end event returns a value.report --modules:linthas-mbutreportonly has--exclude. Add--modulesso a project can score its own modules.check --referencesaccepts a non-existent Java action parameter name (email = …), which mxbuild rejects with CE1613.