fix(selfhost): preserve legacy dual-review behavior for multi-provider AI_PROVIDER - #3625
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
gittensory-ui | d1879a7 | Commit Preview URL Branch Preview URL |
Jul 06 2026, 12:48 AM |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-06 00:52:16 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 4 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
🟩 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.
|
4da23eb to
d1879a7
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3625 +/- ##
=======================================
Coverage 93.29% 93.29%
=======================================
Files 314 314
Lines 32057 32058 +1
Branches 11748 11749 +1
=======================================
+ Hits 29906 29907 +1
Misses 1517 1517
Partials 634 634
🚀 New features to boost your workflow:
|
…ence doc (#3676) firstReference embedded exact file:line, so any unrelated line shift in a scanned source file made the generated doc go stale -- two concurrent PRs touching the same file produced conflicting regenerations and collided on rebase (3+ past reactive regeneration commits, most recently PR #3625). Drop the line number; the file path alone is stable across unrelated edits and only changes when a read is actually added, removed, or relocated.
Motivation
AI_PROVIDERlists into a single reviewer plus fallback unlessAI_DUAL_REVIEWwas explicitly set, silently downgrading deployments that relied on an explicit multi-provider dual-review plan.AI_COMBINE/AI_ON_MERGEsemantics were intended to preserve two independent reviewers for legacy multi-provider configs and must not be ignored.Description
AI_COMBINEorAI_ON_MERGEby treating those env values as an indicator that a multi-providerAI_PROVIDERlist intends two independent reviewers, while leaving plain comma-separated lists without those flags as single-reviewer fallback chains (change inresolveAiReviewerPlaninsrc/selfhost/ai.ts).AI_COMBINE/AI_ON_MERGEconfigs resolve to two independent reviewers (update intest/unit/selfhost-ai.test.ts).apps/gittensory-ui/src/lib/selfhost-env-reference.ts).Testing
npm run selfhost:env-reference:checkand it succeeded updating/validating the generated env reference file.npx vitest run test/unit/selfhost-ai.test.ts -t "resolveProviderNames|resolveAiReviewerPlan"andnpx vitest run test/unit/ai-review.test.ts -t "self-host dual-AI plan", and the focused tests passed.npm run test:ci; the run progressed to coverage but could not be completed in this environment (long-running suites / coverage aggregation caused the invocation to be interrupted), andnpm audit --audit-level=moderatereturned a registry error (403) when attempted here.Codex Task