Skip to content

Feature Request: Expose Commit flag on CREATE/CHANGE activities in DESCRIBE MICROFLOW #779

Description

@jwinckelmann

Component: mxcli (v0.16.0) — MDL extraction / DESCRIBE MICROFLOW

Current behavior

DESCRIBE MICROFLOW correctly renders explicit commit $X ... activities, but for create and change activities it never reveals whether the Studio Pro "Commit" checkbox is ticked. The MDL output is indistinguishable between:

$NewObject = create Module.Entity (Attr = $Value); -- Commit = No
$NewObject = create Module.Entity (Attr = $Value); -- Commit = Yes
Both render identically. The same applies to change $X (...).

Why this matters for reliable bug analysis

Root-cause investigations of data-integrity bugs (missing/orphaned records, partial saves, unexpected rollback side effects) hinge entirely on knowing the exact commit boundaries in a microflow. Without the inline Commit flag, every such investigation has to fall back on manually opening Studio Pro and checking each activity by hand — which:

  • Blocks automated/AI-assisted analysis from reaching a conclusion without human-in-the-loop verification at every step.
  • Is error-prone under time pressure: it's easy to wrongly assume "no commit" (or vice versa) from bare MDL output and draw an incorrect conclusion about a bug's cause.
  • Doesn't scale — a microflow chain with dozens of create/change activities across multiple sub-microflows requires checking each one individually in the modeler, which is slow and easy to get wrong or skip.
  • Makes automated tooling (lint rules, impact analysis, SHOW IMPACT OF, transaction-boundary detection) fundamentally incomplete, since none of them can currently reason about where data actually lands in the database versus staying in-memory/uncommitted.

This is a recurring, confirmed pain point: an investigation into an object-orphaning bug was only resolved after manually confirming Commit flags in Studio Pro for each activity — mxcli output alone was insufficient and actively misleading during the analysis.

Proposed solution

Extract and render the Commit flag on create and change activities in DESCRIBE MICROFLOW output, e.g.:

$NewObject = create Module.Entity (Attr = $Value) commit;

or an equivalent explicit keyword/flag (commit refresh, matching the syntax already used for standalone commit statements). This should also flow through to SHOW CALLERS OF / SHOW IMPACT OF and any future transaction-boundary/lint tooling, so autocommit-risk patterns (uncommitted create that's only committed via an associated object, never explicitly) can eventually be flagged automatically (e.g. a lint rule: "created object with Commit=No has no reachable explicit commit path").

Acceptance criteria

DESCRIBE MICROFLOW shows the Commit flag for every create and change activity, matching what Studio Pro shows.
Round-trip safe: re-importing the described MDL preserves the Commit flag.
mxcli check --references (or equivalent) does not regress on existing scripts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions