Skip to content

DESCRIBE PAGE output not guaranteed to roundtrip through mxcli check #626

@ako

Description

@ako

Problem

DESCRIBE PAGE output is not guaranteed to re-parse through mxcli check. (Microflow DESCRIBE roundtrip was fixed in v0.11.0 and is confirmed working; this is the remaining page case.)

Current behavior

There is no automated coverage of page DESCRIBE → check roundtrip: the page roundtrip tests (mdl/executor/roundtrip_page_test.go, //go:build integration) only assert the output contains expected widget names — they never feed the output back through the parser/check.

⚠️ Note for whoever picks this up — a tempting but WRONG hypothesis

During investigation it looked like the cause was DESCRIBE emitting snake_case action strings (show_page, call_microflow) while the grammar uses uppercase tokens (SHOW_PAGE, CALL_MICROFLOW). This is not the cause — the lexer uses case-insensitive fragments (fragment S: [sS] … in mdl/grammar/MDLLexer.g4:822+), so show_page tokenizes fine as SHOW_PAGE. Don't "fix" the casing and call it done.

The real breakage is structural (specific widget/action constructs the CREATE PAGE grammar doesn't accept in the shape DESCRIBE emits, and/or unquoted reserved-word identifiers — see #619). A concrete reproduction is needed first to identify which constructs fail.

Request

Guarantee DESCRIBE PAGE roundtrip, and add a roundtrip test that actually re-checks the DESCRIBE output (not just substring assertions).


Source: customer feedback batch (2026-06). Reporter: Miwa. Reporter severity: 5/5.
Filed after codebase investigation at 297e0b0a.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions