Repository navigation
Description
Is there an existing issue for this?
- I have searched the existing issues. Exact pullrequestreviewoperationerror search returned no match. Closed#646 concerns a review already persisted followed by finding reconciliation; this observation stops after freshness with no publication stage recorded. The underlying provider cause is not assumed to be the same.
Which actions are affected?
Pull Request
Which platforms are affected?
Linux
Description
Bugbot completes the entire exact-head analysis with complete context and zero candidates, then fails with only provider.unavailable/pullrequestreviewoperationerror. The exposed diagnostic does not identify the safe provider operation, status/category or exact recovery boundary. A real transient provider failure may be valid; this report concerns the missing actionable diagnostic and conservative recovery, not a claim that GitHub was definitely unavailable or that a particular permission was rejected.
Consumer vypdev/domus#28, exact source 8d8185d4951f2abdebc5a8b0e4964528a86fcf0a.
Original attempt1: https://github.com/vypdev/domus/actions/runs/41638619409/job/125926081022 . Synthetic Copilot/Review check125927498561 failed with reference 6e89fb47-9536-48c9-b9e7-3a7dba517bf4.
Expected: preserve the failed/incomplete state and existing effects while exposing sanitized stage/operation/status/category if known, and a clear idempotent retry boundary. Completed analysis with zero candidates must not be mistaken for a successful fresh publication.
Actual: the log says only Unable to detect potential problems, then generic provider-unavailable guidance. No failed HTTP method/status, operation identity or finding mutation is exposed. Telemetry has freshness494ms, no publication/projection timing, outcome failed and errorCategory pullrequestreviewoperationerror.
Reproducing the issue
- Inspect the immutable attempt1 run above at2026-11-03T12:49:55.9041750Z and its final error2026-11-03T12:50:01.5171922Z.
- Observe complete source context,39changed files,65diff fragments,10analysis partitions/10completed, candidate0/published0/open0/reopened0/verification-required0/unknown0; historical fixed2/obsolete1 remain separate.
- Observe completed analysis141462ms and freshness494ms followed by the opaque failure. Total elapsed143609ms, prompt698545characters, response2191characters. No partial analysis or omitted context explains this failure.
- Inspect the failed check: error provider.unavailable, retryableYes, instruction Retry when the provider is available, retained persisted state/external effects preserved.
- Suggested upstream regression: inject separately unavailable, denied and malformed provider results at the post-analysis freshness boundary; verify safe diagnostic classification and that no final review success is claimed. Retry must revalidate the same head/context and reconcile retained effects without duplicate publication. These fault-injection tests are proposed, not executed in Domus.
copilot Version
vypdev/copilot@v3, resolved 3e7ceea08e6131360e026937d1c0cc1b120472e0; codex-cli0.166.0; provider codex/model gpt-6-luna/effort smart. No upstream source or consumer Copilot configuration change.
Relevant Log Output
Error in DetectPotentialProblemsUseCase: Unable to detect potential problems.
Telemetry: contextCoverageStatus complete; analysisPartitions10/completed10; candidateFindings0/publishedFindings0; outcome failed; errorCategory pullrequestreviewoperationerror; freshness494ms.
Impact: The provider was temporarily unavailable.
Error code: provider.unavailable
Action: Retry when the provider is available.
Retained state: Existing persisted state and completed external effects were preserved.
Retryable: Yes
Reference:6e89fb47-9536-48c9-b9e7-3a7dba517bf4
Additional context and comments
Independent application CI remains active. Existing review threads are not manually resolved. A single failed-job retry is permitted by the explicit transient/retryable diagnostic only after verifying this attempt terminal and the PR head unchanged; a retry outcome must be recorded separately. No acceptance, coverage, provider/model, credential, timeout or scope limit is relaxed. The separately reported progress scope-clause-limit remains#828 and is not retried as a provider outage. Original raw attempt1 logs are retained before any retry.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTodo
Activity
[-]Bugbot completes all analysis but fails freshness with opaque provider.unavailable diagnostics[/-][+]🐛 - Bugbot completes all analysis but fails freshness with opaque provider.unavailable diagnostics[/+]vypbot commentedon Nov 3, 2026
Hi! I’m @vypbot, the Copilot assistant for this repository.
I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.
Try
/copilot helpto see the available commands, or mention @vypbot with your question.efraespada commentedon Nov 3, 2026
The single permitted failed-job retry recovered without any source/configuration/model/credential change: attempt2/job125928820274, same exact head8d8185d4951f2abdebc5a8b0e4964528a86fcf0a, complete context,10/10analysis partitions, candidate0/published0/open0/reopened0/verification-required0/unknown0, outcome
no-findings. The native job and Copilot/Review check now succeed. Original attempt1 and its generic diagnostic/reference remain preserved separately. This shows the bounded recovery succeeded; it does not establish the cause of the original provider failure or resolve the missing actionable diagnostic upstream.efraespada commentedon Nov 3, 2026
Recurrence on current head58957fc8b9da4ce85f0acbd75793f7351026c47a
Attempt1/run41644902554/job125947581859 again fails with
provider.unavailable, reference4ccef951-132d-48a8-872a-90b22bdf3695, retryableYes. At2026-11-03T13:33:14.3246747Z telemetry records complete context,41files/69diff fragments,10/10analysis partitions, candidate0/published0/open0/reopened0/verification-required0/unknown0, outcome failed and errorCategory pullrequestreviewoperationerror. Unlike the earlier attempt, this trace includes freshness558ms, publication1ms and post-publication-freshness651ms. No safe failed provider operation or HTTP status is exposed; the trace position is not treated as proof of root cause. Original raw attempt1 is retained.The earlier exact-head retry recovered. One bounded failed-job retry for this new head follows the explicit transient/retryable guidance only after checking terminal attempt1 and unchanged PR head; no further automatic retries are authorized by this consumer procedure. Independent amd64 application CI already passes36container tests and all32actual-image browser journeys with no surviving containers. The separate progress scope failure is still#828; it is not retried as a provider outage.