Skip to content

DESCRIBE emits action: call_microflow/call_nanoflow for widget actions, which the parser rejects (roundtrip break) #634

@ako

Description

@ako

Summary

DESCRIBE on a page/snippet emits widget actions as action: call_microflow X / action: call_nanoflow X, but the MDL parser only accepts action: microflow X / action: nanoflow X (no call_ prefix). The emitted MDL fails to re-parse, breaking the "DESCRIBE roundtrip" guarantee for any page/snippet containing an action button (or other action-bearing widget).

Reproduction

create module RT;
create snippet RT.S ( params: { $C: ConversationalUI.ChatContext } ) {
  container c1 { actionbutton b (caption: 'X', action: call_nanoflow RT.N) }   -- as emitted by DESCRIBE
}
$ mxcli check repro.mdl
  - line 3:69 extraneous input 'RT' expecting {',', ')'}

Same failure with action: call_microflow RT.N.

The accepted forms pass:

actionbutton b (caption: 'X', action: nanoflow RT.N)    -- ✓ Syntax OK
actionbutton b (caption: 'X', action: microflow RT.N)   -- ✓ Syntax OK

Real-world trigger

describe snippet OntologyViewer.Snippet_ChatContext_Interaction emits:

actionbutton btnUseSuggestedUserPrompt (
  ...
  Action: call_nanoflow ConversationalUI.ACT_ChatContext_ExecuteSuggestedUserPrompt,
  ...
)

which fails mxcli check. The same applies to the FullScreenChat page and any artifact with call_microflow/call_nanoflow button actions.

Expected

Either (a) DESCRIBE should emit action: microflow X / action: nanoflow X (matching the parser), or (b) the grammar should also accept the call_ prefix. (a) is the lower-risk fix.

Environment

mxcli built from current main; reproduced via mxcli check (syntax only, no project needed).

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