Repository navigation
release: v0.1.7 - #103
release: v0.1.7#103
Conversation
…_ttl) (#98 #99 #101 #100) - Add LlmSection to CoraFile with temperature, max_tokens, timeout, cache_ttl - Add temperature/max_tokens/timeout/cache_ttl fields to Config struct - Add same fields to LLMConfig for LLM call wiring - Wire config values through build_llm_config() - Enhanced error messages for malformed YAML files (#78) - Default temperature is 0.0 for deterministic output
…101) - Create shared reqwest::Client via LazyLock with 120s timeout + connection pooling - Replace per-request reqwest::Client::new() with shared client - Wire config.temperature and config.max_tokens into both chat_completion and chat_completion_stream (replacing hardcoded 0.2 and 4096)
- Cache key = SHA-256 of diff content - Cache stored in ~/.cache/cora/reviews/ as JSON files - TTL: 24h default, configurable via llm.cache_ttl (in minutes) - Functions: get_cached_review(), save_cached_review() - Cache entry includes timestamp for TTL expiry - Expired cache files are automatically cleaned up on miss
- review_diff_inner checks cache before calling LLM (if use_cache=true) - Saves response to cache on successful review - Add review_diff_with_cache() public API - Add no_cache field to ReviewOptions - Add --no-cache CLI flag to cora review command - execute_review passes !opts.no_cache to use_cache
- Add validate_ref() function that rejects refs with shell metacharacters - Reject path traversal sequences (../etc/passwd) while allowing valid git range syntax (HEAD~3..HEAD, main...develop) - Apply validation in get_branch_diff() and get_commit_diff()
- Add no_cache field to ReviewOpts struct - Wire through Command::Review destructuring - Pass to review::ReviewOptions construction
Cache now stores the fully filtered response (after file path validation and ignore rules), not the raw LLM output. This ensures cache hits return identical results to fresh reviews.
- Move timeout from Client level to per-request .timeout() on RequestBuilder - Users can now configure llm.timeout and it actually works - Remove misleading dead code (shared_client timeout_secs param) - Cache key now includes model + temperature (config changes invalidate cache) - Add test: different model/temperature produces different cache key - Add test: cache key is deterministic Addresses cora review findings on v0.1.7 diff: - MAJOR: shared client ignores configurable timeout → fixed with per-request timeout - MAJOR: cache key only hashes diff → fixed by including model + temperature
- curl -sfL (fail on HTTP errors, silent progress) - 3 retries with 5s delay on failure - python3 .get() instead of direct key access (no KeyError) - Fallback to v0.1.6 with ::warning:: if all retries fail - Fixed in both cora-review and cora-review-simple actions
|
Warning Review limit reached
More reviews will be available in 56 minutes and 8 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (15)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 Cora AI Code Review✅ No issues found. Code looks good! Review powered by cora-cli · BYOK · MIT |
v0.1.7 Release
Focus: Deterministic Reviews + Reliability
Root issue: #97 — same diff produces different issues on every run.
Added
Fixed
Stats