feat(selfhost): allow per-repo AI CLI timeout overrides in review.ai_model (#8364)#8458
Conversation
…model (JSONbored#8364) Mirror the existing model/effort config-as-code path for the four CLI timeout knobs so a shared self-host instance is not stuck on one global env-var budget per repo. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-24 15:48:44 UTC
Review summary Nits — 3 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8458 +/- ##
==========================================
+ Coverage 92.50% 93.68% +1.18%
==========================================
Files 791 694 -97
Lines 79328 56662 -22666
Branches 23959 20116 -3843
==========================================
- Hits 73379 53083 -20296
+ Misses 4810 2620 -2190
+ Partials 1139 959 -180
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Summary
.loopover.ymlfields underreview.ai_model:claude_timeout_ms,codex_timeout_ms,claude_first_output_timeout_ms,codex_first_output_timeout_ms(same section asclaude_model/claude_effort).AiRunOptions/runLoopOverAiReview/ the CLI providers;resolve*TimeoutMsprefer a positive per-repo override, else keep today’s env-var/effort resolution.ai-review-input:v6so a timeout-only manifest change invalidates cached reviews.Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #123) — a linked open issue is required for every contributor PR.Validation
git diff --checknpm run actionlintnpm run typecheckselfhost-aitimeout suites,focus-manifestreview.ai_model,ai-reviewoverride forwarding,ai-review-cache-inputnpm run test:coveragenpm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateIf any required check was skipped, explain why:
config-lint.tsonly validates top-level manifest keys (reviewis already recognized). Nestedreview.ai_model.*fields are recognized the same wayclaude_modelalready is — by parsing infocus-manifest.ts, not a nested allowlist in config-lint. Untouched CI surfaces left to CI.Safety
UI Evidencesection below with JPG/JPEG or PNG screenshots arranged as organized, captioned, clickable thumbnails. SVG screenshots are not used as review evidence. Review-only screenshots or recordings are not committed to the repository.