Conversation
why: The mermaid renderer is moving from docs/_ext into the sphinx-gp-mermaid workspace package; consume it ahead of a release so the vendored copy can be dropped. what: - sphinx-gp-mermaid in the dev and docs dependency groups - [tool.uv.sources] git source pinned to gp-sphinx's mermaid branch (packages/sphinx-gp-mermaid subdirectory); switch to a PyPI pin when the next gp-sphinx release ships - Exempt the package from the exclude-newer cooldown alongside its siblings
why: The vendored docs/_ext/mermaid_inline.py moved into the sphinx-gp-mermaid workspace package; load the package instead so the local copy can be dropped. what: - extra_extensions: mermaid_inline -> sphinx_gp_mermaid - Keep the explicit myst_fence_as_directive: the pinned gp-sphinx release predates the auto-routing that ships with the package; drop it on the next gp-sphinx bump - Existing _mermaid_cache entries stay valid (identical cache-key inputs), so adoption re-renders nothing
why: The renderer now ships as sphinx-gp-mermaid and the docs build already loads the package, so the docs/_ext copy, its stylesheet, and its test suite are dead weight. what: - Delete docs/_ext/mermaid_inline.py, docs/_static/css/gp-diagram.css, and tests/test_docs_mermaid.py (the suite moved to the gp-sphinx workspace with the code) - Retarget the AGENTS.md diagrams convention, .gitignore comment, and docs.yml toolchain comment at the package; the pnpm/puppeteer provisioning itself is unchanged
7 tasks
Codecov Reportβ
All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1073 +/- ##
=======================================
Coverage 82.56% 82.56%
=======================================
Files 31 31
Lines 2770 2770
Branches 518 518
=======================================
Hits 2287 2287
Misses 346 346
Partials 137 137 β View full report in Codecov by Harness. π New features to boost your workflow:
|
tony
added a commit
that referenced
this pull request
Jul 2, 2026
why: Verify the sphinx-gp-mermaid renderer on the live site β the production path runs behind Cloudflare (Rocket Loader), which local builds cannot reproduce. what: - Add mermaid to the docs workflow's push trigger - Force PUBLISH on the mermaid ref so a workflow-only push deploys Revert this commit before merging #1073.
why: Verify the sphinx-gp-mermaid renderer on the live site β the production path runs behind Cloudflare (Rocket Loader), which local builds cannot reproduce. what: - Add mermaid to the docs workflow's push trigger - Force PUBLISH on the mermaid ref so a workflow-only push deploys Revert this commit before merging #1073.
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.
Summary
docs/_ext/mermaid_inline.pywithsphinx-gp-mermaid, the gp-sphinx workspace package it was extracted into β the same build-time dual light/dark inline-SVG pipeline introduced in Docs: build-time mermaid + tmux-layout diagram renderingΒ #1071, now maintained upstream.[tool.uv.sources]git source pinned to gp-sphinx'smermaidbranch until a release ships.docs/_mermaid_cacheSVG remains a cache hit; adoption never launches Chrome.Changes
pyproject.toml/uv.lock: dependency, git source, and exclude-newer-cooldown exemption alongside the other gp-sphinx-family packages.docs/conf.py:extra_extensionsloadssphinx_gp_mermaid. The explicitmyst_fence_as_directive=["mermaid"]stays for now β the pinned gp-sphinx release predates the upstream auto-routing β and drops on the next gp-sphinx bump.docs/AGENTS.md,.gitignore,.github/workflows/docs.yml: authoring guidance and comments retargeted at the package. The pnpm/puppeteer provisioning is unchanged: mermaid-cli remains a docs devDependency here, since the Python package resolvesmmdcbut does not vendor it.Rendered markup now uses the package's workspace-namespaced CSS classes (
gp-sphinx-diagram*in place ofgp-diagram*), shipped by the package itself; visual output is unchanged.Setup required
Hold merge until gp-sphinx cuts a release containing
sphinx-gp-mermaid(companion PR below), then flip the git source to a normal PyPI pin. Merging while pointed at a feature branch would break lock reproducibility once that branch is deleted.Verification
Zero references to the vendored renderer or its CSS namespace remain:
Test plan
uv run ruff check .,uv run ruff format .,uv run mypy .β cleanuv run py.test --reruns 0β suite green (the vendored mermaid tests moved upstream with the code)just build-docsβ every diagram page renders through the package;_mermaid_cacheentries hit with no mmdc invocations (mtimes unchanged)gp-sphinx-diagram__variant--theme-{light,dark}figures and link the packaged stylesheetCompanion PR
sphinx-gp-mermaidpackage