Skip to content

Runner reliability: babysitter erken-dönüş + cp-runner kayıtsız + zayıf-worker doğrulama boşlukları #58

Description

@rbinar

Ortam / bağlam

2026-07-04–05, blinkfin-android "P2 parity" dalgasında 9 runner delegasyonu (ds / ag / cx / oc), paralel git worktree'lerde, her biri iOS→Android tek-dosya/çok-dosya implementasyon işi. Aşağıdakiler tekil değil, dalga boyunca tutarlı gözlemler.


P1 — Babysitter worker bitmeden ERKEN dönüyor (en kritik, sistemik)

Runner (ds/ag/cx/oc hepsinde görüldü) worker'ı arka planda başlatıp şu tarz mesajla erken dönüyor:

  • "background monitor bildirimini bekliyorum"
  • "I've launched a background monitoring task to wait for the worker… the coordinator will be notified once it completes"

Ama o bildirim orkestratöre (main) gelmiyor — babysitter'ın kendi subagent context'ine gidiyor ve subagent o an zaten durmuş oluyor. Net sonuç: orkestratör her seferinde SendMessage ile resume edip "aktif poll yap (sleep+status loop), worker bitene kadar dönme, sonra diff'i teyit + compile et" demek zorunda kalıyor.

oc-runner'da bu arka arkaya 2 kez oldu: resume ettikten sonra yine fire-and-forget monitor'a devretti, gerçek poll yapmadı.

Öneri: babysitter, worker'ı inline bloklayan poll döngüsüyle (sleep + durum kontrolü) bitene kadar beklesin; fire-and-forget monitor'a devretmesin. Alternatif: monitor completion bildirimi main/orkestratör context'ine route edilsin.


P1 — cp-runner agent registry'de kayıtlı değil

Dokümanlarda/yönlendirmelerde cli-dispatch:cp-runner referans veriliyor ama Agent registry'de yok:

Agent type 'cli-dispatch:cp-runner' not found. Available agents: … cli-dispatch:ag-runner, cli-dispatch:cx-runner, cli-dispatch:ds-runner, cli-dispatch:oc-runner …

2 görev başlatması bu yüzden düştü, ag/ds'ye reassign gerekti.

Öneri: cp-runner'ı registry'ye ekle ya da tüm dokümandan/yönlendirmeden kaldır (tek doğruluk kaynağı).


P2 — oc-runner (zayıf model) bozuk kod üretti + "verified ✓" iddiası yanıltıcı

oc-runner (OpenCode/OpenRouter) tek-dosyalık bir Compose animasyon görevinde (chevron sway):

  1. Hâlâ kullanılan bir import'u sildi (import androidx.compose.animation.animateContentSize — dosyada 2 yerde kullanılıyordu) → compile break
  2. Duplicate import ekledi (repeatable iki kez)
  3. Gövdeye gerçek feature kodu koymadı — yalnız import bloğunu bozdu

Görev capable bir runner'a (cx) yeniden verilerek çözüldü. Kritik nokta: zayıf worker'ın çıktısı bağımsız derlenmeden "yapıldı" olarak raporlanabiliyor.

Öneri: babysitter, worker diff'ini rapor/"verified" öncesi her zaman gerçek compile/test ile doğrulasın; "verified ✓" yalnızca gerçek build EXIT 0 sonrası verilsin. Zayıf modelleri kod-üretiminden çok basit/mekanik işlere yönlendir.


P2 — Worker ortam tutarsızlığı (build doğrulaması güvenilmez)

Aynı dalgada:

  • ag/cx worker'ları Android Studio JBR (JAVA_HOME=…/Android Studio.app/Contents/jbr/Contents/Home) ile ./gradlew :app:compileDebugKotlin çalıştırıp gerçekten derledi.
  • ds worker'ı (#609) shell'inde JDK/JAVA_HOME yoktu./gradlew çalıştıramadı, yalnız manuel review yaptı; build'i orkestratör kendi ortamında çalıştırmak zorunda kaldı.

Build doğrulaması worker/ortam bağlı değişken → güvenilmez.

Öneri: worker ortamlarına JDK/JAVA_HOME garanti et; ya da babysitter build'i kendi (tutarlı) ortamında çalıştırsın.


P3 — Rapor doğruluğu

Bir runner branch adını yanlış raporladı (okfix/607-… — gerçek branch fix/607-…). Küçük ama her rapor iddiasının (branch, dosya listesi, "committed") lokal spot-check gerektirdiğini gösteriyor.


Özet öneri sırası

  1. Babysitter'ı inline-poll'a çevir (fire-and-forget monitor'ı kaldır) — en yüksek etki.
  2. cp-runner registry/doküman tutarsızlığını gider.
  3. "verified ✓"yi gerçek build/test EXIT 0'a bağla; worker ortamına JDK garanti et.
  4. Rapor iddialarını babysitter kendi tarafında doğrulasın (branch/dosya/commit).

Kanıt: 2026-07-04/05 blinkfin-android P2 dalgası (#606–#612) delegasyon oturumu.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions