Skip to content

Add status to RetryTimeoutError#101

Merged
DevonFulcher merged 1 commit intomainfrom
devonfulcher/sl-sdk-retry-timeout-status
Feb 20, 2026
Merged

Add status to RetryTimeoutError#101
DevonFulcher merged 1 commit intomainfrom
devonfulcher/sl-sdk-retry-timeout-status

Conversation

@DevonFulcher
Copy link
Contributor

@DevonFulcher DevonFulcher commented Feb 13, 2026

Why

When the Semantic Layer SDK times out polling for query results (RetryTimeoutError), the error currently only includes timeout_s — the last known query status is lost. For agent contexts (dbt-mcp, ACA), a timeout with status COMPILED means the query finished SQL compilation and is executing against the data platform, indicating the query is too complex for agent use. Surfacing the status enables downstream consumers to make this distinction.

What

  • Added optional status: Optional[str] = None parameter to RetryTimeoutError.__init__
  • Updated __str__ to include status when present
  • Both sync and async polling clients now pass qr.status.value when raising RetryTimeoutError
  • Bumped version from 0.13.1 to 0.13.2
  • Added unit tests for the error class and polling timeout behavior

Notes

Fully backwards compatible — existing callers that don't pass status get None. Uses str (not QueryStatus enum) to avoid coupling the error module to query models.

Drafted by Claude Opus 4.6 under the direction of @DevonFulcher


Note

Low Risk
Small, backwards-compatible error-reporting change plus tests and a dev dependency pin; main risk is minor behavior change in exception formatting/attributes for callers that introspect errors.

Overview
RetryTimeoutError now accepts an optional status and includes it in its string representation, while remaining backwards compatible when omitted.

Both sync and async GraphQL polling clients now pass the last known qr.status.value when raising RetryTimeoutError, and new unit tests assert the status propagation and formatting. Also adds an unreleased changelog entry and pins ruff to >=0.15 in dev dependencies.

Written by Cursor Bugbot for commit 7a2785f. This will update automatically on new commits. Configure here.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@DevonFulcher DevonFulcher force-pushed the devonfulcher/sl-sdk-retry-timeout-status branch from be6122d to 7a2785f Compare February 19, 2026 19:05
@DevonFulcher DevonFulcher marked this pull request as ready for review February 19, 2026 19:16
@DevonFulcher DevonFulcher requested a review from a team as a code owner February 19, 2026 19:16
@DevonFulcher DevonFulcher merged commit 1b440fa into main Feb 20, 2026
6 checks passed
@DevonFulcher DevonFulcher deleted the devonfulcher/sl-sdk-retry-timeout-status branch February 20, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants