DEV Community

Codzee.io
Codzee.io

Posted on

what if Dismissed an AI Code Review Comment. Then I Checked the Next PR.

I dismissed an AI code review comment.

Nothing unusual there.

What was interesting was what happened in the next pull request.

A few PRs later, a similar pattern appeared in the code. I expected the same review comment.

It wasn't there.

That small behavior points to a bigger question for AI-assisted code review:

What should an AI reviewer do when an engineer disagrees with it?

If the answer is simply “nothing,” the reviewer stays stateless.

If the answer is “learn from the decision,” review behavior can become more aligned with the repository over time.

The annoying part of automated review

AI code review can catch things that are easy to miss.

But there is another failure mode: repetition.

A reviewer finds something that looks questionable according to a general coding guideline.

The developer knows the pattern is intentional.

The comment gets dismissed.

Then another PR comes along.

The same pattern appears.

The reviewer raises the same concern.

The developer dismisses it again.

And again.

At some point, the problem isn't that the reviewer cannot find issues.

The problem is that it hasn't learned which issues this repository doesn't need to discuss repeatedly.

That is where dismissal-learning becomes interesting.

PR #1: The first review

Imagine a repository where a particular implementation pattern is intentional.

An AI reviewer sees it and leaves a comment:

AI reviewer:

Consider changing X to Y for better consistency.
Enter fullscreen mode Exit fullscreen mode

The comment is reasonable in isolation.

But the repository has a reason for using X.

So the engineer dismisses the comment:

Dismissed.

This pattern is intentional in this repository.
Enter fullscreen mode Exit fullscreen mode

Normally, that interaction is over.

The comment disappears from the PR.

But the dismissal contains useful information.

A dismissal is engineering feedback

A dismissal doesn't necessarily mean:

“The reviewer is useless.”

It can mean:

“This recommendation doesn't apply to this codebase.”

That's an important distinction.

Repositories have local conventions that aren't always obvious from the code itself.

Some exist because of:

  • compatibility requirements
  • architectural decisions
  • performance constraints
  • legacy integrations
  • operational considerations
  • team conventions
  • deliberate trade-offs

A generic reviewer doesn't automatically know all of these.

The developer does.

So when a developer dismisses a review comment, that decision can be treated as feedback about the repository.

The interesting part is what happens next.

Turning the dismissal into repository memory

Instead of storing only the conversation, the system can extract the underlying pattern from the interaction.

Conceptually:

Review comment
      ↓
Developer dismissal
      ↓
Underlying pattern identified
      ↓
Repository memory
      ↓
Future reviews use that context
Enter fullscreen mode Exit fullscreen mode

For example:

Repository memory:

"This pattern is accepted/preferred in this repository."
Enter fullscreen mode Exit fullscreen mode

The important word here is repository.

This isn't a global rule saying that the pattern is always correct.

It is context associated with this particular codebase.

That's important because engineering decisions are rarely universal.

A pattern that is discouraged in one repository may be completely intentional in another.

PR #2: The same situation appears again

Now a different pull request arrives.

The code contains a similar pattern.

Without repository memory, the reviewer might produce:

AI reviewer:

Consider changing X to Y for better consistency.
Enter fullscreen mode Exit fullscreen mode

Which leads to another dismissal.

With the previous feedback available as repository context, the reviewer can recognize that this type of comment has already been rejected for this repository.

So the result is:

AI reviewer:

[No comment]
Enter fullscreen mode Exit fullscreen mode

That's the part I find interesting.

The system didn't need another configuration file.

The developer didn't need to write a permanent rule manually.

A previous engineering decision influenced a future review.

Before vs. after

Situation Without dismissal-learning With repository memory
First PR Review comment appears Review comment appears
Developer response Dismisses comment Dismisses comment
Feedback retained Little or no context Pattern becomes repository context
Similar later PR Same comment may return Reviewer can stay quiet
Developer experience Repeated explanation Less repeated feedback

This doesn't mean every similar comment should disappear.

Context still matters.

But it creates the possibility of a reviewer that becomes better aligned with the repository's actual engineering decisions.

This isn't “remembering a conversation”

This distinction is worth making.

When people hear “AI memory,” they often think about conversational memory:

“Remember what I told you yesterday.”

That's not the interesting part here.

The useful unit is the engineering decision.

The system needs to understand something closer to:

Pattern:
    X is used in this repository.

Developer decision:
    This usage is intentional.

Review implication:
    Don't repeatedly flag this pattern in the same context.
Enter fullscreen mode Exit fullscreen mode

That's repository memory.

It turns feedback from an individual review interaction into context that can influence future reviews.

Why this feedback loop matters

Code review isn't just about detecting problems.

It's also about communicating what a team considers important.

Human reviewers naturally build this context over time.

After reviewing hundreds of pull requests, an experienced engineer knows:

  • which patterns are normal
  • which warnings are usually noise
  • which conventions are intentional
  • which architectural decisions shouldn't be revisited every PR

An AI reviewer that doesn't retain any of that context has to rediscover the same information repeatedly.

That creates review fatigue.

A feedback loop changes the model:

Find something
     ↓
Developer responds
     ↓
Learn from the response
     ↓
Apply the context later
     ↓
Produce more relevant feedback
Enter fullscreen mode Exit fullscreen mode

The goal isn't fewer comments for the sake of fewer comments.

It's higher-signal comments.

There are caveats

Dismissal-learning shouldn't turn every dismissal into a permanent rule.

A developer can dismiss something because the comment is wrong.

They can also dismiss it because the context is different in that particular file or PR.

The architecture may change later.

A pattern that was acceptable six months ago might become a technical debt issue today.

So repository memory needs scope and context.

The right behavior isn't:

“This was dismissed once, never mention it again.”

It's closer to:

“Previous engineering feedback says this pattern is acceptable here. Consider that context before raising the same observation again.”

That's a much more useful mental model.

The interesting shift

AI code review is often discussed in terms of how much it can detect.

I think another question deserves equal attention:

How well can it learn what not to say?

A reviewer that finds everything but repeatedly generates low-value comments can still create friction.

A reviewer that incorporates developer feedback can gradually become more aligned with the repository.

That's what makes this behavior interesting.

One comment gets dismissed.

The underlying pattern becomes repository memory.

A similar situation appears later.

The reviewer stays quiet.

Not because the reviewer has learned everything.

Not because repeated comments magically disappear.

But because a real engineering decision from the repository has become part of the context for the next review.

That's what “gets quieter” actually means.

If you want to see this behavior rather than read about it, the most useful test is simple: try it on a repository with an established review convention and watch what happens across two similar PRs.

See the mechanism in action on your own repository.

Top comments (0)