Skip to content

feat(benchmarks): add deterministic Sentry evaluation #35

feat(benchmarks): add deterministic Sentry evaluation

feat(benchmarks): add deterministic Sentry evaluation #35

name: decisiongrounding CI
# The decisiongrounding benchmark arrived from its standalone repository with
# its workflow at decisiongrounding/.github/workflows/ci.yml — a path GitHub
# does not read in a subdirectory. This root workflow re-homes those same jobs
# (test matrix, offline demo smoke, live AsDecided arm smoke, corpus gate)
# scoped to the subdirectory.
on:
push:
branches: [main]
paths: ["decisiongrounding/**", ".github/scripts/install-asdecided.sh"]
pull_request:
paths: ["decisiongrounding/**", ".github/scripts/install-asdecided.sh"]
permissions:
contents: read
defaults:
run:
working-directory: decisiongrounding
jobs:
test:
name: test (py${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install (dev + schema extras)
run: |
python -m pip install --upgrade pip
pip install -e ".[dev,schema]"
- name: Run tests
run: python -m pytest -q
- name: Smoke the offline demo
run: python -m runner.cli demo
asdecided-core:
# Exercise the actual Rust system-under-test boundary and enforce the
# benchmark's own knowledge corpus.
name: AsDecided Core integration
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
- name: Install AsDecided
run: bash ../.github/scripts/install-asdecided.sh 0.23.1
- name: Install benchmark
run: pip install -e ".[dev,schema]"
- name: Smoke the AsDecided whole-artifact arm
run: python -m runner.cli run --arm rac --scenarios scenarios --out /tmp/dg-core-smoke
- name: Smoke the AsDecided snippet arm
run: python -m runner.cli run --arm rac_snippets --scenarios scenarios --out /tmp/dg-core-snippets-smoke
- name: Gate the RAC corpus (validate + relationships + review)
run: decided gate rac