Усміхнений персонаж-бавовна з оригінального логотипа 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: блокування рядка · унікальний ключ оцінки · атомарний перехід

    • передача→ Записи локальних фікстур · перевірки інтеграції з БД (Той самий PR)
  5. АртефактиТой самий PR

    АртефактЗаписи локальних фікстур · перевірки інтеграції з БД

    • не записане виконанняОбсяг перевірено→ Нових результатів CI чи продакшн-розгортання не зібрано (Той самий PR)
  6. АртефактиТой самий PR

    Правило · не перевіреноНових результатів CI чи продакшн-розгортання не зібрано

Контекст
Умова, яку поставила людина, — припиняти витрати, коли квота вичерпана, без автоматичного fallback. Claude реалізував контрольну точку, зупинку й ручне відновлення, а рев’ю Codex, запущене через MCP проєкту, знайшло стан гонитви й дублювання в переходах стану.
Результат
Переходи входу й відновлення виконуються під блокуванням, оцінки судді мають унікальний ключ проти дублікатів, а межу транзакції визначено. Це не означає, що всі стани гонитви усунуто.
Межа
Коміт зазначає 140 перевірок, а пізніший CHANGELOG інтеграції — 160, тож їх не зведено в одну кількість запусків. За політикою рев’ю Codex — необов’язковий локальний крок, тож це не означає, що кожен минулий PR його пройшов.
Джерела й залишкові обмеження
  • Політика фіксує порядок: Claude реалізує, Codex рецензує локально через MCP проєкту, рев’ю додається до PR, а розбіжності розслідуються разом з агентом рев’ю Claude. Автоматичне рев’ю Codex у CI було відкладено.
  • Перевірки під час розробки використовують фікстури й моки, а реальні виклики моделі потребують окремого обсягу. Зауваження рев’ю вносяться в той самий 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 у цьому записі не деталізовано.