Gitea dogfood failed because actions/setup-node is not mirrored (404 on git.potatolab.uk/actions/setup-node) and pip --user is blocked by PEP 668. Prefer runner Node with an optional mirrored setup-node, and install PyYAML into a workspace venv.
Add .github/workflows/gatekeep-pr.yml with uses: ./ and OPENROUTER_API_KEY from secrets. Forge-agnostic API helper for Gitea.