feat(review): skip AI review, gate evaluation, and publish for known automation-bot PRs - #4659
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
gittensory-ui | ecfa05f | Commit Preview URL Branch Preview URL |
Jul 11 2026, 12:22 AM |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4659 +/- ##
==========================================
- Coverage 94.22% 94.22% -0.01%
==========================================
Files 441 442 +1
Lines 38741 38757 +16
Branches 14117 14126 +9
==========================================
+ Hits 36504 36518 +14
Misses 1577 1577
- Partials 660 662 +2
🚀 New features to boost your workflow:
|
|
Caution 🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥 🛑 Gittensory review result - fixes requiredReview updated: 2026-07-11 00:26:42 UTC
🛑 Suggested Action - Manual Review
Review summary Blockers
Nits — 5 non-blocking
Why this is blocked
CI checks failing
Review context
Contributor next steps
Signal definitions
Visual preview
Click any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. 🟩 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.
|
79febef to
3474c63
Compare
3474c63 to
fa7f33c
Compare
…automation-bot PRs Waste elimination for release-please's github-actions[bot], Renovate, and Dependabot: a PR/event genuinely triggered by one of these never needs AI spend, gate evaluation, or a public-surface publish. Gated on the live webhook sender (not just the stored PR author) so a human pushing to an existing bot PR's branch still gets full review of their own commits. Default-on globally, with an inherit/off/enabled per-repo override (repository_settings.skip_automation_bot_authors, mirrors moderation_gate_mode's shape).
fa7f33c to
ecfa05f
Compare
…ness docs check Same rationale as the existing agentGlobalFreezeOverride exclusion: this field is deliberately DB-only (global env default + per-repo override), never wired into .gittensory.yml parsing, so it correctly has no yml token to check against.
…es (#4814) * test(unit): split queue.test.ts and backfill.test.ts into smaller files queue.test.ts (33,461 lines / 810 tests) and backfill.test.ts (6,874 lines / 236 tests) each ran as one atomic unit under a single vitest worker -- queue.test.ts alone accounted for ~282s (roughly half the wall-clock) of the full coverage run's ~565s duration, since vitest schedules whole test files to workers and can't parallelize within one file. Split each into several files along safe, verified boundaries (no shared mutable state crosses a file boundary; hoisted helper functions used across sections were promoted into each file's shared header). Test count and pass/fail results are identical before and after (810 and 236 tests respectively, all passing) -- verified via `vitest run` on the full old-vs-new file sets. Also fixes two stale comments in src/queue/processors.ts that named the old monolithic queue.test.ts file for a test that moved. * fixup: port #4757's e2e-test-gen changes into split queue-5.test.ts Rebasing onto main picked up #4757 (feat(review): decouple e2e-test-gen auto-trigger and widen checkbox auth), which touched the monolithic queue.test.ts before it was split. That content now lives in queue-5.test.ts, so port the same test changes there: the new autoTrigger opt-in on seedAutoTriggerPr, its three new/updated tests, and the [BETA] badge text update. Verified against main's actual source change (src/queue/processors.ts already carries the [BETA] label) and a full run of all 6 split queue files: 813 tests passing (810 + 3 new). * fixup: port #4732, #4659, #4816 test changes into split queue files * fixup: port #4732 and #4816 test changes into split queue files * fixup: port latest main's queue.test.ts changes into split queue-4.test.ts



Summary
github-actions[bot], Renovate, and Dependabot PRs currently still pay full AI-review + gate-evaluation cost even though their public surface is already suppressed elsewhere — this closes that gap by skipping the whole webhook pass (and every re-entry path: scheduled sweep, CI-completion re-review, linked-issue-change re-review) as soon as the PR is confirmed automation-bot-authored.payload.sender, GitHub-attested, non-spoofable) to itself be one of the three protected bot logins withtype: "Bot"— not just the PR's stored author — so a contributor who gains push access to an existing bot PR's branch still gets full review of their own commits (synchronizecan't ride the bot's original authorship to dodge review). Re-entry paths (no live webhook actor available) use only the immutable stored author, which was already verified against the live actor at the PR's originalopenedevent.GITTENSORY_SKIP_AUTOMATION_BOT_PRS), with a per-repoinherit/off/enabledoverride (repository_settings.skip_automation_bot_authors, mirrorsmoderation_gate_mode's shape) for repos that want it forced on or off regardless of the global default.Test plan
npm run typechecknpm run test:ci(full unsharded gate: coverage, engine/driver parity, workers, mcp/miner pack, openapi/settings-parity, docs/manifest drift, ui lint/typecheck/test/build)npm audit --audit-level=moderatetest/unit/automation-bot-skip.test.ts) — pin the exploit-resistance guarantee (human sender on an existing bot PR is never skipped) plus every inherit/off/enabled combinationtest/unit/repository-settings-skip-automation-bot-authors.test.ts)test/unit/queue.test.ts): genuine bot skip, exploit-attempt non-skip, per-repo off/enabled overrides, sweep re-entry skip