Skip to content

learn(microflow-patterns): the microflow header grammar, in one line (#361) - #366

Closed
MendixMau wants to merge 2 commits into
masterfrom
learn/microflow-header-grammar
Closed

MendixMau wants to merge 2 commits into
masterfrom
learn/microflow-header-grammar

Conversation

@MendixMau

@MendixMau MendixMau commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Closes #361.

Direct lane

What changed and why (one paragraph):
skills/learned-microflow-patterns.md → "Additional MDL Syntax Rules" gets one line: create microflow M.N () keeps its () even when it has no parameters. returns comes after the parentheses, then folder '…' (not in). The line also says that the check errors point at returns/List of, and it cites the bug-log entry. That entry is new: bug-logs/mxcli-bugs.md gets ## BUG-DRAFT-microflow-header-grammar:, because none existed before. It holds:

  • the failing header;
  • the three verbatim v0.26.0 parse errors (missing '(' at 'returns', missing ':' at 'List of', mismatched input 'in' expecting ')');
  • the working form;
  • an upstream ask: when returns follows the name directly, say "parameter list () required" instead of three cascading errors.

Word cost (learned-microflow-patterns.md is always loaded): the render-routing.sh --check baseline goes from 75,028 to 75,056 words (+28, budget 80,000). learned-mdl-preflight.md is unchanged from master.

Scannable once #355 lands? Partly. This PR does not touch bin/lib/mdl-scan-rules.tsv. The single-line wrong shape could be a line rule:

  • microflow[[:space:]]+[^[:space:](]+[[:space:]]+returns catches a missing ().
  • an in ' pattern after the name catches the wrong folder clause.

Its evidence would be BUG-DRAFT-microflow-header-grammar. Two limits:

  1. A header split over several lines is invisible to a line-based rule.
  2. mxcli check already rejects this shape, so the rule would only replace an unclear error message.

Low priority. Since the scan rules mirror STOP rows, and this is no longer one, it may not belong in the scanner at all.

Field evidence: observed in the field, not re-run in this PR. Source: an existing-app change project (a connector app), mxcli v0.26.0, Mendix 11.15.0, macOS, 2026-10-14 (#361). One check failure with the three errors above. The working form fixed it on the second attempt and then passed check, exec, mxbuild and the lint ratchet. This session had no mxcli binary, so the grammar was not re-tested here.

  • No client data anywhere in the diff
  • Size cap: 2 files changed (plus CHANGELOG), under 50 lines
  • Test tier reached: T0, docs only. Clean: render-routing --check, check-scripts, check-portability, the leak guard, check-no-private-citations, check-pr-discipline. The only fixture that reads mxcli-bugs.md content (test-exec-lock-watch.sh, the set Url row) was checked by inspection: the row is still there.
  • For a new/changed instrument: n/a
  • For a new skill: n/a
  • CHANGELOG.md line appended, crediting @joshuamoesa
  • New bug entry headed ## BUG-DRAFT-<slug>:

Review

The review verdict was MERGE-AFTER-FIX. Addressed in 4349cf8:

  • Deleted STOP row 29 from learned-mdl-preflight.md. That table is for corruption and silent failures, and mxcli check catches this one. The preflight file is now identical to master.
  • Replaced it with one line in learned-microflow-patterns.md, using the suggested text: about 28 words, in "Additional MDL Syntax Rules". This is the issue's second suggested landing spot.
  • Dropped the LOOP clause.
  • Removed "STOP row 29" from the bug-log entry and the CHANGELOG line. The bug entry now points at the new line.
  • Baseline: +108 → +28 words (75,056).

🤖 Generated with Claude Code

https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw

)

Empty parameter list `()` is mandatory, `returns` follows it, placement is
`folder '…'` not `in`, and a list member is changed in `loop … change … end loop;`.
Verbatim v0.26.0 parse errors from the field build in BUG-DRAFT-microflow-header-grammar.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
…eflight STOP table (#361 review)

STOP rows are for corruption or silent failure; `mxcli check` catches this one. One line in
learned-microflow-patterns.md "Additional MDL Syntax Rules" instead; LOOP clause dropped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
@MendixMau MendixMau changed the title learn(mdl-preflight): STOP row 29, the microflow header grammar (#361) learn(microflow-patterns): the microflow header grammar, in one line (#361) Oct 14, 2026
MendixMau pushed a commit that referenced this pull request Oct 14, 2026
…in one line (#361)

Review: independent review MERGE-AFTER-FIX — STOP rows are reserved for corruption/silent failure and this is a parse error mxcli check rejects → STOP row 29 removed, one ~28-word line in learned-microflow-patterns.md instead, LOOP clause dropped, in 4349cf8; confirmation MERGE. Quoted errors match #361 exactly. Baseline +28. Closes #361.

Conflict: bug-logs/mxcli-bugs.md — both sides appended a BUG-DRAFT entry at the end; kept both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
MendixMau added a commit that referenced this pull request Oct 15, 2026
…journey controls, fixes) (#385)

Lands #340 #363 #362 #355 #370 #368 #364 #365 #366 #372 #367 #371 #376 #369 #373 #377 #378 #380.

Review: each constituent PR independently reviewed by a fresh agent that did not write it; merged into integration/2026-10-15 only on a MERGE verdict with green CI (per-PR Review lines in the integration merge commits). After-fix rounds: #373 (env-var cap, rename/skip-loops freshness), #377 (inline URI fallback), #378 (full-pack double count, slice content). Stub diet (#369/#378/#380) behaviour A/B, 5 reps x 2 drafting tasks + 5 retrieval probes x 3 reps: trimmed context no worse than master on every scored metric (planted STOP refused 20/20, parse failures page 2/5 vs 3/5, probes 15/15); mdl Stage 5 56,236 -> 30,647 words, baseline 75,028 -> 73,233. Full suites on c9bc073: run-tests 33/0, wave2 111 fixtures 0 failing. Field evidence: none yet for the instruments (#355 warn-only, #373/#377 read-only).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
@MendixMau

Copy link
Copy Markdown
Owner Author

Landed on master in #385 (squash 868b3cb), after its own independent review on the night integration branch. Closing this PR.


Generated by Claude Code

@MendixMau MendixMau closed this Oct 15, 2026
@MendixMau
MendixMau deleted the learn/microflow-header-grammar branch October 15, 2026 10:47
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