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
UPDATE SECURITY; reconciles every on-disk module (fixes the CE0066/CE2729
class), but leaves the unresolvable member access untouched — verified three
times, on constrained and unconstrained rules alike.
mx.exe has no security verb, and the Studio Pro MCP toolset has neither a
reconcile tool nor a save, so nothing scriptable can finish the job.
The only remover is Studio Pro's interactive "Update security" click — and
even that strips the dead member only from rules WITHOUT an XPath
constraint; a constrained rule keeps its CE1613 across reconciles.
Net effect: one dead member reference makes an otherwise fully scripted,
headless pipeline dependent on a human click, and the workaround costs a
security constraint (we had to drop the XPath from a write rule so the click
would clean it).
Ask
UPDATE SECURITY --repair (or make it the default): while reconciling, DROP
any member access whose attribute or association no longer resolves, and log
one line per dropped member (rule <entity>/<roles>: dropped unresolvable member System.Thumbnail_Image). Combined with skipping the virtual System
module (#981), GRANT + UPDATE SECURITY becomes self-sufficient: whatever a
writer bug injects, the next reconcile heals, headlessly.
Acceptance sketch
A rule carrying a dead member + UPDATE SECURITY --repair → member gone,
remaining members untouched, mx check clean, exit code 0.
Works identically for rules with and without XPath constraints.
Without --repair (if not default): current behaviour, but WARN per
unresolvable member instead of silence.
Feature request: UPDATE SECURITY --repair — drop unresolvable member accesses, so a broken rule never needs Studio Pro
The gap, measured end to end (27 Aug 2026, unattended build round)
An agent-driven round hit this exact wall:
GRANT ... ON <System.Image specialization>injects a member access forSystem.Thumbnail_Image, which does not exist on Mendix 11 (GRANT on a System.Image specialization writes a member access for the non-existent System.Thumbnail_Image (CE1613) #972). mxclicheck/exec/describe all stay silent;
mx checkreports CE1613.UPDATE SECURITY;reconciles every on-disk module (fixes the CE0066/CE2729class), but leaves the unresolvable member access untouched — verified three
times, on constrained and unconstrained rules alike.
mx.exehas no security verb, and the Studio Pro MCP toolset has neither areconcile tool nor a save, so nothing scriptable can finish the job.
even that strips the dead member only from rules WITHOUT an XPath
constraint; a constrained rule keeps its CE1613 across reconciles.
Net effect: one dead member reference makes an otherwise fully scripted,
headless pipeline dependent on a human click, and the workaround costs a
security constraint (we had to drop the XPath from a write rule so the click
would clean it).
Ask
UPDATE SECURITY --repair(or make it the default): while reconciling, DROPany member access whose attribute or association no longer resolves, and log
one line per dropped member (
rule <entity>/<roles>: dropped unresolvable member System.Thumbnail_Image). Combined with skipping the virtual Systemmodule (#981),
GRANT+UPDATE SECURITYbecomes self-sufficient: whatever awriter bug injects, the next reconcile heals, headlessly.
Acceptance sketch
UPDATE SECURITY --repair→ member gone,remaining members untouched,
mx checkclean, exit code 0.--repair(if not default): current behaviour, but WARN perunresolvable member instead of silence.