GitHub Copilot Completes a Real Code Review (Claude Sonnet 4.5)

One of the more interesting experiments I recently ran was asking GitHub Copilot to perform a full code review on a .NET application that it had also helped rewrite.

The original project was written in 2013. The application still worked, but the codebase had accumulated a lot of technical debt over the years.

Rather than trying to gradually refactor it, I decided to do a complete rewrite with Copilot’s help using modern conventions in the .NET ecosystem.

Once the rewrite was finished, I wanted to answer a simple question:

How useful is an AI-generated code review on a real-world project?

So I asked Copilot to review:

  • The original legacy codebase
  • The new rewritten solution

The results were interesting.

Watch Full Video

Starting With a Simple AI Code Review

The easiest way to run an AI code review is something like this:

Perform a code review on this project.

Copilot will usually return a fairly useful response that includes things like:

  • Naming issues
  • Readability improvements
  • Basic design observations
  • Possible refactoring opportunities

But there is a problem with this approach.

The review tends to focus mostly on surface-level code quality.

In my legacy project, the biggest issues weren’t small code smells. The real problems were architectural.

For example:

  • Many classes were static
  • Several classes simply passed calls directly to the data access layer
  • Domain logic and database logic were mixed together
  • The solution had no automated tests

The initial open-ended review mentioned some issues, but it completely missed the severity of the architectural problems.

The Other Problem: AI Doesn’t Know Your Standards

Another issue with AI reviews is that the model does not know your team conventions.

Every system has different priorities.

Some systems are mostly CRUD applications where fast queries are the most important factor.

Other systems might be financial or analytical platforms where things like:

  • deterministic calculations
  • validation rules
  • extensive unit testing

are critical.

Without guidance, Copilot evaluates code using generic best practices, not the standards that actually matter for your project.

AI Reviews Also Tend to Be Polite

Another thing I noticed is that AI-generated reviews tend to be very diplomatic.

They rarely say something like:

This architecture is fundamentally broken.

Instead they produce much softer language.

In fact, the first open-ended review Copilot generated described the legacy codebase as:

“A well-structured lottery simulation system with clear domain modeling and separation of concerns.”

That assessment was far more positive than reality.

Giving AI a Code Review Scorecard

To get a more realistic review, I gave Copilot a structured review scorecard.

Instead of asking for a general opinion, the AI had to evaluate the project across several weighted categories.

For example:

Category Weight
Architecture High
Testing 20%
Programming practices 15%
Maintainability Medium

Interestingly, in this scoring model writing code itself only accounts for about 15% of the total score.

That reflects something many experienced developers already know:

Software quality is determined far more by architecture and testing than by individual lines of code.

The Result: Reviewing the Legacy Code

Once Copilot evaluated the legacy project using the scorecard, the results were dramatically different.

The system scored:

15 / 100

The review highlighted several major issues:

  • No clear architectural structure
  • Tight coupling between components
  • No automated tests
  • Poor separation of responsibilities

The final recommendation from the AI was very direct:

Do not attempt to fix this system incrementally.

Instead:

  • Treat the codebase as reference material
  • Perform a full rewrite
  • Avoid investing time into patching severe technical debt

This was the type of honest assessment that the simple open-ended review failed to produce.

Reviewing the Rewritten Version

After several days of work — with Copilot helping with much of the code — I ran the same structured review on the new version.

The rewritten solution followed a structure that most developers familiar with the .NET ecosystem would recognize:

  • clear project separation
  • cleaner domain organization
  • proper data access layers
  • improved maintainability

The application itself is a simple lottery simulation tool that can generate numbers based on historical results and simulate outcomes.

And like most lottery simulations, it demonstrates one consistent result:

Even when simulated millions of times, the expected outcome is still a loss.

An Interesting AI Behavior

When I ran the review on the new codebase, Copilot generated a detailed report but did not include the final score.

I had to prompt it again to output the result using the same scorecard format.

This highlights something important about working with AI systems.

AI responses are not fully deterministic.

Even when using the same prompts and templates, the output may vary slightly because the model is generating responses rather than executing fixed instructions.

If the responses were identical every time, it would behave more like a script than an AI model.

Key Takeaways

Using AI for code reviews can be extremely useful, but it works best when used correctly.

