Skip to content

fix(agent-messages): sentinel temizliği girintiyi yok etmesin#684

Merged
lilyshen0722 merged 1 commit into
Team-Commonly:mainfrom
alptekinkekilli:fix/agent-message-indentation
Jul 19, 2026
Merged

fix(agent-messages): sentinel temizliği girintiyi yok etmesin#684
lilyshen0722 merged 1 commit into
Team-Commonly:mainfrom
alptekinkekilli:fix/agent-message-indentation

Conversation

@alptekinkekilli

Copy link
Copy Markdown
Contributor

Sorun

AgentMessageService.sanitizeAgentContent her satıra .trim() uygulayıp .filter(Boolean) ile boş satırları atıyordu. Amaç NO_REPLY sentinel temizliğiydi; yan etkisi agentların yazdığı her mesajın girintisini ve paragraf yapısını düzleştirmek.

Bir agent pod'unda girintiye duyarlı içerik normal trafiktir: Python, YAML, diff, iç içe markdown.

Etki (canlı gözlem, 2026-07-16)

Kullanıcı @auto-router'a tek hatası eksik : olan bir Python bloğu gönderdi. Agent'a ulaşan metinde girintiler silinmişti — yani agent, ayrıca IndentationError üreten bambaşka bir kod gördü. Router, çözülmesi istenen problemi bozuyordu. Agentların cevaplarındaki kod blokları da düzleşiyordu.

Aynı metin iki yoldan yazılıp karşılaştırıldı:

messageController (kullanıcı yolu):  'def f(x)' / '    y = x + 1'   girinti VAR
agent runtime (bu yol):              'def f(x)' / 'y = x + 1'       girinti YOK

Değişiklik

Yalnız sentinel çıkarılır; satır içi girinti ve boş satırlar korunur. Yalnızca sentinel'dan ibaret satırlar boşa indirgenir (başıboş boşluk kalmasın), baş/son boş satırlar hâlâ kırpılır.

Doğrulama

Backend restart sonrası, agent runtime endpoint'inden POST:

  • girintili mesaj → girinti + boş satır korunuyor
  • NO_REPLYNO_REPLY → pod'da NO_REPLY izi yok ✓ (sentinel temizliği bozulmadı)

Not: birim testi (agentMessageService.chatNoise.test.js) bu ortamda çalıştırılamadı — mongodb-memory-server kurulum sırasında binary indirmeye çalışıyor, ağ kapalıydı. Doğrulama canlı uçtan uca yapıldı; test beklentileri değişmiyor (sentinel davranışı aynı).

🤖 Generated with Claude Code

sanitizeAgentContent her satıra .trim() uygulayıp .filter(Boolean) ile boş
satırları atıyordu. Amaç NO_REPLY sentinel temizliğiydi; yan etkisi agentların
yazdığı HER mesajın girintisini ve paragraf yapısını düzleştirmekti.

Etki: bir pod'da girintiye duyarlı içerik normal trafiktir (Python, YAML,
diff, iç içe markdown). Kullanıcı @auto-router'a tek hatası eksik ':' olan bir
Python bloğu gönderdiğinde, agent'a girintisi silinmiş — yani ayrıca
IndentationError üreten — bambaşka bir kod ulaşıyordu: router çözülmesi
istenen problemi bozuyordu. Agentların cevaplarındaki kod blokları da
düzleşiyordu.

Kanıt (2026-07-16, canlı): aynı metin iki yoldan yazıldı —
  messageController (kullanıcı) -> 'def f(x)' / '    y = x + 1'  girinti VAR
  agent runtime (bu yol)        -> 'def f(x)' / 'y = x + 1'      girinti YOK

Düzeltme: yalnız sentinel çıkarılır; satır içi girinti ve boş satırlar korunur.
Yalnızca sentinel'dan ibaret satırlar boşa indirgenir (başıboş boşluk kalmasın),
baş/son boş satırlar hâlâ kırpılır.

Doğrulama (backend restart sonrası, agent runtime endpoint'inden POST):
  girintili mesaj -> girinti + boş satır korunuyor ✓
  'NO_REPLYNO_REPLY' -> pod'da NO_REPLY izi yok ✓ (temizlik bozulmadı)

Not: birim testi (agentMessageService.chatNoise.test.js) bu ortamda
çalıştırılamadı — mongodb-memory-server kurulum sırasında binary indirmeye
çalışıyor, ağ kapalı. Doğrulama canlı uçtan uca yapıldı.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@lilyshen0722 lilyshen0722 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified against the original NO_REPLYNO_REPLY edge (the 2026-07-03 note survives) and the fix is precisely scoped: sentinel removed, interior indentation and blank lines preserved, sentinel-only lines collapse to blank instead of stray spaces. Whitespace-sensitive agent payloads (Python/YAML/diffs) are core traffic — this was a real correctness bug. Great live verification methodology in the PR body too.

@lilyshen0722
lilyshen0722 merged commit df585d8 into Team-Commonly:main Jul 19, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants