From cd007856d888a86b886c715aeca22e7e8ff63c99 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 17:37:16 +0000 Subject: [PATCH] docs(doctor-triage): the mxbuild cache lane is not Linux-only on macOS (#525) The lane table said ~/.mxcli/mxbuild/ is 'Linux only - it is an ELF' and unavailable on macOS for every Mendix version. #525 measured a Mach-O arm64 mx/mxbuild in the 11.14.0 cache on macOS that runs 'mx check'; ELF entries were seen on macOS for 10.24 (contrib inbox 2026-10-21) and 11.12 (mpr-corruption-and-sp-load-errors.md). The row now says: test with 'file'. Fixes #525 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_018LeNWZV2sVH62vkgfYh5u5 --- CHANGELOG.md | 1 + skills/doctor-triage.md | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07ed1ea4..ff582193 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Sections dated before 2026-09-19 predate the cycle and stay as they are. Named m ## Unreleased +- docs(doctor-triage): **the `~/.mxcli/mxbuild/` cache lane is no longer called Linux-only**: on macOS it held a working Mach-O arm64 build for 11.14.0, while 10.24 and 11.12 downloads were ELF. The lane table now says to run `file` on the cached `mx` before calling the lane unavailable (#525). — AlvinnYeo (report) - fix(exec): **a write no longer leaves units that changed only in XPath whitespace for the reviewer to read.** mxcli v0.27.0's `alter entity … rename attribute` rewrote 135 units in 20 unrelated modules that way (mendixlabs/mxcli#1596; fixed upstream in v0.29.0, ako/mxcli#1506, so this is insurance for projects on v0.27–v0.28). `exec.sh` now runs `model-scope.py restore` after the write (MDL and `--patch`) and before the mxbuild gate, so the gate checks the final model; it prints the real changes per module and puts a `scope:` note in the BUILD-LOG row. It never blocks: a failure is a warning, `MXTK_NO_SCOPE=1` skips it, and it is skipped when `FORCE_EXEC` let the write run over uncommitted model changes. No pre-commit refusal (maintainer decision on #593): `model-scope.py check --staged` stays available to run by hand. Fixture `tests/wave2/test-model-scope.sh` section F. Ported from #593 onto current master — saingge - learn(demo): **`skills/live-demo-autopilot.md` — run the demo live, not as a video**: Playwright drives the real app through scripted scenes, captions carry a WHY line, a control panel lets the presenter pause and take over, redo or skip; plus the traps that each broke a run (trial licence stops the runtime 2–4 h after start, 6-session cap and proving a logout freed its slot by the `System.Session` count, demo sign-in tiles kept out of any deployed build, focus-stealing panel pausing the run, SIGTERM closing the browser before sign-out). Field: a desktop+phone offline manufacturing demo (4/4 scenes) and a three-app process-hub demo (28/28 with an app killed mid-run and an 11 min pause), 2026-10 — Maurits Visser - docs(bug-ledger): **32 ledger entries now say what mxcli v0.22–v0.29 changed about them, before anyone re-runs an old workaround**: 22 are fixed upstream per the mxcli changelog or source (among them BUG-121 terminators, BUG-141 workflow PersistentId, BUG-151 `rest call body $Var`, BUG-100 shared Docker stack, BUG-94 role visibility, BUG-128 module-role idempotence) and 10 changed shape or are partly fixed (BUG-154; BUG-04 no automatic module role since v0.27, BUG-WF04/WF05 named call arguments since v0.25, BUG-130/131 vs the v0.27 `exec` rollback). Each gets an "Upstream status" line naming the version, the issue and what to retest; none is closed or archived, because none was retested — the ledger archives only after a retest. Also corrects `BUG-DRAFT-audit-member-access-ce0066`: commit `2455ee9f` first shipped in v0.23.0, not v0.22. Source: mxcli v0.29 compatibility audit 2026-10-30 diff --git a/skills/doctor-triage.md b/skills/doctor-triage.md index 7dfe1c87..76ce176d 100644 --- a/skills/doctor-triage.md +++ b/skills/doctor-triage.md @@ -97,13 +97,13 @@ Every mxbuild/`mx` red belongs to exactly one lane, and the fix is lane-specific | Lane | Where the binary comes from | Runs on | What red means | |---|---|---|---| | **Studio Pro bundled** | the install's own `modeler/mx` (`Contents/modeler/mx` on macOS, `modeler/mx.exe` on Windows) | macOS, Windows | The install is missing, or is a build that ships no bundled `mx` — list the installs and look for the file | -| **Standalone CDN toolchain** | `mxcli setup mxbuild` / `doctor.sh --install` (add `--yes` with no terminal), cached under `~/.mxcli/mxbuild/` | **Linux only** — it is an ELF | On macOS or Windows this lane is simply unavailable; no Mendix version changes that | +| **Standalone CDN toolchain** | `mxcli setup mxbuild` / `doctor.sh --install` (add `--yes` with no terminal), cached under `~/.mxcli/mxbuild/` | Linux; macOS only when the cached build is Mach-O | Run `file ~/.mxcli/mxbuild//modeler/mx` first: an ELF (seen on macOS for 10.24 and 11.12) cannot run natively, a Mach-O arm64 build (seen for 11.14.0, #525) does. Windows: unverified | | **Container** | the same Linux toolchain, inside a container | anywhere a container runtime runs | See the limitation below before believing this one | **macOS: Mendix 11 is a platform requirement, not a toolkit preference.** macOS Studio Pro was Beta throughout 10.x and those builds ship **no** bundled `mx`; Mendix 11 is the first macOS build that -carries one. So on a Mac, the bundled-`mx` lane does not exist below 11 — and the CDN lane never -existed there at all. Verify by listing the installs and testing for the file (Step 1), **never** +carries one. So on a Mac, the bundled-`mx` lane does not exist below 11 — and the cache lane works +there only for a version whose cached build `file` reports as Mach-O. Verify by listing the installs and testing for the file (Step 1), **never** from a remembered version number: version lists rot, and two people in the 2026-09-22 thread had the toolkit itself checked out at two different paths.