Bağlam
2026-07-05, OC-7468 Contract AI oturumu (octopus.api.ai / octopus.api.mcp.server repo'ları). #58'in P1 maddesi (babysitter worker bitmeden erken dönüyor) kapalı görünüyor ama davranış aynen sürüyor — aynı oturumda 2 ayrı ag-runner delegasyonunda tekrarladı.
Gözlem
-
Delegasyon 1 (R4–R12 review fix'leri): runner agy worker'ı başlattıktan sonra "I'll pause here and wait for the background agy run" diyerek turn kapattı. SendMessage ile "Devam et... Bitmeden turn kapatma" dürtmesi gerekti; ancak ondan sonra poll edip tamamladı.
-
Delegasyon 2 (3 deterministic tool implementasyonu): runner worker'ı izole kopyada başlattı, baseline testi ölçtü (152 pass), sonra "Waiting for it to complete — I'll verify once it finishes" mesajıyla turn'ü kapattı. Task-notification orkestratöre "completed" olarak düştü ama iş daha yeni başlamıştı. Yine SendMessage ile resume + açık talimat ("worker bitene kadar turn kapatma, poll et") gerekti.
Her iki vakada da #58'deki teşhisle birebir aynı patern: worker fire-and-forget başlatılıyor, babysitter "bildirim beklerim" varsayımıyla dönüyor, ama bildirim orkestratöre değil ölmüş subagent context'ine gidiyor.
Beklenen
Babysitter, worker'ı inline bloklayan poll döngüsüyle (sleep + durum kontrolü) worker terminal state'e ulaşana kadar beklemeli; worker bitmeden turn kapatmamalı. #58'de önerilen fix bu iki vakada devrede değildi (ya uygulanmadı ya da agent definition'daki talimat model tarafından yeterince bağlayıcı değil).
Öneri
- Runner agent definition'ına sert kural: "Worker session'ı terminal state'te değilken ASLA final cevap verme; her N saniyede status komutu çalıştır."
- Mümkünse mekanik guard: babysitter'ın son Bash çağrısı worker status'ü RUNNING dönerse çıktıya uyarı enjekte et (hook).
İlgili: #58 (P1 maddesi — kapalı ama regresyon).
Bağlam
2026-07-05, OC-7468 Contract AI oturumu (octopus.api.ai / octopus.api.mcp.server repo'ları). #58'in P1 maddesi (babysitter worker bitmeden erken dönüyor) kapalı görünüyor ama davranış aynen sürüyor — aynı oturumda 2 ayrı ag-runner delegasyonunda tekrarladı.
Gözlem
Delegasyon 1 (R4–R12 review fix'leri): runner agy worker'ı başlattıktan sonra "I'll pause here and wait for the background agy run" diyerek turn kapattı.
SendMessageile "Devam et... Bitmeden turn kapatma" dürtmesi gerekti; ancak ondan sonra poll edip tamamladı.Delegasyon 2 (3 deterministic tool implementasyonu): runner worker'ı izole kopyada başlattı, baseline testi ölçtü (152 pass), sonra "Waiting for it to complete — I'll verify once it finishes" mesajıyla turn'ü kapattı. Task-notification orkestratöre "completed" olarak düştü ama iş daha yeni başlamıştı. Yine
SendMessageile resume + açık talimat ("worker bitene kadar turn kapatma, poll et") gerekti.Her iki vakada da #58'deki teşhisle birebir aynı patern: worker fire-and-forget başlatılıyor, babysitter "bildirim beklerim" varsayımıyla dönüyor, ama bildirim orkestratöre değil ölmüş subagent context'ine gidiyor.
Beklenen
Babysitter, worker'ı inline bloklayan poll döngüsüyle (sleep + durum kontrolü) worker terminal state'e ulaşana kadar beklemeli; worker bitmeden turn kapatmamalı. #58'de önerilen fix bu iki vakada devrede değildi (ya uygulanmadı ya da agent definition'daki talimat model tarafından yeterince bağlayıcı değil).
Öneri
İlgili: #58 (P1 maddesi — kapalı ama regresyon).