# Example GitHub Actions job: block a PR when the candidate RAG config is worse than the baseline # by more than the margin, using the paired non-inferiority gate (G3) from this project. # Assumes your eval step writes per-query scores to CSV files with columns: qid,recall@5 name: rag-gate on: [pull_request] jobs: gate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v6 - run: uv sync # Replace with your own evaluation; both files must cover the same golden-set queries. - run: uv run python your_eval.py --config main.yaml --out baseline.csv - run: uv run python your_eval.py --config candidate.yaml --out candidate.csv - run: uv run python -m gatestats.gates baseline.csv candidate.csv --metric recall@5 --margin 0.02