Review Agent: Intelligentes Diff-Chunking statt 15KB-Truncation #48

Open
opened 2026-03-30 19:56:19 +00:00 by David · 0 comments
Collaborator

Beschreibung

Der Review Agent kürzt Diffs bei 15KB hart ab. Große Änderungen werden unvollständig reviewed. Stattdessen intelligentes Chunking oder Zusammenfassung implementieren.

Hintergrund

review_agent.py:82 kappt den Diff bei 15.000 Zeichen mit ... (Diff gekürzt). Bei größeren Änderungen (was bei automatischer Code-Generierung häufig vorkommt) fehlen dem Review-Agent kritische Teile des Codes. Das Review-Ergebnis ist dann unzuverlässig.

Akzeptanzkriterien

  • Bei Diffs > 15KB: Diff wird in logische Chunks aufgeteilt (pro Datei)
  • Jeder Chunk wird separat reviewed, Ergebnisse werden zusammengeführt
  • Alternative: Diff-Statistik (--stat) + nur geänderte Funktionen/Klassen extrahieren
  • Konfigurierbar: REVIEW_MAX_DIFF_SIZE, REVIEW_CHUNK_STRATEGY (truncate/chunk/summary)
  • Logging wenn Diff gekürzt/gegliedert wird

Technische Hinweise

  • Fix in: backend/services/review_agent.py:82
  • Ansatz 1: Split by diff --git Header, review pro Datei
  • Ansatz 2: git diff --stat + Focused Review nur auf veränderte Funktionen (AST-Parsing)
  • Erweitern: backend/config.pyREVIEW_MAX_DIFF_SIZE, REVIEW_CHUNK_STRATEGY
  • Migration nötig: nein

Aufwand: M

## Beschreibung Der Review Agent kürzt Diffs bei 15KB hart ab. Große Änderungen werden unvollständig reviewed. Stattdessen intelligentes Chunking oder Zusammenfassung implementieren. ## Hintergrund `review_agent.py:82` kappt den Diff bei 15.000 Zeichen mit `... (Diff gekürzt)`. Bei größeren Änderungen (was bei automatischer Code-Generierung häufig vorkommt) fehlen dem Review-Agent kritische Teile des Codes. Das Review-Ergebnis ist dann unzuverlässig. ## Akzeptanzkriterien - [ ] Bei Diffs > 15KB: Diff wird in logische Chunks aufgeteilt (pro Datei) - [ ] Jeder Chunk wird separat reviewed, Ergebnisse werden zusammengeführt - [ ] Alternative: Diff-Statistik (`--stat`) + nur geänderte Funktionen/Klassen extrahieren - [ ] Konfigurierbar: `REVIEW_MAX_DIFF_SIZE`, `REVIEW_CHUNK_STRATEGY` (truncate/chunk/summary) - [ ] Logging wenn Diff gekürzt/gegliedert wird ## Technische Hinweise - Fix in: `backend/services/review_agent.py:82` - Ansatz 1: Split by `diff --git` Header, review pro Datei - Ansatz 2: `git diff --stat` + Focused Review nur auf veränderte Funktionen (AST-Parsing) - Erweitern: `backend/config.py` — `REVIEW_MAX_DIFF_SIZE`, `REVIEW_CHUNK_STRATEGY` - Migration nötig: nein ## Aufwand: M
Sign in to join this conversation.
No description provided.