CI hygiene: gate bug-tests in CI + rename misnamed negative fixture - #24
Merged
Conversation
Two related example-check gaps (issues are disabled on the repo, so recording as a small PR): 1. CI (push-test.yml) iterated only mdl-examples/doctype-tests/*.mdl, so the per-fix bug-test regression fixtures — which the repo convention requires for every bug fix — had no CI syntax gate. Replace the inline loop with a call to `make check-mdl`, the single source of truth that already covers BOTH doctype-tests/ and bug-tests/, skips *.test.mdl, inverts *.fail.mdl negative tests, and honours the pre-existing-failure SKIP list. 2. mdl-examples/bug-tests/view-entity-derived-string-length.mdl is a NEGATIVE test — its own header says it must be rejected at `check` time (MDL031) — but it was never given the `.fail.mdl` suffix that `make check-mdl` inverts, so `make check-mdl` exited non-zero on a clean main checkout (masked only because CI didn't check bug-tests). Rename it to `.fail.mdl`. After both: `make check-mdl` exits 0 and the fixture is correctly reported as "PASS (negative test, expected error)". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JXnEgoc2NQP1Y2TWMCMXC4
This was referenced Jul 24, 2026
ako
pushed a commit
that referenced
this pull request
Jul 28, 2026
Ledger finding #24: on the modelsdk engine, a navigationlist item was stored with an empty name, and the caption's generated DynamicText had no name either — Studio Pro rejected the project with CE7247 "name cannot be empty" and CE0495 "duplicate name ''". navListItemToGen now (1) writes the item Name — the gen NavigationListItem type has no typed Name setter, so it's added as a raw property via addStr, mirroring the legacy writer's `Name` key — and (2) names the caption's DynamicText `text_<item>` (same as legacy) and sets its render mode. Test: TestNavListItemToGen_WritesNames (encode → both names present). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JXnEgoc2NQP1Y2TWMCMXC4
ako
pushed a commit
that referenced
this pull request
Jul 29, 2026
… ledger cases Wave 1 (MDL-WF01/02/03, MDL-BUTTON01 — cases 1/2/4/5) is shipped. Record the ~10 ledger-driven checks added on the same pattern (MDL045-049, MDL-WIDGET13/14/15, MDL031 pass-through, view-entity association CE6771) plus the two write-path parity fixes (#24 navlist names, #39 orphaned index), and note the two originally- cataloged gaps that remain: case 3 (CE7412) and the standalone case-6 warn. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JXnEgoc2NQP1Y2TWMCMXC4
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.
Two small, related example-check hygiene fixes surfaced while adding the focused fragment examples (#23). Filed as a PR because Issues are disabled on this repo.
1. CI now checks
bug-tests/, not justdoctype-tests/push-test.yml's "Check MDL example scripts" step iterated onlymdl-examples/doctype-tests/*.mdl, so the per-fix bug-test regression fixtures — which the repo convention requires for every bug fix — had no CI syntax gate. A broken bug-test only showed up under a localmake check-mdl.This replaces the inline loop with a call to
make check-mdl, the single source of truth that already:doctype-tests/andbug-tests/,*.test.mdl(mxcli-test inputs, not check inputs),*.fail.mdlnegative tests, andLess duplication, and CI == local from now on.
2. Rename a misnamed negative fixture
mdl-examples/bug-tests/view-entity-derived-string-length.mdlis a negative test — its own header says it must be rejected atchecktime (MDL031: a derived string column normalises to String(200), so astring(30)declaration is flagged before the cryptic CE6770 at build). But it was never given the.fail.mdlsuffix thatmake check-mdlinverts, somake check-mdlexited non-zero on a cleanmaincheckout — masked only because CI (item 1) didn't checkbug-tests/.Renamed to
view-entity-derived-string-length.fail.mdl. No content change.Result
make check-mdlexits 0, and the fixture is reported asPASS (negative test, expected error). Fixing these in the right order (rename first, then extend CI) means turning on bug-test coverage doesn't turn CI red.Discovered while working on the fragment content-slot / bindings PRs (#22, #23).
Generated with Claude Code
Generated by Claude Code