Security advisory (full detail): https://github.com/JSONbored/loopover/security/advisories/GHSA-2x87-3mr7-9r39
LOOPOVER_REVIEW_REPUTATION=true is live on edge-nl-01. When shouldSkipAiForReputation fires (src/review/reputation-wire.ts ~121-132: signal low, or burst = submissions>=8 && merged<1 at ~47-48), aiReviewWillRun goes false (src/queue/processors.ts ~9925-9938) and AI review is skipped — with no compensating hold.
Contrast the contributor-controlled skip, which fails CLOSED via maybeAddRequiredAutoReviewSkipHold (~7308, called only at ~9897). The reputation skip sets no autoReviewSkipReason, so no hold branch fires. The PR proceeds on deterministic checks only (CI/coverage/guardrail/secret/linked-issue) — none of which read code semantics — and can auto-merge with zero AI defect detection.
Live exposure verified 2026-07-26 — three submitters are in the burst state right now, so any PR they open skips AI review: dale053 (loopover, 21 subs / 0 merged), Lang-bt (metagraphed, 12/0), wondercreatemaster (metagraphed, 8/0). Twelve more sit at submissions>=6 AND merged<=1.
Partial mitigation: the isMachinePacedCadence leg (submitter-reputation.ts ~104) is inert — it reads review_targets, frozen since the 2026-06-22 cutover (3,233 rows, newest 2026-06-22, zero in 24h). The burst leg reads submitter_stats (201 live rows) and IS active.
Fix
- In
block mode a reputation skip must fail CLOSED — add the ai_review_inconclusive hold exactly as the contributor-controlled skip does, or route to a cheaper mandatory reviewer.
- Restore a live writer for
review_targets (or repoint the cadence query at the live ledger) — the feature is currently running half-blind.
Acceptance
- A burst-flagged author's PR either gets a review or a named human hold — never a silent deterministic-only auto-merge.
Security advisory (full detail): https://github.com/JSONbored/loopover/security/advisories/GHSA-2x87-3mr7-9r39
LOOPOVER_REVIEW_REPUTATION=trueis live on edge-nl-01. WhenshouldSkipAiForReputationfires (src/review/reputation-wire.ts~121-132: signallow, or burst =submissions>=8 && merged<1at ~47-48),aiReviewWillRungoes false (src/queue/processors.ts~9925-9938) and AI review is skipped — with no compensating hold.Contrast the contributor-controlled skip, which fails CLOSED via
maybeAddRequiredAutoReviewSkipHold(~7308, called only at ~9897). The reputation skip sets noautoReviewSkipReason, so no hold branch fires. The PR proceeds on deterministic checks only (CI/coverage/guardrail/secret/linked-issue) — none of which read code semantics — and can auto-merge with zero AI defect detection.Live exposure verified 2026-07-26 — three submitters are in the burst state right now, so any PR they open skips AI review:
dale053(loopover, 21 subs / 0 merged),Lang-bt(metagraphed, 12/0),wondercreatemaster(metagraphed, 8/0). Twelve more sit atsubmissions>=6 AND merged<=1.Partial mitigation: the
isMachinePacedCadenceleg (submitter-reputation.ts~104) is inert — it readsreview_targets, frozen since the 2026-06-22 cutover (3,233 rows, newest 2026-06-22, zero in 24h). The burst leg readssubmitter_stats(201 live rows) and IS active.Fix
blockmode a reputation skip must fail CLOSED — add theai_review_inconclusivehold exactly as the contributor-controlled skip does, or route to a cheaper mandatory reviewer.review_targets(or repoint the cadence query at the live ledger) — the feature is currently running half-blind.Acceptance