Skip to content

fix: address merged microflow review followups#408

Open
hjotha wants to merge 2 commits intomendixlabs:mainfrom
hjotha:submit/merged-pr-review-followups
Open

fix: address merged microflow review followups#408
hjotha wants to merge 2 commits intomendixlabs:mainfrom
hjotha:submit/merged-pr-review-followups

Conversation

@hjotha
Copy link
Copy Markdown
Contributor

@hjotha hjotha commented Apr 30, 2026

Summary

This PR collects follow-ups from reviews on already-merged microflow roundtrip PRs so the actionable feedback does not get lost.

Fixes:

  • Stop manual while true detection from treating continue inside a nested loop as a continue for the outer loop.
  • Mark add $Item to $List and remove $Item from $List target lists as list consumers so owner-both reverse retrieves keep the correct source form.
  • Set nanoflow return-value render context on the direct describe nanoflow path so value-returning nanoflows do not emit bare return; for empty EndEvents.

Review follow-up coverage:

  • Add writer coverage that commit actions always serialize default ErrorHandlingType.
  • Fix the EndEvent empty-return writer test to exercise the actual empty string case.
  • Add a negative regression assertion for non-empty change-object refresh inference.
  • Add download-file formatter coverage for the no-browser flag case.
  • Tighten reverse-association compact XPath name validation and make the owner-both condition explicit.
  • Document MXCLI_EXEC_TIMEOUT in the quick reference.

Closes #404.
Closes #405.
Closes #406.

Tests

  • make build
  • make test
  • make lint-go

@github-actions
Copy link
Copy Markdown

AI Code Review

Critical Issues

None found.

Moderate Issues

None found.

Minor Issues

  • In mdl/executor/cmd_microflows_builder_control.go, the comment for containsContinueForCurrentLoop says it "mirrors containsBreakForCurrentLoop" but the implementation differs slightly (it returns early for LoopStmt/WhileStmt cases while the break version doesn't). This is actually correct behavior since continues in nested loops should not propagate outward, but the comment could be clearer about why the implementations differ.

What Looks Good

Recommendation

Approve. The PR correctly implements focused bug fixes with appropriate test coverage and documentation updates. The changes are minimal, targeted, and maintain code quality standards. Minor comment clarification suggested but not blocking.


Automated review via OpenRouter (Nemotron Super 120B) — workflow source

1. Manual while-true detection over-triggered when the only continue lived
   inside a nested loop. The continue scan crossed loop boundaries while the
   break scan did not, so the outer while could be rebuilt as a manual
   back-edge. Stop the continue scan at nested loops and add a regression test.

2. Owner-both reverse retrieves feeding add/remove-to-list were still treated
   as object-only consumers. The list pre-scan ignored AddToListStmt and
   RemoveFromListStmt target lists, so AssociationRetrieveSource could be
   suppressed. Track those list consumers and add coverage for the helper.

3. Direct nanoflow describe did not set the return-value render context used
   by EndEvent formatting. Thread the wrapped nanoflow return type through the
   formatter so value-returning nanoflows do not emit bare return; for empty
   EndEvents.

Also folds in low-risk review followups: commit-action writer coverage,
change-object refresh negative coverage, download-file formatter coverage,
reverse-retrieve name validation tightening, and documentation for
MXCLI_EXEC_TIMEOUT.

Tests: make build
Tests: make test
Tests: make lint-go

Closes mendixlabs#404.
Closes mendixlabs#405.
Closes mendixlabs#406.
@hjotha hjotha force-pushed the submit/merged-pr-review-followups branch from 7a08d1b to 3e8d0a6 Compare April 30, 2026 07:42
@github-actions
Copy link
Copy Markdown

AI Code Review

Critical Issues

None found.

Moderate Issues

None found.

Minor Issues

None found.

What Looks Good

Recommendation

Approve. This PR consists of well-targeted bug fixes and test improvements for previously merged microflow/nanoflow functionality. Each change addresses a specific reported issue with appropriate test coverage, and the code quality is maintained throughout. As these are follow-ups to already-merged work and don't introduce new MDL syntax, they appropriately bypass the full-stack consistency requirements for new features while still maintaining the project's standards for bug fixes and test coverage.


Automated review via OpenRouter (Nemotron Super 120B) — workflow source

…ew-followups

# Conflicts:
#	mdl/executor/cmd_microflows_format_action.go
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants