Repository navigation
inbox: eight field notes from an existing-app legacy-widget rebuild (exec.sh crash gap, restore-mpr usage, #228/#244 confirmations, durable-rebuild kit, learned widget entries) - #309
Closed
AlvinnYeo wants to merge 4 commits into
Conversation
exec.sh keeps an MDL write when mxbuild crashes on it; restore-mpr.sh usage text; build-plan-status.sh flag order; field confirmations of MendixMau#228 and MendixMau#244; Unit-row delete orphan; durable-rebuild kit with a "restate from DESCRIBE" STOP row; learned widget and data-source entries. Mendix 11.14.0 Beta, mxcli v0.25.0, toolkit c1efcb3. Lane 1 only. Co-Authored-By: Claude <noreply@anthropic.com>
This was referenced Oct 13, 2026
MendixMau
added a commit
that referenced
this pull request
Oct 13, 2026
… before run --local (#262), detection gaps (#299), test strength (#172) (#313) * fix(project-bin): flag order in build-plan-status.sh, bare timestamp in restore-mpr.sh build-plan-status.sh: parse flags and the project path in one loop, so a leading flag is no longer shifted away and the path no longer reported as "unknown arg"; a second path is an error. restore-mpr.sh: resolve the argument before cd into the model dir — a directory as given, else a folder of that name under .mpr-snapshots/, else exit 1 naming it and listing the newest snapshots. Field report by AlvinnYeo in the inbox PR. Refs #309 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw * learn(record-demo-video): port four demo-film defects into the skill Applies the patch from #237 (0005), rebased over #303: spawnSync for ffmpeg's stderr report, step number without a guessed total, skipped beats counted and set a non-zero exit, rows found by the displayed key, base URL checked before launch, record and post as separate steps, and four failure-mode rows placed before the egress row. Closes #237 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw * fix(app-restart, test-stack-up): name a port thief before run --local, exit 4 Before stopping anything, app-restart.sh checks the app and admin port; a holder outside the recorded process tree exits 4 "instrument blocked" with its name, pid and parent, and is never touched. After the stop the same check is exact. test-stack-up.sh runs the check wherever it would advise starting run --local. Holder lookup: lsof, ss, netstat+tasklist. Closes #262 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw * learn(detection-gaps, module-review): lazy combo preset, pinned row heights Two register rows (first oracle: the running app, before touching the filter / at each width) and two LOOK checklist lines with denominators. Closes #299 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw * learn(testing-shape, test-result-audit): server-side refusal probe, 4xx fails, clean final run Three false-green rows in testing-shape.md §4 with report lines in §7, each carrying a denominator, and check 2e in test-result-audit.md that asks for them. The inbox note behind it keeps only its unpromoted items. Closes #172 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw * learn(testing-shape, module-review): fit #172/#299 inside the baseline budget The first cut put 491 words into two baseline skills; the baseline tier went to 80,466 against its 80,000 ratchet. The reasons for the three testing rules now live in test-result-audit.md 2e (on demand), the LOOK lines are one line each, and two redundant sentences in testing-shape.md §4's verdict paragraphs are folded. Baseline: 79,997. Refs #172 #299 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw --------- Co-authored-by: Claude <noreply@anthropic.com>
MendixMau
pushed a commit
that referenced
this pull request
Oct 13, 2026
…er replay, STOP 29 command) Review of #311 (held): 1. script-owners.sh orders and matches scripts with a leading done- removed: a raw sort put an executed done-05-x.mdl after 09-y.mdl and called the NEW 09 a replay; `-- supersedes: 05-x.mdl` stopped matching after the rename. 2. describe-baseline.sh record-applied <script> records each document's live hash after a write; verify reads SAME when the live body is the script's own recorded write (a re-run) or when a baselined document is absent (a rebuild onto a fresh model). exec.sh is not changed here: the one call it needs after a gate pass is proposed in the PR; the fixture runs that case only when exec.sh carries it (NOT RUN otherwise) and passes 67/67 with the patch applied. 3. Replaying older co-owned scripts in run order is quiet: the "replaying reverts O" verdicts ask the model first (document absent, or live body applied by this script or an older one). No ./mxcli to ask stays a conflict. 4. "Not found" matching follows recorded mxcli output (entity/constant not-found, rc 1) by shape: non-zero exit, no body, "not found: <Doc>"; "no describable document" and parse errors fail the call instead. No capture of a missing MICROFLOW/PAGE exists in the repo. 5. STOP 29 gives a pipe-free grep over mprcontents/ instead of the codec library. 6. Cut the Step 0 line that repeated STOP 22. Fixture tests/wave2/test-restatement-guard.sh: 65 ok + 1 NOT RUN on this branch. Refs #261 Refs #269 Refs #309 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
3 of 4 tasks
…e, merge master Dropped: restore-mpr usage, build-plan-status flag order, other-project guard (fixed on master by MendixMau#313 and MendixMau#304). Kept five. CHANGELOG line rewritten for five notes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 16, 2026
MendixMau
added a commit
that referenced
this pull request
Oct 16, 2026
…rom #309 by @AlvinnYeo) (#450) Lands #309 by @AlvinnYeo. Independent review: APPROVE. # PR 450 (lands #309 by @AlvinnYeo) review r1 (delta self-review) Verdict: APPROVE - w1 must-fix 1 done: every #244 status now says closed 2026-10-14 by #322, upstream root cause remains (gh issue view 244 confirms). No STOP-table wording left in the note. - w1 must-fix 2 done: body drops the stale byte-identical claim. - Inbox lane only (contrib/inbox + one CHANGELOG line, credit " — AlvinnYeo"); nothing loaded or routed; zero behaviour risk. - Optional word limits not enforced (inbox notes, maintainer call).
Owner
|
Thank you @AlvinnYeo! Your five field notes are now in the toolkit via #450, which landed on the release branch for the upcoming v1.0. We brought them in through our own branch so we could sync them with the latest changes, and your name is credited in the CHANGELOG and the commit. Closing this one in favour of #450. Really appreciate you writing these up from a real rebuild. |
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.
@MendixMau — field notes for the inbox from an existing-app build; the related mxcli issues are mendixlabs/mxcli#1458–#1472.
What
Lane 1 (inbox) only. Five files under
contrib/inbox/, no change toskills/,bin/,project-bin/orbug-logs/. Updated 2026-10-16: each note was checked against master (d1cbd41); three that master already fixes were dropped and two were marked as partly stale.2026-10-13-exec-keeps-write-when-mxbuild-cannot-run.md2026-10-13-test-endpoint-after-startup-left-after-signal.mdtesting-shape.md2026-10-13-patch-unit-row-delete-orphan.mdfix hashes --repair; rename-then-drop works2026-10-13-durable-rebuild-kit-legacy-widgets.md2026-10-13-learned-widgets-and-data-sources.mdradiobuttons/image, tab-pageCaptionParams/Visible:dropped, BUG-39 on widget XPath, two-hop data source)Dropped because master already fixes them:
restore-mpr.shaccepts a bare timestamp (#313),build-plan-status.shtakes flags before the path (#313), and another project'smxcli testno longer blocks exec.sh (per-project lock, #304).Why
A field project changed an existing Mendix app whose pages were full of old widget types mxcli
v0.25.0 cannot write (old data grids, reference selectors, drop-downs, the image uploader, widgets
visible only to listed module roles). The owner chose a durable rebuild: 34 pages and snippets were
restated whole from MDL. Along the way the toolkit's gates caught every build-level failure and rolled
back cleanly, with one exception (an mxbuild crash, first file). Several gaps were silent: settings
that
check, exec and mxbuild all accepted and that were not written, or that DESCRIBE did not print.These notes are what the toolkit could carry so the next existing-app project does not rediscover them.
Field context
project-bin/exec.sh; the notes onrestore-mpr.shandbuild-plan-status.shwere dropped because Small fixes: arg parsing (#309), demo-video rules (#237), port holder before run --local (#262), detection gaps (#299), test strength (#172) #313 changed those scripts.scratch-copy reproductions for
restore-mpr.shandbuild-plan-status.sh. Each file labels what is afinding and what is a hypothesis.
MyModule,/path/to/project). No client, app, person or host names.Checks
bin/check-no-client-data.shwith the local denylist: clean on the 2026-10-16 head.bin/check-pr-discipline.sh: clean.## Unreleased(below).🤖 Generated with Claude Code