Skip to content

Preserve enum split microflow roundtrips #347

@hjotha

Description

@hjotha

Part of #332. Staged in draft PR #346.

Summary

Some legacy microflows use enum-based ExclusiveSplit conditions. describe microflow can flatten or misclassify those graphs because MDL currently has no explicit enum split statement that preserves enum case values, grouped cases, and terminal/shared-tail behavior.

Expected behavior

describe -> exec -> describe should preserve an enum split as structured MDL, including:

  • the split source variable or attribute path;
  • each enum case label, including grouped cases;
  • an (empty) case when present;
  • terminal branches and shared continuation tails;
  • MPR validity after roundtrip.

Current staging status

The behavior is implemented in draft PR #346, but that PR is intentionally not merge-ready. This needs extraction into a focused PR with parser/AST/visitor/builder/describer/validator coverage and synthetic tests only.

Validation target

Focused PR should pass make build, make lint-go, make test, and at least one mxcli check doctype example for the new syntax.

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