Summary
On unhappy paths, POST .../queries/{id}/verify may return transient 429/5xx. The SDK retries with fixed sleeps 2s + 5s + 10s = 17s total before surfacing server failure as ERROR.
Current behavior (SDK)
src/provably/handoff/evaluator.py:
_VERIFY_RETRY_BACKOFF = (2.0, 5.0, 10.0)
- Transient statuses include
429, 500, 502, 503, 504
Impact
- Correct for resilience, but poor UX when the service is degraded (long tail to ERROR).
- Developer feedback: consider optimizing unhappy/healing paths.
Acceptance criteria
References
src/provably/handoff/evaluator.py — _verify_query_record, _VERIFY_RETRY_BACKOFF
Summary
On unhappy paths,
POST .../queries/{id}/verifymay return transient429/5xx. The SDK retries with fixed sleeps 2s + 5s + 10s = 17s total before surfacing server failure as ERROR.Current behavior (SDK)
src/provably/handoff/evaluator.py:_VERIFY_RETRY_BACKOFF = (2.0, 5.0, 10.0)429,500,502,503,504Impact
Acceptance criteria
References
src/provably/handoff/evaluator.py—_verify_query_record,_VERIFY_RETRY_BACKOFF