1. AI Needs Structure

Without a structured review framework, AI reviews will stay fairly shallow.

Providing guidelines dramatically improves the analysis.

2. AI Defaults to Being Polite

If you want honest feedback, you need to force the AI to follow strict evaluation criteria.

Otherwise the review may sound overly positive.

3. AI Is Not Deterministic

Even with identical prompts, AI responses may vary.

This is normal behavior for generative AI systems.

4. AI Works Best as an Engineering Assistant

AI tools can greatly accelerate tasks like:

  • code reviews
  • refactoring analysis
  • technical debt assessment

But they still work best when combined with human engineering judgment.

Final Thoughts

Using Copilot to both rewrite and review a codebase turned out to be a fascinating experiment.

The biggest lesson was simple:

AI becomes much more powerful when you give it structure.

A simple prompt produces interesting feedback.

A structured framework produces actionable engineering insight.

📚 Watch the Full Series

Episode 1: GitHub Copilot AI Code Review - Can AI Understand Legacy .NET Code?
https://youtu.be/P26t5EVz70U

Episode 2: Creating .NET Projects and Solution Structure
https://youtu.be/Vf0yULOHY3I

Episode 3: Legacy Code Rewrite - Random Number Generator
https://youtu.be/6DuaW9VjQa8

Episode 4: Working Without Agent Skills in Visual Studio 2026
https://youtu.be/dznUGMNhqSU

Episode 5: Vibe Coding Razor Pages
https://youtu.be/sQdByQML_w8

➡️ Episode 6: Code Review (this article)
https://youtu.be/omDvFGu8Vtc

Detecting When Smart Money Stops Being Smart

Following a profitable wallet is easy. Knowing when to unfollow it is where the money is.

I learned this the hard way. Not in crypto, but in forex. Years ago I built trading systems that scraped signals from profitable traders and mirrored their positions. It worked until it didn’t. The problem was never finding good traders to follow. The problem was staying too long after they stopped performing.

The same pattern repeats in on-chain copy trading. Someone finds a wallet with a 70% win rate, follows every move, and six weeks later wonders why they’re bleeding. The wallet didn’t get hacked. The market shifted and the strategy stopped working.

Nobody talks about this part.

The decay problem

Every trading strategy has a shelf life. A wallet that’s profitable today is running a strategy tuned to current market conditions. When conditions change, the strategy breaks. Sometimes gradually, sometimes overnight.

In forex I watched this happen in real time. A signal provider would post a 40% return over three months. Followers would pile in during month four. By month six the drawdown had wiped most of the gains. The provider’s edge was gone but the followers didn’t know because they were looking at cumulative PnL, not recent performance.

On-chain it’s the same dynamic but harder to detect because the data is messier. You’re not looking at clean trade logs. You’re parsing token swaps, liquidity events, and contract interactions, then trying to figure out if the pattern still holds.

What to actually measure

When I built a detection system for this, I focused on three metrics that signal regime change:

Win rate over a rolling window. Not all-time. A wallet with a 65% all-time win rate that’s been running at 40% for the last three weeks is in trouble. The all-time number hides the decay.

Average return per trade, recent vs historical. If the average return is shrinking even while the win rate holds, the edge is thinning. The wallet is still picking winners but the magnitude is dropping. This is the earliest warning sign.

Trade frequency changes. A wallet that was trading daily and suddenly goes quiet for a week might be recalibrating. Or it might be done. Either way, the pattern you were following no longer exists.

None of these metrics work in isolation. A drop in win rate during a broad market pullback means nothing. But a drop in win rate while similar wallets maintain theirs, that’s a signal.

The threshold problem

The hardest part isn’t collecting the data. It’s deciding what counts as a regime change versus normal variance.

Set the thresholds too tight and you’re unfollowing wallets after every bad week. Too loose and you catch the decline three weeks after it started. I went through several iterations before landing on something useful: compare the wallet’s recent performance against its own historical baseline, not against an absolute number.

A wallet that normally runs a 55% win rate dropping to 45% is a different signal than a wallet that normally runs 75% dropping to 65%. Both dropped 10 points, but the first one is within normal variance and the second one is a structural shift.

When to actually stop following

The detection is one thing. Acting on it is another.

