AI code review
without noise.

Accurate findings. No duplicates. No nitpicks.
For teams shipping AI-assisted code at full speed.

github.com/acme/api · pull/4821
Open

fix: cleanup expired sessions #4821

+34−123 files
services/session.ts+8 −3
117async function cleanupExpired() {
118 const now = Date.now();
119 const stale = sessions.filter(s => s.expiresAt < now);
119 await Promise.all(sessions.map(async (s) => {
120 if (s.expiresAt < now) {
121 db.delete(s.id);
122 }
123 }));
120124}
122126// Called from cron every 5 min
CCcodecomments·botjust now
FOR

Built for teams who've muted their AI reviewer, turned off its Slack notifications, or stopped reading the comments entirely.

PRODUCT

Review the code. Not the person.

Most AI reviewers generate paragraphs. This one generates the comments you'd have written yourself — labeled, deduplicated, and nothing more.

SEVERITY
CRITICAL
Missing await on db.deleteservices/session.ts:121db.delete() returns a Promise but isn't awaited. cleanupExpired may resolve before deletions complete.
Blocks merge
WARNING
Unhandled rejection in batchservices/session.ts:118A single db.delete() failure rejects the whole Promise.all. Use Promise.allSettled so one stale row doesn't abort cleanup.
INFO
Cron frequency may driftjobs/cron.ts:44node-cron uses wall-clock scheduling. Long-running intervals may drift under system time changes.
Observation only
SUGGESTION
Extract isExpired helperservices/session.ts:121Same s.expiresAt < now comparison appears in 3 files. Optional refactor.
Opt-in

Four labels. No guessing.

Every finding gets one label. Every label has one action. No severity matrices, no custom rule files, no config to tune.

SIGNAL
5 candidates2 posted · 3 skipped
01Missing await on db.deletePost
04Magic number 3600_000Post

Real findings. No noise.

CodeComments optimizes for the bugs that matter, so you ship clean code.

PATTERN

Last week

CCcodecommentsbot
WARNINGMagic number 3600_000
services/session.ts:121
tue 3:14pm · team dismissed this finding · 3rd occurrence

This week · learned

CCcodecommentsbot
WARNINGMagic number 3600_000
services/session.ts:121
Below threshold — learned from repeated dismissals

Learns your patterns.

CodeComments reads your PR history — what your team accepts, dismisses, and resolves — and adapts its threshold per repo. Sharper comments over time, not more of them.

PROOF

Same PR. Less noise.

62% of raw findings never make it to your PR.

Typical AI reviewer

CodeComments

20+ comments per PR
3–5 findings, on average
Same issue flagged in every file it touches
One comment per root cause
Critical bugs stacked next to style nits
Ranked by severity, critical first
You do the triage
Triaged before it posts
Most tools ship every finding. We filter first.
INSTALL

Use it your way.

Primary reviewer or added to your existing workflow. No migration. No new process.

GitHubOne-click install. Public repos free, private $30/mo.Install on GitHub
CLIReview local diffs from your terminal. Same engine as the app.Install CLI
GitLabComing soonSelf-managed and cloud.
BitbucketComing soonCloud and Data Center.
PRICING

Priced per seat. Not per comment.

No per-PR fees. No surprise overages. Cancel anytime.

See full pricing
PUBLIC REPOS
Free
10 reviews per repo / month
PRIVATE / TEAM
$24
per developer / mo · billed annually · or $30/mo
ENTERPRISE
Custom
SSO, audit log, self-hosted

Ship cleaner PRs.
Starting on your next commit.

Install in two minutes. Free for public repos. Cancel anytime on private.