fix(selfhost): make AI-provider failures loud + attribute the actual reviewer + boot CLI preflight#1575
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1575 +/- ##
=======================================
Coverage 95.43% 95.43%
=======================================
Files 202 202
Lines 21759 21763 +4
Branches 7862 7863 +1
=======================================
+ Hits 20765 20769 +4
Misses 416 416
Partials 578 578
🚀 New features to boost your workflow:
|
…reviewer + boot CLI preflight #1566. The self-host engine silently produced ZERO AI output for 202 reviews when the claude CLI was absent: spawn('claude') ENOENT'd, runWorkersOpinion's bare catch swallowed it, and record() logged the Workers-AI model ids — so the outage was invisible (no Review-summary/blockers/nits on any comment). Now: (1) runWorkersOpinion logs every failed provider attempt; (2) record() attributes the actual configured reviewer (AI_PROVIDER:AI_MODEL) not BEST_REVIEW_MODELS; (3) a boot preflight shouts selfhost_ai_cli_missing when AI_PROVIDER=claude-code|codex but the CLI is not on PATH.
02e563e to
3a5a3cc
Compare
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review — held for maintainer review
⏸️ Held for maintainer review Review summary Nits (5)
Nits — 2 non-blocking
Review context
Contributor next steps
Signal definitions
Review detailsGenerated from public PR metadata and the diff. Advisory only; deterministic signals remain authoritative. This PR fixes a three-part silent outage on the self-host path: the bare `catch {}` in `runWorkersOpinion` swallowed every spawn ENOENT so provider failures were invisible, `record()` always logged Workers-AI model ids regardless of the configured provider, and there was no signal at boot that a CLI binary was missing. All three are corrected — the catch now logs via `errorMessage`, `reviewerModelLabel` returns `AI_PROVIDER:AI_MODEL` when set, and the server.ts preflight checks PATH at startup. The new test validates the degraded-but-attributed path end-to-end and is correctly structured. Nits (5)
🟩 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 Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
#1566. The self-host engine silently produced zero AI output for 202 reviews when the claude CLI was absent:
spawn('claude')ENOENT'd,runWorkersOpinion's bare catch swallowed it, andrecord()logged the Workers-AI model ids — so the outage was invisible (no Review-summary/blockers/nits). (1) log every failed provider attempt; (2) attribute the actual configured reviewer (AI_PROVIDER:AI_MODEL); (3) boot preflightselfhost_ai_cli_missingwhen a CLI provider's binary isn't on PATH. The CLI-install itself is fixed in the deploy (composeINSTALL_AI_CLIS=true); this makes a recurrence impossible to miss.