The instinct is to wait. “Maybe it’s just a bad week.” That’s the same instinct that kept me in losing forex signals for months. The data was clear but the hope was louder.

What worked for me: automate the alert, not the action. The system flags when a wallet crosses its regime change threshold. I review it, check the context (is the whole market down or just this wallet?), and decide. But the flag forces the decision. Without it, I’d never look.

Most people in DeFi are still following wallets based on a snapshot of past performance. They find a wallet on a leaderboard, follow it, and never re-evaluate. That’s not a strategy. That’s a bet that conditions never change.

The edge isn’t in finding smart money. There are tools for that everywhere. The edge is in knowing when smart money stops being smart for the current market, and stepping aside before the losses compound.

If you’re thinking about building something similar or want to talk through the detection approach, feel free to reach out: cal.eu/reneza.

EGM sabit radar noktaları (HARİTA) Sabit radar noktaları nerede?

Ramazan Bayramı tatili yaklaşırken yollara düşmeye hazırlanan sürücüler için kritik bir trafik uyarısı geldi. Emniyet Genel Müdürlüğü, şehir içi ve şehirlerarası yollarda hız denetimlerini artıracağını duyurdu ve sabit radar noktalarını resmi olarak paylaşarak sürücüleri önceden bilgilendirdi. Peki, sabit radar noktaları nerede? Sabit radar noktalar haritası! Detaylar…

JAECOO 7 Evolve 4×2, Türkiye’de satışa sunuldu

JAECOO 7 Evolve 4x2, Türkiye

2 milyon 390 bin TL satış fiyatı bulunan JAECOO 7 Evolve 4×2 için şirket tarafından yapılan resmi açıklama şöyle oldu: “OMODA & JAECOO, güçlü SUV karakteri ve gelişmiş akıllı teknolojileriyle dikkat çeken JAECOO 7’nin Evolve 4×2 versiyonunu Türkiye’de satışa sundu. Şehir içi konforu arazi ruhuyla birleştiren model, markanın ileri teknoloji yaklaşımını ve güçlü tasarım anlayışını … Devamını oku

Yerli üretici Reeder, 1 milyon TL’lik Reev Aura modelinin üretimine başladı

Reeder, 1 milyon TL

Yerli üreticilerden Reeder, yaptığı KAP bildirimi aracılığıyla ilk Reev Aura modelinin üretim bandından indirildiğini duyurdu: “Şirketimizin elektrikli araç üretim faaliyetlerini üst segmente genişletme stratejisi kapsamında, daha önce kamuya duyurulan LOJO EV Group Limited ile M1 sınıfı elektrikli otomobil (Reev Aura) üretimine ve tedariğine ilişkin anlaşma çerçevesinde yürütülen çalışmalar devam etmektedir. Bu kapsamda, Samsun’daki mevcut üretim … Devamını oku

Nvidia, otonom sürüş tarafında BYD, Hyundai, Geely ve Nissan ile iş birliği yaptı

Nvidia LOG Tasarım

Nvidia, GTC 2026 etkinliğinde otonom araç geliştirme alanındaki ortaklıklarını Hyundai, Nissan ve Isuzu’nun yanı sıra Çinli üreticiler BYD ve Geely ile genişlettiğini duyurdu. “Drive Hyperion” platformunu temel alan bu iş birliği kapsamında Nvidia, ortaklarının gelişmiş sürüş destek sistemleri ve Seviye 4 otonom sürüş sistemleri geliştirmesine yardımcı oluyor. Şirket CEO’su Jensen Huang bu konuda GTC 2026 … Devamını oku

2026’nın ilk iki ayında otomotivden 91,5 milyar TL ÖTV toplandı

otomotivden ÖTV Türkiye

Otomobil gazetecisi Emre Özpeynirci tarafından yapılan paylaşıma göre 2026’nın ilk iki ayında otomotivden 91,5 milyar TL ÖTV (Özel Tüketim Vergisi) toplandı. “Şubat’ta otomotiv pazarı daralınca, devletin vergi kasası da yavaşladı.” diyen Özpeynirci, 2025 yılı toplamına yönelik daha önce yaptığı açıklamasında, araç satışlarından tahsil edilen vergi gelirinin 2025’te yüzde 46,56 artışla 787 milyar 872 milyon TL’ye … Devamını oku