Skip to content

fix(ci): cora review resilience — retry, timeout 600s, graceful SARIF - #174

Merged
ajianaz merged 1 commit into
developfrom
fix/cora-review-resilience
Jun 6, 2026
Merged

ajianaz merged 1 commit into
developfrom
fix/cora-review-resilience

Conversation

@ajianaz

@ajianaz ajianaz commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator
  • 3x retry with 20/40/60s exponential backoff
  • Fallback SARIF on all-retries-exhausted (no hard CI fail)
  • CI config now includes llm.timeout: 600
  • SARIF graceful error — review.rs returns warning SARIF on LLM error instead of crashing
  • Default timeout: 120s → 600s (types.rs + schema.rs)

Root Cause

Cora review always failed on large PRs because:

  1. LLM API timeout was 120s (too short for big diffs)
  2. Single attempt — no retry on transient failures
  3. On LLM error → crash → empty SARIF → CI hard-fail

Fix

Layer Before After
Retry 1 attempt 3x with backoff
Timeout 120s default 600s default
LLM Error crash (exit 1, 0-byte SARIF) warning SARIF (exit 0)
CI fallback hard fail fallback SARIF with warning

Testing

  • 353 tests passing (331 + 16 + 6)
  • Clippy clean
  • cargo fmt clean

… fallback

- action.yml: 3x retry with 20/40/60s backoff
- action.yml: fallback SARIF on all-retries-exhausted (no hard fail)
- action.yml: CI config now includes llm.timeout: 600
- review.rs: SARIF format returns warning on LLM error (exit 0)
- Default timeout: 120s to 600s (types.rs + schema.rs)
- Updated test assertions for new default
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

🔍 Cora AI Code Review

⚠️ Review could not complete. Cora produced an empty result. Check the workflow logs for errors.


Review powered by cora-cli · BYOK · MIT

@ajianaz
ajianaz merged commit 7909dfc into develop Jun 6, 2026
10 of 11 checks passed
@ajianaz
ajianaz deleted the fix/cora-review-resilience branch June 6, 2026 01:50
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.

1 participant