gabriel / musehub public
fix BREAKING fix/191-getting-started-version-mismatch #1 / 1
AI Agent gabriel · 21 hours ago · Oct 23, 2026 · Diff

fix: getting-started page's muse --version sample output showed musehub's own app version, not the real installable tarball (musehub#191)

Found while confirming musehub#191's acceptance criteria -- the ticket's main claim (no muse tarball ever published to production) was already resolved; a real tarball now exists and returns 200. But its third acceptance criterion (the version shown on /muse/getting-started must match the actual installable tarball) was still failing.

The page's example muse --version output used the global Jinja template variable MUSE_VERSION, which despite its name is musehub.protocol.version.MUSE_VERSION -- musehub's own app package version (importlib.metadata.version('musehub')), completely unrelated to the actual muse CLI tarball install.sh serves. Muse and musehub version independently by design, so even once production catches up to its own latest pyproject.toml version, this would still mismatch the real published muse CLI version.

The correct source already exists: install.py's _latest_published_muse_version(), which scans the real releases directory for the most recently published muse-*.tar.gz and falls back to musehub's app version only when nothing has been published yet. Wired the getting-started route to pass this through a dedicated muse_cli_version context variable, rather than reusing the globally-scoped MUSE_VERSION whose name is misleading for this specific use (it correctly means something else for whatever other templates consume it as a global).

sha256:129f74fcd6c7aee4beba9f9a924569b3f910090a9d8f3eb5e4ec294fb70bc604 sha
+8 ~1 symbols
3 changed · 1114 in snapshot files
sha256:5524deca0eb4726d68e145ce028b0d1ad34ef0afc345fb224317b2f2f45fe26f snapshot
+8
symbols added
~1
symbol modified
3
files changed
1114
files in snapshot
0
dead code introduced
Semantic Changes 9 symbols
+ TestGettingStartedVersionDisplay class class TestGettingStartedVersionDisplay L21–48
+ test_falls_back_cleanly_when_no_tarballs_published method async_method test_falls_back_cleanly_when_no_tarballs_published L41–48
+ test_shows_latest_published_muse_version_not_musehub_app_version method async_method test_shows_latest_published_muse_version_not_musehub_app_version L23–38
+ AsyncClient import import AsyncClient L18–18
+ annotations import import annotations L13–13
+ patch import import patch L15–15
+ pytest import import pytest L17–17
~ musehub/api/routes/musehub/ui_docs.py .py 1 symbol added, 1 symbol modified
+ _latest_published_muse_version import import _latest_published_muse_version L13–13
Files Changed
+1 ~2
1114 in snapshot
← Older Oldest on fix/191-getting-started-version-mismatch
All commits
Newer → Latest on fix/191-getting-started-version-mismatch

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:129f74fcd6c7aee4beba9f9a924569b3f910090a9d8f3eb5e4ec294fb70bc604 --body "your comment"