Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/rw-python-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ jobs:
- name: pep8 and formatting check
run: |
make format
- name: lint check
run: |
make lint
docs-scripts-tests:
runs-on: ubuntu-latest
if: ${{inputs.changed-python-modules == 'true'}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,11 @@ def _is_retryable_exc(exc: Exception) -> bool:
return True
if isinstance(exc, httpx.HTTPStatusError):
return exc.response.status_code in _RETRYABLE_STATUS_CODES
if isinstance(exc, httpx.RemoteProtocolError):
# Mid-stream disconnect ("peer closed connection without sending complete
# message body") -- pure network flake, not a real agent/content failure.
# Confirmed live: contaminated ~1-4% of visualization runs with a hard
# fail and zero retry attempts.
return True
return False
# Mid-stream disconnect ("peer closed connection without sending complete
# message body") -- pure network flake, not a real agent/content failure.
# Confirmed live: contaminated ~1-4% of visualization runs with a hard
# fail and zero retry attempts.
return isinstance(exc, httpx.RemoteProtocolError)


def _retry_transient(operation: Callable[[], T], *, is_retryable: Callable[[Exception], bool]) -> T:
Expand Down
6 changes: 1 addition & 5 deletions packages/gooddata-eval/tests/test_agentic_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from unittest.mock import patch

import pytest
from gooddata_eval.cli.agentic_runner import _dispatch_agentic, run_agentic_items
from gooddata_eval.cli.agentic_runner import AGENTIC_TEST_KINDS, _dispatch_agentic, run_agentic_items
from gooddata_eval.core.agentic.alert_skill import AlertSkillAssertionError
from gooddata_eval.core.models import AgenticEvalOutcome, DatasetItem

Expand Down Expand Up @@ -81,8 +81,6 @@ def test_all_agentic_kind_cases_covers_every_registered_kind():
"""Guards the two parametrized tests below against silently going stale: a kind added
to AGENTIC_TEST_KINDS without a matching case here would otherwise just not get tested,
not fail loudly."""
from gooddata_eval.cli.agentic_runner import AGENTIC_TEST_KINDS

covered = {kind for kind, _, _ in _ALL_AGENTIC_KIND_CASES}
assert covered == set(AGENTIC_TEST_KINDS)

Expand Down Expand Up @@ -194,8 +192,6 @@ def test_dispatch_agentic_returns_a_real_outcome_for_every_kind(kind, expected_o
evaluator produced -- not None, not the outcome's reasoning_steps list alone, not any
other bare value the old `isinstance(outcome, tuple)`/`isinstance(outcome, AgenticEvalOutcome)`
fallback could silently swallow."""
from gooddata_eval.core.models import AgenticEvalOutcome

item = DatasetItem(
id="q1",
dataset_name="ds",
Expand Down
Loading