fix(prompts): give the action agent the same runtime facts as the assistant #3008
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Synthetic Deterministic Tests | |
| # Regression guardrail: run every offline (no-LLM) synthetic test on every | |
| # PR and merge so pipeline refactors can't silently break investigations. | |
| # | |
| # Tests that need a live LLM are excluded via the marker filter below. | |
| # Those suites live in interactive-shell-live.yml and hermes-tests.yml instead. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "surfaces/**" | |
| - "config/**" | |
| - "core/**" | |
| - "integrations/**" | |
| - "platform/**" | |
| - "tools/**" | |
| - "tests/synthetic/**" | |
| - "pyproject.toml" | |
| - "uv.lock" | |
| - "pytest.ini" | |
| - ".github/workflows/synthetic-deterministic.yml" | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "surfaces/**" | |
| - "config/**" | |
| - "core/**" | |
| - "integrations/**" | |
| - "platform/**" | |
| - "tools/**" | |
| - "tests/synthetic/**" | |
| - "pyproject.toml" | |
| - "uv.lock" | |
| - "pytest.ini" | |
| - ".github/workflows/synthetic-deterministic.yml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: synthetic-det-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| offline: | |
| name: Synthetic offline (deterministic) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: | | |
| pyproject.toml | |
| uv.lock | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| - name: Install dependencies | |
| run: uv sync --frozen --extra dev | |
| - name: Run deterministic synthetic tests | |
| # Excludes markers that require a live LLM: | |
| # synthetic — full RCA scenario suites (EKS, RDS, Hermes, Dagster …) | |
| # axis2 — adversarial scenario suites (also call the LLM) | |
| # live_llm — explicit live-credential gate | |
| # e2e — requires live infrastructure | |
| run: | | |
| uv run pytest tests/synthetic \ | |
| -m "not synthetic and not live_llm and not e2e and not axis2" \ | |
| -q | |
| - name: Run hermes_rca offline scenario suite | |
| run: uv run python -m tests.synthetic.hermes_rca.run_suite --offline-only |