
Cotton
Translation workflow
Mengubah terjemahan yang dihasilkan menjadi hasil yang dapat ditinjau.
Alur kerja terjemahan untuk dialog gim.
Race yang ditemukan tinjauan, job macet yang dikembalikan sesuai penyebab
Satu kasus yang kebijakan dan commit-nya menyebut Claude untuk implementasi dan Codex untuk tinjauan, dan satu kasus yang membuat job macet dapat didiagnosis.
May 19, 2026
Perubahan yang berhenti saat quota habis diperbaiki dalam PR yang sama, termasuk race yang ditemukan tinjauan
OrangOrang
TindakanHentikan pengeluaran saat quota habis · tanpa fallback otomatis
- serah terimaBatasan implementasi→ Implementasikan checkpoint · halt · pelanjutan manual (Claude)
Agen pemrogramanClaude
TindakanImplementasikan checkpoint · halt · pelanjutan manual
- serah terimaTinjauan dalam PR yang sama→ Temuan: race · transisi status ganda (Codex)
Tinjauan · verifikasiCodex
Observasi · temuanTemuan: race · transisi status ganda
- dikembalikanRace · idempotensi→ Dalam PR yang sama: row lock · kunci skor unik · transisi atomik (PR yang sama)
ArtefakPR yang sama
ArtefakDalam PR yang sama: row lock · kunci skor unik · transisi atomik
- serah terima→ Fixture lokal · catatan pemeriksaan integrasi DB (PR yang sama)
ArtefakPR yang sama
ArtefakFixture lokal · catatan pemeriksaan integrasi DB
- bukan eksekusi yang tercatatCakupan yang diperiksa→ Tidak ada hasil CI atau deployment produksi baru yang dikumpulkan (PR yang sama)
ArtefakPR yang sama
Aturan · belum diverifikasiTidak ada hasil CI atau deployment produksi baru yang dikumpulkan
- Konteks
- Syarat yang ditetapkan seseorang adalah menghentikan pengeluaran saat quota habis, tanpa fallback otomatis. Claude mengimplementasikan checkpoint, halt, dan pelanjutan manual, dan tinjauan Codex yang dijalankan lewat MCP proyek menemukan race dan duplikasi dalam transisi status.
- Hasil
- Transisi masuk dan pelanjutan berjalan di dalam kunci, skor penilai membawa kunci unik untuk mencegah duplikat, dan batas transaksi ditetapkan. Ini tidak berarti setiap race telah dihilangkan.
- Batasan
- Commit menyebut 140 pemeriksaan dan CHANGELOG integrasi yang lebih kemudian menyebut 160, sehingga keduanya tidak digabung menjadi satu jumlah eksekusi. Menurut kebijakan, tinjauan Codex adalah langkah lokal opsional, jadi ini tidak berarti setiap PR lama melewatinya.
Sumber dan batasan yang tersisa
- Kebijakan mencatat urutannya: Claude mengimplementasikan, Codex meninjau secara lokal lewat MCP proyek, tinjauan dilampirkan ke PR, dan perbedaan pendapat diselidiki bersama agen peninjau Claude. Tinjauan Codex otomatis di CI telah ditunda.
- Pemeriksaan pengembangan memakai fixture dan mock, dan panggilan model sungguhan memerlukan cakupannya sendiri. Temuan tinjauan dimasukkan ke PR yang sama dan di-squash-merge feature → main.
May 26, 2026
Job macet dibuat dapat didiagnosis dan dikembalikan sesuai penyebab
Dalam pengembanganWorker terjemahan · antrean
Observasi · temuanJob tertinggal di draft · percobaan habis
- serah terimaNilai teramati→ Cocokkan failedReason · kode keluar · status draft (Pengembang)
OrangPengembang
TindakanCocokkan failedReason · kode keluar · status draft
- serah terima→ Penyebab: NODE_OPTIONS warisan bertabrakan di subproses (Pengembang)
OrangPengembang
Observasi · temuanPenyebab: NODE_OPTIONS warisan bertabrakan di subproses
- dikembalikanTabrakan opsi warisan→ Hapus NODE_OPTIONS · batas konkurensi per proses (Perubahan kode)
Sesi kerjaPerubahan kode
TindakanHapus NODE_OPTIONS · batas konkurensi per proses
- serah terima→ Status antrean: waiting · active · failed · stale (Perubahan kode)
Sesi kerjaPerubahan kode
TindakanStatus antrean: waiting · active · failed · stale
- serah terima→ Penyapuan macet: hilang dari antrean vs percobaan habis, bercabang menurut ada tidaknya hasil (Perubahan kode)
Sesi kerjaPerubahan kode
TindakanPenyapuan macet: hilang dari antrean vs percobaan habis, bercabang menurut ada tidaknya hasil
- serah terimaSatu siklus→ Penyapuan dev: 200 kandidat → 106 dipindahkan · 2 dimasukkan ulang · 0 kesalahan (Keluaran)
ArtefakKeluaran
ArtefakPenyapuan dev: 200 kandidat → 106 dipindahkan · 2 dimasukkan ulang · 0 kesalahan
- bukan eksekusi yang tercatatBatas interpretasi→ 106 itu bukan terjemahan yang berhasil (Keluaran)
ArtefakKeluaran
Aturan · belum diverifikasi106 itu bukan terjemahan yang berhasil
- Konteks
- Mencocokkan failedReason BullMQ, kode keluar subproses, dan job yang tertinggal di draft menemukan bahwa NODE_OPTIONS warisan bertabrakan di subproses. Setelah itu, situasi yang sama dibuat terlihat sebagai status antrean.
- Hasil
- Job macet dipisahkan menjadi yang hilang dari antrean dan yang telah menghabiskan percobaannya; yang terakhir dipindahkan, dengan alasan, ke needs_review atau needs_credential bergantung pada ada tidaknya hasil. Tinjauan manusia tetap dipertahankan.
- Batasan
- Batas konkurensi berlaku per proses. Log eksekusi asli tidak tersedia dalam materi yang ditinjau; angka latensi dihilangkan karena model dan effort yang diminta tidak tercatat. Kode build dan rilis saja bukan bukti deployment publik.
Sumber dan batasan yang tersisa
- CHANGELOG mencatat usulan untuk branch adapter paralel, tetapi tidak dijadikan catatan eksekusi paralel yang sebenarnya.
- Sisa dari 200 tidak dirinci dalam catatan ini.