Run the docs through a local HTTP server
Swagger UI loads the OpenAPI file with an HTTP request. Browsers do not reliably allow that
when this page is opened directly with file://.
Preview the same site locally with:
mkdir -p /tmp/smirkly-auth-docs/openapi
cp -R docs/. /tmp/smirkly-auth-docs/
cp openapi/auth-v0.yaml /tmp/smirkly-auth-docs/openapi/auth-v0.yaml
python3 -m http.server 8088 --directory /tmp/smirkly-auth-docs
Then open http://localhost:8088/api.html.
The GitHub Pages workflow performs the same copy step before publishing, so this page works normally on Pages.