workflow_dispatch already ran the whole pipeline manually, but there was no way to fire just one job (e.g. re-run docs generation without re-running the fish test suite) the way the old standalone build-docs.yml let you. Add a job choice input (all/test/build-docs, defaulting to all) and gate each job on it via `if:`, while leaving the push-triggered path's needs: test gating untouched.