Dokümantasyon / Referans
Çıkış kodları
Script'ler, CI job'ları ve zamanlayıcılar için ivralo komutlarının çıkış kodlarının anlamı. Çoğu komut başarılı olunca 0, bir şeyler ters gidince 1 ile çıkar; aşağıdaki komutlarda ise 1 ve 2'nin ayrı anlamları vardır.
Kural
- 0: istenen iş yapıldı.
- 1: komut çalıştı ama sonuç olumsuz: run başarısız oldu, kontrol durdu ya da rapor yazılmadı.
- 2: komut başlayamadı ya da argümanlar yanlıştı. Hiçbir şey denenmedi.
Hatalar ve sorular stderr'e yazılır; bir pipe'ta stdout'a yalnızca sonuç gider. Bilinmeyen bir seçenek, eksik bir argüman ya da bilinmeyen bir --profile gibi yanlış kullanımlarda her komut 2 ile çıkar. Kullanılamayan bir --model için de durum aynıdır: bir sağlayıcının modeline benzeyen ama sağlayıcısı yazılmamış bir ad, ayrıştırılamayan bir referans ya da anahtarı olmayan bir sağlayıcı.
Kendine özgü kodları olan komutlar
| Komut | 0 | 1 | 2 |
|---|---|---|---|
ivralo ask | Run sorunsuz bitti. | Run başarısız oldu, prompt boştu, ya da --plan bir adımda durdu veya --yes verilmeden bir pipe'ta onaylayacak kimseyi bulamadı. | Birlikte kullanılamayan seçenekler: text ya da json dışında bir --format, --format json ya da --quiet ile birlikte --plan, --format json, --quiet ya da --image ile birlikte --job, --plan ya da --job ile birlikte --changeset. |
ivralo ask --via-api | Run sorunsuz bitti. | Bitmedi. | İstek hiç çalışmadı: sunucu yok, token yok, sürüm uyuşmuyor ya da istek reddedildi. |
ivralo plan | Plan çıkarıldı; --job ile ise job tamamlandı, beklemeye geçti ya da engellendi. | Planlanacak bir şey yok ya da job başarısız oldu veya iptal edildi. | --job ile birlikte --json. |
ivralo incident | Rapor yazıldı. | Run rapor yazılmadan bitti. --format json ile yine de outcome: null ve nedenini içeren tek bir nesne yazdırılır. | İnceleme başlayamadı: çalışma alanı, paket, --hosted olmadan barındırılan bir model ya da veritabanı yüzünden. |
ivralo pilot run | Rapor yazıldı. | Rapor yazıldı ama eşleşme oranı --fail-under'ın altında kaldı. | Başlayamadı. |
ivralo verify | Bütün aşamalar geçti. | Başarısız olan bir aşamada durdu. | Doğrulama yapılacak bir şey yok: tanımlı komut yok, klasör güvenilir değil ya da istek hatalı. |
ivralo why | İddianın her dalı kayıtlı bir kaynağa ulaşıyor. | Ulaşmıyor ya da iddia bulunamadı. | Run okunamadı. |
ivralo replay | Tekrar, kayıttan sapmadı. | Kayıttan saptı. | Hiçbir şey okunamadı. |
ivralo record | Kaset yazıldı. | Run okunamadı. | |
ivralo trust | İşlem yapıldı. | Reddedildi: yol bir klasör değil, soru soracak bir terminal ve --yes yok ya da kayıt yazılamadı. | |
ivralo resume | Job devam etti ya da sorunsuz bitti. | Bekleyen bir job'a cevap verilmedi: sorusu yazdırılır ve hiçbir şey değişmez. Ya da job başarısız oldu. | --approve, --approve-job ve --reject'ten birden fazlası verildi. |
ivralo bisect | Arama tamamlandı. | Başarısız oldu. | |
ivralo jobs run | Bir job tamamlandı, beklemeye geçti, başka bir job'un arkasında engellendi ya da çalıştırılacak bir şey yoktu. | Job başarısız oldu ya da iptal edildi; veya ölen bir sürecin çalışır halde bıraktığı bir job'un önce devam ettirilmesi ya da iptal edilmesi gerekiyor. | |
ivralo index | Dizin güncel. | Dizin kurulamadı. | --rebuild olmadan --all ya da --code olmadan --semantic. |
ivralo init | Her şey yerinde. | Bir satır yerinde değil; yeniden çalıştırılacak komut yazdırılır. | init'in yazabileceği bir ana dizin yok: hiçbiri belirtilmedi ve bulunan, içinde bulunduğunuz klasörün kendisi ya da hiçbiri bulunamadı. --home ya da IVRALO_HOME ile bir ana dizin belirtin. |
ivralo serve | Başlayamadı: port dolu, ana dizine token dosyası yazılamıyor ya da ivralo'nun kurduğu PostgreSQL başlamadı. |
ivralo serve durdurulana kadar çalışır; bu yüzden bir sinyalle çıkar: Ctrl+C (SIGINT) sonrası 130, SIGTERM sonrası 143, yani 128 artı sinyal numarası. Servis yöneticileri bu kodları temiz bir kapanış olarak değerlendirmelidir.
Diğer bütün komutlar
Bunlar başarılı olunca 0, herhangi bir hatada 1 ile çıkar; neden stderr'e yazılır:
| Komut | 1'in anlamı |
|---|---|
ivralo | Oturum için bir terminal yok ya da çalışma alanına girilemedi. |
ivralo doctor | En az bir satır kırmızı. |
ivralo job, ivralo cancel, ivralo jobs | Job bulunamadı ya da veritabanına ulaşılamadı. |
ivralo changeset ve alt komutları | Böyle bir changeset yok, sizin kendi düzenlemelerinizin üzerine uygulama reddedildi ya da atma işlemini siz reddettiniz. |
ivralo schedule ve alt komutları | İşletim sisteminin zamanlayıcısı reddetti, zamanlama yok ya da bir çalışma başarısız oldu. |
ivralo skills lint --strict | Hata seviyesinde bir bulgu var. --strict olmadan bulgular çıkış kodunu değiştirmez. |
ivralo skills ve diğer alt komutları | Skill kurulamadı, bulunamadı, yazılamadı ya da silinemedi. |
ivralo mcp ve alt komutları | Girdi geçersiz, dosya yazılamadı ya da mcp test bağlanamadı. |
ivralo memory ve alt komutları | Hafıza kaydı bulunamadı ya da veritabanına ulaşılamadı. |
ivralo google ve alt komutları | Oturum açma başarısız oldu ya da kurulum yapılmamış. |
ivralo history, ivralo restore | Böyle bir dosya ya da sürüm yok. |
ivralo search | Dizinde arama yapılamadı. |
ivralo eval'in eşiği ve seçenekleri için kendine özgü kodları vardır; ayrıntılar Eval'ler sayfasında.
Script içinde
ivralo incident incident/ --format json > report.json
case $? in
0) echo "report filed" ;;
1) echo "no report: see the reason in report.json" ;;
2) echo "could not start" >&2; exit 2 ;;
esac
# Projenin kontrolleri başarısız olursa (1) ya da çalışamazsa (2) CI job'unu düşür.
ivralo verify --scope full --yes || exit $?