feat(review): evidence-weighted reviewer routing, stage 1 — the report-only shadow#8301
Conversation
…t-only shadow (#8229) After each ok block-mode dual review, compute what routing WOULD have preferred for this repo from the live per-provider track records (#8228 over the stage-0 reviewer_vote rows) and record it — one audit event (reviewer_routing_shadow) plus a maintainer-recap section — changing NOTHING about the review: - computeWouldHaveRouted: repo-scoped rows only, ROUTING_MIN_DECIDED (10, the AUTOTUNE_MIN_DECIDED never-on-noise bar at reviewer grain) per (provider, repo), null on ties/lone reviewers/any missing density — an absent record MEANS no measurable preference, keeping stage 2's eventual evidence read undiluted - loadLiveProviderTrackRecords reads ONLY the live vote event type (the replay-derived campaign data never enters — the #8278 segregation rule from the consuming side); fail-safe empty on any store error - orchestration hook is best-effort end to end: zero added AI spend, a thrown read or a rejecting/throwing audit write reduces to no record - the weekly recap gains a routing-shadow section (grouped per repo + preferred provider with the mean precision edge, explicit empty line, report-only footer), read back off the audit trail at format time and fail-safe to an absent section Stage 2 (actual weighting behind a default-off flag with hard floors) ships only against this stage's recorded evidence, per the issue.
|
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 #8301 +/- ##
==========================================
- Coverage 92.50% 91.96% -0.54%
==========================================
Files 791 793 +2
Lines 79333 79403 +70
Branches 23960 23980 +20
==========================================
- Hits 73386 73023 -363
- Misses 4807 5306 +499
+ Partials 1140 1074 -66
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Warning ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-24 15:00:34 UTC
Review summary Nits — 1 non-blocking
Concerns raised — review before merging
📋 Copy for AI agents — paste into your coding agentDecision drivers
Context & advisory signals — never blocks the verdict
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.
|
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
loopover-ui | e9205b3 | Jul 24 2026, 03:41 PM |
Summary
Advances #8229 (stage 1 of the issue's two-stage contract; stage 2 — actual weighting behind a default-off flag with hard floors — ships only against this stage's recorded evidence, per the issue).
After each ok block-mode dual review, the orchestration computes what evidence-weighted routing WOULD have preferred for this repo and records it, changing nothing about the review:
computeWouldHaveRouted(pure): repo-scoped track-record rows only,ROUTING_MIN_DECIDED = 10per (provider, repo) — the AUTOTUNE_MIN_DECIDED never-on-noise bar at reviewer grain, satisfying the issue's floors clause — and null on ties, lone reviewers, or any missing density. An absent record MEANS "no measurable preference", so stage 2's eventual evidence read is never diluted by no-signal rows.loadLiveProviderTrackRecords: stage-0reviewer_voterows joined to the labeled consensus corpus viacomputeProviderTrackRecords(calibration: per-provider reviewer track records from the consensus corpus #8228, zero new math). Reads only the live vote event type — replay-derived campaign data never enters (the calibration: seed provider track records via per-provider counterfactual replay campaigns #8278 segregation rule enforced from the consuming side). Fail-safe empty on any store error.Validation
npm run test:cifully green — TEST_CI_EXIT=0, zero vitest failures, zero node:test failures,npm audit --audit-level=moderateclean.