internal/ai/llm/retry.go Retrying.Generate returns the context error when the retry wait is interrupted by cancellation/deadline, not the earlier provider error (a 429 followed by cancellation surfaces the context error; errors.Is against context.Canceled/DeadlineExceeded). A test covers cancellation during backoff. Go quality floor passes. Fix incorporated into dev and release/2026-10-05.
Evidence
internal/ai/llm/retry.go returns the context error when the backoff wait is interrupted; test added for cancellation during backoff after a 429.
gofmt/vet/go test -race/build pass; no new dependency.
Maestro task: 79447ef7-e55c-4641-b351-37bc22ffa760 (release correction, Feature 08).
## Done-condition
internal/ai/llm/retry.go Retrying.Generate returns the context error when the retry wait is interrupted by cancellation/deadline, not the earlier provider error (a 429 followed by cancellation surfaces the context error; errors.Is against context.Canceled/DeadlineExceeded). A test covers cancellation during backoff. Go quality floor passes. Fix incorporated into dev and release/2026-10-05.
## Evidence
- internal/ai/llm/retry.go returns the context error when the backoff wait is interrupted; test added for cancellation during backoff after a 429.
- gofmt/vet/go test -race/build pass; no new dependency.
Retrying.Generate returned the earlier provider error (e.g. a 429) when
cancellation or the deadline interrupted the backoff wait, so callers and
the ai_runs record saw rate limiting instead of cancellation. Return the
context error from the interrupted wait instead. Retry counts, backoff and
other error semantics are unchanged.
Maestro task: 79447ef7-e55c-4641-b351-37bc22ffa760
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Retrying.Generate returned the earlier provider error (e.g. a 429) when
cancellation or the deadline interrupted the backoff wait, so callers and
the ai_runs record saw rate limiting instead of cancellation. Return the
context error from the interrupted wait instead. Retry counts, backoff and
other error semantics are unchanged.
Maestro task: 79447ef7-e55c-4641-b351-37bc22ffa760
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Maestro task: 79447ef7-e55c-4641-b351-37bc22ffa760 (release correction, Feature 08).
Done-condition
internal/ai/llm/retry.go Retrying.Generate returns the context error when the retry wait is interrupted by cancellation/deadline, not the earlier provider error (a 429 followed by cancellation surfaces the context error; errors.Is against context.Canceled/DeadlineExceeded). A test covers cancellation during backoff. Go quality floor passes. Fix incorporated into dev and release/2026-10-05.
Evidence
Independent Codex gpt-6-sol review: APPROVED for this exact commit.