atl tick
Tek bir oturum-içi bakım turu çalıştır — üç-hızlı ritmin sen bir oturumdayken birkaç dakikada bir tetiklediği iş: ucuz bir fan-out (dağıtım), artı kısıtlamalı bir drain (boşaltma) + doctor öz-denetimi.
Bunu neredeyse hiçbir zaman elle çalıştırmazsın. atl setup-hooks bunu UserPromptSubmit hook'una atl tick --throttle=10m olarak bağlar; böylece mesajlarına kendiliğinden eşlik eder. Elle erişim yüzeyi kurulum, hata ayıklama ve bir turu zorlamak için vardır.
Ne zaman kullanılır
- Normalde: doğrudan asla. Hook üzerinden her mesajda çalışır; ağır kısım yalnızca ~10 dakikada bir tetiklenecek biçimde kısıtlanmıştır.
- Şimdi bir turu zorlamak için — örneğin
/drainçalıştırmadan önce bekleyen yakalama işaretçilerinin kuyruğa taşınmasını istiyorsan —atl tickkomutunu--throttleolmadan çalıştır. - Tek bir dosyayı boşaltmak için (işaretçi ayrıştırıcısını hata ayıklarken) —
atl tick --file <path>.
Kullanım
atl tick # şimdi tam bir turu zorla (kısıtlama yok)
atl tick --throttle=10m # son tick 10 dakikadan kısa süre önceyse drain+doctor turunu atla
atl tick --file <path> # transkript keşfetmek yerine tek bir dosyayı boşalt (hata ayıklama)atl tick, mevcut proje üzerinde — yani onu çalıştırdığın dizinde — işler.
Bir tur ne yapar?
Sırasıyla:
Fan-out (her çağrıda, ~bedava). Yeni değişmiş dosyaları kullanıcı-global katmandan bu projeye çeker. Bir global nesil sayacıyla (
~/.atl/generation) korunur: bu proje en son fan-out yaptığından beri global katman değişmemişse, tek bir küçük dosya okumasıdır ve hiçbir şey yapmaz. Bu adım, kısıtlama diğer her şeyi atladığında bile çalışır — her mesaja eşlik edecek kadar zaten ucuzdur.Otomatik-drain sinyali (her çağrıda). Etkin her yakalama kanalı için — çekirdeğin kendi
learningkanalı ve kurulu bir takımın bildirdiği her kanal — o kanalda bekleyen öğe varsa tek satırlık bir otomatik-drain sinyali yazdırır (atl: N learning(s) pending — auto-drain them now in a background subagent (per the learning-capture rule)); böylece ajan o kanalın drain'ini arka planda bir alt-ajan olarak başlatır. Her cümle kanalın kendi bildiriminden kurulur, dolayısıyla platform hiçbir takımı adlandırmaz: hangi kanalın beklediğini ve hangi kuralın devreye gireceğini söyler; o kural da kanalın sahibi olan takımla birlikte gelir (yakalama kanalı bildirmek). Tek bir ucuz sayaç okumasıdır ve kısıtlama kapısından önce çalışır; bu yüzden kuyruk boş olmadığı her mesajda tetiklenir — kısıtlama onu asla bastırmaz.Kısıtlama kapısı.
--throttle=<dur>ile, son tick<dur>içindeyse tur burada durur — yalnızca fan-out ve otomatik-drain sinyali çalışmıştır (mesaj başına hook'u ucuz tutan hızlı yol). Damga proje-başınadır,~/.atl/cache/last-tick-<project-hash>konumunda; böylece farklı projelerdeki eşzamanlı oturumlar birbirinin turunu aç bırakmaz.--throttleolmadan (ya da--throttle=0ile) kapı her zaman geçer.Drain. Bu projenin son tick'ten beri değiştirilmiş Claude Code transkriptlerini keşfeder, assistant metnini çıkarır ve yakalama işaretçilerini kalıcı kuyruğa aktarır — tam olarak bir kez. İdempotenlik kuyruğun işaretçi-hash tekrar-elemesinden gelir; bu yüzden aynı metni yeniden boşaltmak kuyruğa yeni hiçbir şey eklemez.
Yakalama bekçisi (capture watchdog). Taranan en yeni transkript (canlı oturum) üzerinde kuru seriyi ölçer — son işaretçi taşıyan turdan bu yana geçen mantıksal assistant turları ve kullanıcının yazdığı karakterler; her geçişte dosyadan taze hesaplanır (sapacak sayaç yok). Seri her yakalama kanalı için ayrı ölçülür; böylece bir
learningişaretçisi bir takımın kanalında kaçırılmış bir işaretçiyi maskeleyemez: etkin her kanalın kendi serisi, kendi mandalı ve bildiriminden gelen drain becerisi ile kuralı adlandıran kendi dürtmesi olur (çekirdeğinlearningkanalı/drain'i adlandırır). İki kanal aynı turda ateşleyebilir — farklı subagent'lardır. Bir kanal için her iki eşik de aşıldığında (≥2 assistant turu VE kullanıcının yazdığı ≥1000 karakter), son turları işaretlenmemiş kalanlar için gözden geçirme ve mining adımı seriyi tarayacak o arka plan drain'ini başlatma çağrısı yapan tek satırlık bir dürtme yazdırır (kuyruk boşken bile geçerli). Kanal başına, kuru seri başına bir kez ateşlenir — (oturum dosyası, kanal, işaretçi sırası) anahtarlı mandal, yeni bir işaretçi ya da yeni bir oturumla kendiliğinden yeniden kurulur; asla dırdır etmez. Bu, boru hattının tek deterministik-olmayan halkasını kapatır: ajanın yazmayı unuttuğu bir işaretçi artık sessiz kalmaz.ATL_NO_CAPTURE_WATCHDOG=1devre dışı bırakır."Kullanıcının yazdığı", "role: user"dan dardır. Kullanıcı-rollü transkript kayıtlarının çoğu makine tarafından enjekte edilir ve onları saymak karakter eşiğini formaliteye çevirir. Dört taşıyıcı dışlanır:
isMetakayıtları (bir becerininSKILL.mddökümü), etiketle açılan diziler (görev bildirimleri), uzun bir oturum sıkıştırıldığında harness'ın yazdığı sıkıştırma özeti (gözlenen 13.995–17.966 karakter — tek başına eşiği geçiyor) ve[Request interrupted by user]iptal bildirimi. Gerçek bir korpusta bunlar, kapının saydığı her şeyin %45'iydi.Doctor öz-denetimi.
atl doctorveatl session-startile aynı kuyruk-sağlığı + varlık-bütünlüğü denetimlerini çalıştırır; yalnızca OK olmayan (ya da kendini onaran) satırları yazdırır. Her şey sağlıklıyken sessizdir.Kazanımları yükselt (1→2. halka). Bu projenin biriken kazanımlarını kullanıcı-global katmana çıkarır. Eklemeli ve çakışma-arşivlidir; bu yüzden elle bir
atl promotebeklemek yerine tick'e eşlik etmesi güvenlidir. Çıkarılacak bir şey olmadığında sessizdir.
Drain adımı öğrenmeleri yalnızca kuyruğa alır. Onları bilgi tabanına katmak LLM işidir; bu yüzden CLI/Skill sınırının beceri tarafında kalır — /drain tam da bunu yapar; kuyruk boş olmadığında yukarıdaki otomatik-drain sinyaliyle arka planda bir alt-ajan olarak kendiliğinden başlatılır.
Flag'ler
| Flag | Varsayılan | Etki |
|---|---|---|
--throttle <dur> | 0 | Son tick bu süre içindeyse drain + doctor turunu atla (örneğin 10m). Fan-out ve otomatik-drain sinyali yine de çalışır. Sıfır/yok bir değer her zaman tam turu çalıştırır. |
--file <path> | "" | Transkript keşfetmek yerine tek bir dosyayı boşalt. Yalnızca elle/hata ayıklama — kısıtlamayı ve imleci atlar; drain konumunu ilerletmez. |
Örnek — bir turu zorla
$ atl tick
tick: scanned 2 transcript(s) — 5 marker(s), 3 new, 2 already queuedSon tick'ten beri yeni bir şey olmadığında:
$ atl tick
tick: no new transcripts to drainBu proje en son eşitlendiğinden beri global katman değiştiğinde, fan-out satırı da görünür:
$ atl tick
tick: fanned out 4 file(s) from the global layer
tick: scanned 1 transcript(s) — 2 marker(s), 2 new, 0 already queuedÖrnek — tek bir dosyayı boşalt (hata ayıklama)
$ atl tick --file ./transcript.txt
tick: drained ./transcript.txt — 3 marker(s), 1 new, 2 already queuedİlgili
atl setup-hooks—tick'iUserPromptSubmithook'una bağlar (normalde böyle çalışır).atl doctor— tick'in çalıştırdığı aynı sağlık denetimlerinin istek-üzerine yüzeyi./drain— kuyruğa alınan öğrenmeleri bilgi tabanına katar (döngünün LLM yarısı).atl promote— tick'in kendiliğinden yaptığı kazanım-çıkarmanın elle sürümü.