learn(skills): learned-file-upload-widget — File Uploader MDL shape, traps, upload instrument (field-proven on mxcli v0.24.0) - #139
Merged
Conversation
…traps, upload instrument (field-proven on mxcli v0.24.0) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ream (mendixlabs/mxcli#1198, #1199) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… both sides kept; routing re-rendered) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Direct lane
What changed and why (one paragraph):
New skill
skills/learned-file-upload-widget.md. It covers putting a working file upload on a page with mxcli: the Mendix File Uploader 2.5.0 bound to aSystem.FileDocumentspecialisation. It gives the MDL shape (entities, grants, create/delete microflows, advanced formats) and names the upload widgets mxcli cannot author (classic FileManager, PDS uploader). It also documents two traps with their workarounds:allowedfileformatpasses exec, then failsmx checkwith CE0463;exposes 2 datasources).Finally, it defines what "the upload works" means as a six-step instrument: mx check, boot, Playwright upload as a non-admin user, OQL row check, sha256 download, and a negative format check. The skill is routed as
ondemand/build/pagesfor the mdl and test agents.Field evidence (a Mendix app-rebuild project, 2026-09-25, throwaway apps made with
mxcli new, Mendix 11.12.2):Stock v0.24.0. The section-4 MDL was taken straight from the skill file and run with only a wrapper (module, role, page, menu microflow, demo user):
mxcli check --references:Check passed!mx check:The app contains: 0 errors.App is running at http://127.0.0.1:8095/RESULT PASS, 2/2 files stored withHasContents true(1024 B, 244 B)MATCH.csvrejected,CsvRows 0The same instrument passed on stock v0.23.0 (1/1).
Both traps reproduce with identical messages on v0.23.0 and v0.24.0.
The proposed fixes in the table are proven only on a local mxcli patch, with unit tests. Nothing has been filed upstream yet.
No client data anywhere in the diff (
bin/check-no-client-data.shwith the denylist: ✅ 678 tracked files)Size cap: 8 files, 157 lines
Test tier reached: T0 +
bin/render-routing.sh --check(in sync; baseline 78089/80000 words, unchanged, since the skill is ondemand). The skill content itself was field-run as described above.For a new/changed instrument: n/a (a skill, not a script)
For a new skill: routing row added (
bin/lib/skill-routing.tsv+bin/render-routing.sh)CHANGELOG.mdline appended, crediting the source project (bin/check-pr-discipline.sh: clean)New bug entries: none
🤖 Generated with Claude Code