why: Cut alpha 9 covering the FastMCP prompts/resources autodoc surface
and the companion typehints / theme / layout fixes merged in PR #21.
what:
- Bump every workspace package (gp-sphinx, sphinx-gp-theme,
sphinx-fonts, sphinx-autodoc-typehints-gp, sphinx-autodoc-argparse,
sphinx-autodoc-api-style, sphinx-autodoc-docutils,
sphinx-autodoc-fastmcp, sphinx-autodoc-pytest-fixtures,
sphinx-autodoc-sphinx, sphinx-ux-autodoc-layout, sphinx-ux-badges)
and the workspace root from 0.0.1a8 to 0.0.1a9
- Refresh lockstep refs in gp-sphinx dependencies and uv.lock
- Update smoke-test version literal in scripts/ci/package_tools.py
- Update lockstep assertions in tests/ci/test_package_tools.py
Notable changes since 0.0.1a8 (#21):
- sphinx-autodoc-fastmcp: autodoc MCP prompts and resources end-to-end
via four new directives ({fastmcp-prompt}, {fastmcp-prompt-input},
{fastmcp-resource}, {fastmcp-resource-template}); new
fastmcp_server_module config points the collector at a live FastMCP
instance; URI-keyed env storage with name-index fallback for
friendly directive lookup
- sphinx-autodoc-fastmcp: kind-prefixed canonical section IDs
(fastmcp-{kind}-{name}) prevent tool/prompt/resource collisions in
std.labels; tools keep the bare slug as a back-compat alias
- sphinx-autodoc-fastmcp: register-all hook safely re-invocable under
FastMCP's default on_duplicate="error" via a temporary context
manager; hook failure is fail-closed
- sphinx-autodoc-typehints-gp: Raises types strip the leading ~
shortener (matching Sphinx PyXRefRole.process_link); comma split is
bracket-depth aware so Dict[str, X] survives intact; empty Notes
drops its rubric while Examples / References / generic stub sections
keep theirs
- sphinx-gp-theme: dispatches gp-sphinx:navigated CustomEvent on
document after every SPA-nav DOM swap so third-party widgets can
re-initialise without a full page reload
- sphinx-ux-autodoc-layout: card-shell permalink hidden by default,
revealed on hover or focus-visible