The workflow was uploading the entire repo, so the site root had no index.html (it lives in docs/). Now uploads just docs/ so the landing page and protocol docs are served at the root URL.
This workflow automates the deployment of static content to GitHub Pages on pushes to the main branch.