Skip to content

fix(validate): fail on a page file beside a directory of the same name - #102

Merged
a-essawy merged 1 commit into
mainfrom
fix/guard-page-dir-collision
Sep 24, 2026
Merged

a-essawy merged 1 commit into
mainfrom
fix/guard-page-dir-collision

Conversation

@a-essawy

Copy link
Copy Markdown
Contributor

The shape that broke /docs/jobs/compose/* in production on 2026-09-24: jobs/compose.mdx beside jobs/compose/. All 24 children served the parent's content. The sitemap and llms.txt listed them, so the build saw them; only the routing collapsed, and mint dev does not reproduce it, so nothing caught it before the live site.

The validator now fails on that shape and names the fix (<dir>/index.mdx, as storage/ and automation/ already do).

Verified it fires: recreating jobs/compose.mdx makes validate:nav report the violation, and removing it goes back to clean. A check that cannot fail is worse than no check.

`jobs/compose.mdx` beside `jobs/compose/` broke every child route on
Mintlify's production build: all 24 served the parent's content, while the
sitemap and llms.txt listed them normally. `mint dev` does not reproduce it,
so nothing caught it before the live site.

The validator now fails on that shape and names the fix. Verified it fires by
recreating the collision.
@a-essawy
a-essawy merged commit 925d553 into main Sep 24, 2026
1 check passed
@a-essawy
a-essawy deleted the fix/guard-page-dir-collision branch September 24, 2026 13:44
a-essawy added a commit that referenced this pull request Sep 24, 2026
…103)

A generated table cell held `[{time:0,value:0},{time:1,value:1}]`; MDX reads a
bare `{...}` as a JSX expression, the page failed to parse, and Mintlify served
the section root as the body of all 24 child pages while reporting every deploy
a success. Generator fixed in rendobar/rendobar#798; these are the regenerated
pages.

Also reverts two changes I shipped on a wrong diagnosis: #101 (moving the
overview to index.mdx and dropping `root`, which cost the nav behaviour) and
#102 (a validator rule for a collision that was never the cause).

Adds `validate:build` = `mint validate`, the only check that sees a build
error, and the one that was missing.
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.

1 participant