Skip to content

new(canvas): mf-canvas-facts.py prints how a microflow lies on the Studio Pro canvas (replaces #534) - #551

Merged
MendixMau merged 5 commits into
masterfrom
claude/loving-gates-hauc1n-534
Oct 23, 2026
Merged

MendixMau merged 5 commits into
masterfrom
claude/loving-gates-hauc1n-534

Conversation

@MendixMau

Copy link
Copy Markdown
Owner

Replaces #534 by @saingge. Their commit 3edf954 is carried unchanged, with their authorship. The fix from the independent review sits on top as a separate commit. Their fork couldn't be pushed to from this session, so this PR comes from our repo instead. All design, field evidence and the CHANGELOG credit are saingge's; see #534 for the full description.

Review fix (7fd580b)

  • The rung now really never gates. In project-bin/verify-module.sh there is a new run kind, note. A flow that fails to decode (exit 2) or a timeout records an INFO row ("NOT MEASURED (exit N)") and leaves FAULTED alone. A missing script, Python or .mpr (for example on Git Bash) also gives an INFO row with the sync-project.sh hint instead of fault(). Before this, any of those cases turned an existing project's module verdict from CLEAN to INCOMPLETE after sync.
  • Cites a file that exists. skills/canvas-readability.md arrives only in the next stacked PR, so the references in mf-canvas-facts.py, verify-module.sh and bin/lib/install-manifest.sh now point at the script header and its FACTS list.
  • Two new V8 cases in tests/wave2/test-verify-module-446.sh: script missing, and a stub that exits 2. In both the row is INFO and the verdict and exit code match the installed run.

Fixtures (scoped):

  • test-verify-module-446.sh 9/10. V3, the playwright case, also fails on the unmodified head.
  • test-mf-canvas-facts.sh 14/14.
  • test-progress-harness-verify.sh 30/30.
  • test-verify-stack-blocked.sh 6/6.
  • test-verify-ledger-hint.sh 4/4.

Baseline words: +0. This PR and #535 both add a name to MXTK_PROJECT_BIN in install-manifest.sh; whichever merges second keeps both.

Review: pending re-review of the fix


Generated by Claude Code

saingge and others added 2 commits October 21, 2026 17:59
…udio Pro canvas

A flow can build, pass its tests and still be unreadable in Studio Pro:
labels on top of each other, a note line leaving the side that faces away,
a decision whose true branch answers "no". mxbuild, check and lint see none
of it.

- project-bin/mf-canvas-facts.py prints the facts (OVERLAP, LINE, NOTE-SIDE,
  LEFTWARD, TURN, CAPTION, SENSE), read-only, exit 2 when a flow could not
  be read. Calibration is from Studio Pro 10.24, not verified on Studio Pro 11.
- verify-module.sh runs it per module as an info rung (1c, 14-canvas-facts.log).
- install manifest, fixture test on a model mxcli v0.27.0 wrote, V8 in
  test-verify-module-446.sh, CHANGELOG.
Review of #534: the canvas rung was documented "INFO, never a gate" but
routed through fault()/rc 2, incrementing FAULTED and turning the module
verdict INCOMPLETE when Python was missing, there was no .mpr, or a flow
failed to decode. It now runs with kind=note (any exit, incl. 2/timeout,
stays INFO with "NOT MEASURED" in the log), and missing prerequisites
write an INFO "(NOT MEASURED: ...)" row without touching FAULTED.

skills/canvas-readability.md does not exist on this PR; the citations in
mf-canvas-facts.py, verify-module.sh and install-manifest.sh now point at
the mf-canvas-facts.py header instead.

Fixture V8 extended: instrument missing and instrument exit 2 both leave
the verdict row and exit code identical to the installed run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013jQvaonym9V1wKKfAEPmRr
Review of 7fd580b: the CHANGELOG still said a missing script is a FAULT, and
the manifest comment implied a mandatory per-script run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013jQvaonym9V1wKKfAEPmRr
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013jQvaonym9V1wKKfAEPmRr
install-manifest.sh: keep both mf-canvas-facts.py and model-scope.py in
MXTK_PROJECT_BIN, and both header comments.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013jQvaonym9V1wKKfAEPmRr
@MendixMau
MendixMau merged commit 7d025bb into master Oct 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants