The only other cd left in the workflow mixed two working directories in one step: docs/build-manual.py --site runs from the repo root, then npm ci/astro build need docs/site. Split into two steps so each can use working-directory instead, keeping the whole file cd-free and consistent with the Cloudflare deploy step's fix.