
Cotton
Translation workflow
Wygenerowane tłumaczenia zamienione w wyniki gotowe do przeglądu.
Przepływ tłumaczenia dialogów z gier.
Wyścig znaleziony w przeglądzie, zastałe zadania zwrócone według przyczyny
Jeden przypadek, w którym zasady i commit wskazują Claude do implementacji i Codex do przeglądu, oraz jeden, który umożliwił diagnozowanie zastałych zadań.
May 19, 2026
Zmianę zatrzymującą pracę po wyczerpaniu limitu poprawiono w tym samym PR, łącznie z wyścigiem znalezionym w przeglądzie
CzłowiekCzłowiek
DziałanieWstrzymanie wydatków po wyczerpaniu limitu · bez automatycznego fallbacku
- przekazanieOgraniczenie implementacji→ Implementacja checkpointu · zatrzymania · ręcznego wznowienia (Claude)
Agent kodującyClaude
DziałanieImplementacja checkpointu · zatrzymania · ręcznego wznowienia
- przekazaniePrzegląd w tym samym PR→ Ustalenie: wyścig · zduplikowane przejścia stanów (Codex)
Przegląd · weryfikacjaCodex
Obserwacja · ustalenieUstalenie: wyścig · zduplikowane przejścia stanów
- odesłaneWyścig · idempotencja→ W tym samym PR: blokada wiersza · unikalny klucz oceny · atomowe przejście (Ten sam PR)
ArtefaktyTen sam PR
ArtefaktW tym samym PR: blokada wiersza · unikalny klucz oceny · atomowe przejście
- przekazanie→ Zapisy lokalnych fixture’ów · kontroli integracji z DB (Ten sam PR)
ArtefaktyTen sam PR
ArtefaktZapisy lokalnych fixture’ów · kontroli integracji z DB
- nie zapisane wykonanieSprawdzony zakres→ Nie zebrano nowych wyników CI ani wdrożenia produkcyjnego (Ten sam PR)
ArtefaktyTen sam PR
Reguła · niezweryfikowaneNie zebrano nowych wyników CI ani wdrożenia produkcyjnego
- Kontekst
- Warunek ustalony przez człowieka: wstrzymać wydatki po wyczerpaniu limitu, bez automatycznego fallbacku. Claude zaimplementował checkpoint, zatrzymanie i ręczne wznowienie, a przegląd Codex uruchomiony przez MCP projektu znalazł wyścig i duplikację w przejściach stanów.
- Wynik
- Przejścia wejścia i wznowienia działają wewnątrz blokady, oceny sędziego mają unikalny klucz chroniący przed duplikatami, a granicę transakcji ustalono. Nie oznacza to usunięcia wszystkich wyścigów.
- Ograniczenie
- Commit podaje 140 kontroli, a późniejszy CHANGELOG integracji 160, więc nie są one łączone w jedną liczbę przebiegów. Zgodnie z zasadami przegląd Codex jest opcjonalnym krokiem lokalnym, więc nie oznacza to, że przeszedł go każdy wcześniejszy PR.
Źródła i pozostałe ograniczenia
- Zasady zapisują kolejność: Claude implementuje, Codex przegląda lokalnie przez MCP projektu, przegląd jest dołączany do PR, a rozbieżności są badane razem z agentem przeglądowym Claude. Automatyczny przegląd Codex w CI odłożono.
- Kontrole deweloperskie używają fixture’ów i mocków, a prawdziwe wywołania modelu wymagają osobnego zakresu. Ustalenia z przeglądu trafiają do tego samego PR, scalanego przez squash feature → main.
May 26, 2026
Zastałe zadania stały się możliwe do zdiagnozowania i zostały zwrócone według przyczyny
W trakcie rozwojuWorker tłumaczeń · kolejka
Obserwacja · ustalenieZadania pozostawione w drafcie · wyczerpane próby
- przekazanieZaobserwowane wartości→ Zestawienie failedReason · kodów wyjścia · stanu draftu (Deweloper)
CzłowiekDeweloper
DziałanieZestawienie failedReason · kodów wyjścia · stanu draftu
- przekazanie→ Przyczyna: odziedziczone NODE_OPTIONS kolidują w podprocesach (Deweloper)
CzłowiekDeweloper
Obserwacja · ustaleniePrzyczyna: odziedziczone NODE_OPTIONS kolidują w podprocesach
- odesłaneKolizja odziedziczonej opcji→ Usunięcie NODE_OPTIONS · limit współbieżności na proces (Zmiany w kodzie)
Sesja roboczaZmiany w kodzie
DziałanieUsunięcie NODE_OPTIONS · limit współbieżności na proces
- przekazanie→ Stan kolejki: waiting · active · failed · stale (Zmiany w kodzie)
Sesja roboczaZmiany w kodzie
DziałanieStan kolejki: waiting · active · failed · stale
- przekazanie→ Skan zastałych: brak w kolejce vs wykorzystane próby, rozgałęzienie według istnienia wyniku (Zmiany w kodzie)
Sesja roboczaZmiany w kodzie
DziałanieSkan zastałych: brak w kolejce vs wykorzystane próby, rozgałęzienie według istnienia wyniku
- przekazanieJeden cykl→ Skan w dev: 200 kandydatów → 106 przeniesionych · 2 ponownie zakolejkowane · 0 błędów (Artefakty)
ArtefaktyArtefakty
ArtefaktSkan w dev: 200 kandydatów → 106 przeniesionych · 2 ponownie zakolejkowane · 0 błędów
- nie zapisane wykonanieGranica interpretacji→ 106 to nie są udane tłumaczenia (Artefakty)
ArtefaktyArtefakty
Reguła · niezweryfikowane106 to nie są udane tłumaczenia
- Kontekst
- Zestawienie failedReason z BullMQ, kodów wyjścia podprocesów i zadań pozostawionych w drafcie ujawniło, że odziedziczone NODE_OPTIONS kolidowały w podprocesach. Następnie tę samą sytuację uwidoczniono jako stan kolejki.
- Wynik
- Zastałe zadania dzielą się na te, których brak w kolejce, i te, które wykorzystały próby; te drugie przechodzą, z podaniem przyczyny, do needs_review lub needs_credential w zależności od tego, czy istnieje wynik. Przegląd przez człowieka pozostaje na miejscu.
- Ograniczenie
- Limit współbieżności obowiązuje na proces. Oryginalne logi przebiegów nie były dostępne w przejrzanych materiałach; wartości opóźnień pominięto, bo żądane modele i effort nie zostały zapisane. Sam kod buildów i wydań nie jest dowodem publicznego wdrożenia.
Źródła i pozostałe ograniczenia
- CHANGELOG zapisuje propozycję równoległych gałęzi adapterów, ale nie jest ona przekształcana w zapis faktycznego wykonania równoległego.
- Pozostała część z 200 nie jest w tym zapisie rozbita na kategorie.