Усмихнат памучен персонаж от оригиналното лого на Cotton, без фона и надписа
Обратно в залата

Cotton

Translation workflow

От генерирани преводи към резултати, които могат да се прегледат.

Работен поток за превод на диалози от игри.

2026.05.06 — 2026.05.26

Работен проект · обработка на преводи, преценка и път за преглед

  • Уеб приложениеРеализирано · среда за разработка

Състезание, открито при прегледа, блокирали задачи, върнати според причината

Един случай, в който политиката и къмитът посочват Claude за реализацията и Codex за прегледа, и един, който направи блокиралите задачи диагностицируеми.

Пълна легенда

Как да се чете · една граматика за всички случаи

  • Колоните показват кой е действал; отгоре надолу тече времето
  • Плътна: записано предаване или следваща стъпка
  • Дебела лазурна ↩: констатация, която върна работата
  • Прекъсната: не е записано изпълнение (писано правило, съвет без правомощие, непотвърдена граница)
  • Правоъгълник: действие
  • Заоблено: наблюдавано състояние или констатация
  • Прегънат ъгъл: артефакт или доказателство
  • Щрихована колона: части от разработвания продукт (не агентите, използвани за изграждането му)

Случай 1 / 2 · Промяна, която спира работата при изчерпана квота, беше поправена в същия PR, включително състоянието на състезание, открито при прегледа

May 19, 2026

Промяна, която спира работата при изчерпана квота, беше поправена в същия PR, включително състоянието на състезание, открито при прегледа

  1. ЧовекЧовек

    ДействиеСпиране на разходите при изчерпана квота · без автоматичен fallback

    • предаванеОграничение за реализацията→ Реализация на контролна точка · спиране · ръчно продължаване (Claude)
  2. Агент за програмиранеClaude

    ДействиеРеализация на контролна точка · спиране · ръчно продължаване

    • предаванеПреглед в същия PR→ Констатация: състояние на състезание · дублирани преходи между състояния (Codex)
  3. Преглед · проверкаCodex

    Наблюдение · констатацияКонстатация: състояние на състезание · дублирани преходи между състояния

  4. АртефактиСъщият PR

    АртефактВ същия PR: заключване на ред · уникален ключ на оценката · атомарен преход

    • предаване→ Локален fixture · записи от интеграционна проверка с базата данни (Същият PR)
  5. АртефактиСъщият PR

    АртефактЛокален fixture · записи от интеграционна проверка с базата данни

    • не е записано изпълнениеПроверен обхват→ Не са събрани нови резултати от CI или от продуктивно внедряване (Същият PR)
  6. АртефактиСъщият PR

    Правило · непотвърденоНе са събрани нови резултати от CI или от продуктивно внедряване

Контекст
Условието, зададено от човек, беше разходите да спират, когато квотата се изчерпи, без автоматичен fallback. Claude реализира контролна точка, спиране и ръчно продължаване, а преглед на Codex, изпълнен чрез MCP на проекта, откри състезание и дублиране в преходите между състоянията.
Резултат
Преходите при влизане и продължаване се изпълняват под заключване, оценките на съдията имат уникален ключ срещу дубликати, а границата на транзакцията е определена. Това не означава, че всички състояния на състезание са премахнати.
Ограничение
Къмитът посочва 140 проверки, а по-късният интеграционен CHANGELOG – 160, затова не са обединени в един брой изпълнения. Според политиката прегледът от Codex е незадължителна локална стъпка, така че това не означава, че всеки минал PR е минал през него.
Източници и оставащи ограничения
  • Политиката записва реда: Claude реализира, Codex преглежда локално чрез MCP на проекта, прегледът се прикачва към PR, а несъгласията се проучват заедно с агента за преглед на Claude. Автоматичният преглед от Codex в CI беше отложен.
  • Проверките при разработката използват fixtures и mocks, а реалните извиквания на модели изискват собствен обхват. Констатациите от прегледа се включват в същия PR и се сливат със squash feature → main.

May 26, 2026

Блокиралите задачи бяха направени диагностицируеми и върнати според причината

  1. Обект на разработкаРаботен процес за превод · опашка

    Наблюдение · констатацияЗадачи, останали в draft · изчерпани опити

    • предаванеНаблюдавани стойности→ Сравняване на failedReason · кодове за изход · състояние draft (Разработчик)
  2. ЧовекРазработчик

    ДействиеСравняване на failedReason · кодове за изход · състояние draft

    • предаване→ Причина: наследеният NODE_OPTIONS предизвиква конфликт в подпроцесите (Разработчик)
  3. ЧовекРазработчик

    Наблюдение · констатацияПричина: наследеният NODE_OPTIONS предизвиква конфликт в подпроцесите

  4. Работна сесияПромени в кода

    ДействиеПремахване на NODE_OPTIONS · лимит на паралелността за процес

    • предаване→ Състояние на опашката: waiting · active · failed · stale (Промени в кода)
  5. Работна сесияПромени в кода

    ДействиеСъстояние на опашката: waiting · active · failed · stale

    • предаване→ Проверка stale: липсва в опашката срещу изчерпани опити, разклонение според наличието на резултат (Промени в кода)
  6. Работна сесияПромени в кода

    ДействиеПроверка stale: липсва в опашката срещу изчерпани опити, разклонение според наличието на резултат

    • предаванеЕдин цикъл→ Проверка в dev: 200 кандидата → 106 преместени · 2 върнати в опашката · 0 грешки (Артефакти)
  7. АртефактиАртефакти

    АртефактПроверка в dev: 200 кандидата → 106 преместени · 2 върнати в опашката · 0 грешки

    • не е записано изпълнениеГраница на тълкуването→ 106-те не са успешни преводи (Артефакти)
  8. АртефактиАртефакти

    Правило · непотвърдено106-те не са успешни преводи

Контекст
Сравняването на failedReason от BullMQ, кодовете за изход на подпроцесите и задачите, останали в draft, показа, че наследеният NODE_OPTIONS предизвиква конфликт в подпроцесите. След това същата ситуация беше направена видима като състояние на опашката.
Резултат
Блокиралите задачи се делят на липсващи от опашката и такива, които са изчерпали опитите си; вторите преминават, с посочена причина, в needs_review или needs_credential според това дали има резултат. Човешкият преглед остава.
Ограничение
Лимитът на паралелността е за процес. Оригиналните логове от изпълненията не бяха налични в прегледания материал; стойности за латентността са пропуснати, защото поисканите модели и effort не са записани. Кодът за изграждане и издаване сам по себе си не е доказателство за публично внедряване.
Източници и оставащи ограничения
  • CHANGELOG записва предложение за паралелни клонове на адаптера, но то не е превърнато в запис за реално паралелно изпълнение.
  • Останалата част от 200-те не е разбита в този запис.