
Cotton
Translation workflow
Genererte oversettelser gjøres om til resultater som kan gjennomgås.
En oversettelsesarbeidsflyt for spilldialog.
En race condition funnet ved gjennomgang, hengende jobber sendt tilbake etter årsak
Ett case der retningslinjer og commit nevner Claude for implementering og Codex for gjennomgang, og ett som gjorde hengende jobber mulige å diagnostisere.
May 19, 2026
En endring som stanser når kvoten er brukt opp, ble rettet i samme PR, inkludert race condition-en gjennomgangen fant
PersonPerson
HandlingStopp forbruk når kvoten er brukt opp · ingen automatisk fallback
- overleveringImplementeringsbegrensning→ Implementer checkpoint · halt · manuell gjenopptakelse (Claude)
KodeagentClaude
HandlingImplementer checkpoint · halt · manuell gjenopptakelse
- overleveringGjennomgang i samme PR→ Funn: race condition · dupliserte tilstandsoverganger (Codex)
Gjennomgang · verifiseringCodex
Observasjon · funnFunn: race condition · dupliserte tilstandsoverganger
- sendt tilbakeRace condition · idempotens→ I samme PR: radlås · unik scorenøkkel · atomisk overgang (Samme PR)
ArtefakterSamme PR
ArtefaktI samme PR: radlås · unik scorenøkkel · atomisk overgang
- overlevering→ Lokal fixture · logger over DB-integrasjonskontroller (Samme PR)
ArtefakterSamme PR
ArtefaktLokal fixture · logger over DB-integrasjonskontroller
- ikke en registrert utførelseKontrollert omfang→ Ingen nye resultater fra CI eller produksjonsutrulling samlet inn (Samme PR)
ArtefakterSamme PR
Regel · ubekreftetIngen nye resultater fra CI eller produksjonsutrulling samlet inn
- Kontekst
- Betingelsen en person satte, var å stoppe forbruket når kvoten tar slutt, uten automatisk fallback. Claude implementerte checkpoint, halt og manuell gjenopptakelse, og en Codex-gjennomgang kjørt via prosjektets MCP fant en race condition og duplisering i tilstandsovergangene.
- Resultat
- Overganger ved inngang og gjenopptakelse kjører innenfor en lås, bedømmerscorer har en unik nøkkel mot duplikater, og transaksjonsgrensen ble fastsatt. Det betyr ikke at alle race conditions ble fjernet.
- Begrensning
- Commiten oppgir 140 kontroller og den senere integrasjons-CHANGELOG 160, så de slås ikke sammen til ett kjøretall. Ifølge retningslinjene er Codex-gjennomgang et valgfritt lokalt steg, så det betyr ikke at alle tidligere PR-er gikk gjennom den.
Kilder og gjenværende begrensninger
- Retningslinjene fastsetter rekkefølgen: Claude implementerer, Codex gjennomgår lokalt via prosjektets MCP, gjennomgangen legges ved PR-en, og uenigheter undersøkes sammen med Claudes gjennomgangsagent. Automatisk Codex-gjennomgang i CI var utsatt.
- Utviklingskontroller bruker fixtures og mocker, og faktiske modellkall krever eget omfang. Funn fra gjennomgangen foldes inn i samme PR og squash-flettes feature → main.
May 26, 2026
Hengende jobber ble gjort mulige å diagnostisere og sendt tilbake etter årsak
Under utviklingOversettelses-worker · kø
Observasjon · funnJobber liggende i draft · forsøk brukt opp
- overleveringObserverte verdier→ Sammenstill failedReason · avslutningskoder · draft-tilstand (Utvikler)
PersonUtvikler
HandlingSammenstill failedReason · avslutningskoder · draft-tilstand
- overlevering→ Årsak: arvede NODE_OPTIONS kolliderer i underprosesser (Utvikler)
PersonUtvikler
Observasjon · funnÅrsak: arvede NODE_OPTIONS kolliderer i underprosesser
- sendt tilbakeKollisjon mellom arvede innstillinger→ Fjern NODE_OPTIONS · tak for samtidighet per prosess (Kodeendringer)
ArbeidssesjonKodeendringer
HandlingFjern NODE_OPTIONS · tak for samtidighet per prosess
- overlevering→ Køtilstand: waiting · active · failed · stale (Kodeendringer)
ArbeidssesjonKodeendringer
HandlingKøtilstand: waiting · active · failed · stale
- overlevering→ Opprydding av hengende jobber: mangler i køen vs. forsøk brukt opp, forgrenet etter om det finnes et resultat (Kodeendringer)
ArbeidssesjonKodeendringer
HandlingOpprydding av hengende jobber: mangler i køen vs. forsøk brukt opp, forgrenet etter om det finnes et resultat
- overleveringÉn syklus→ Opprydding i utvikling: 200 kandidater → 106 flyttet · 2 satt i kø på nytt · 0 feil (Artefakter)
ArtefakterArtefakter
ArtefaktOpprydding i utvikling: 200 kandidater → 106 flyttet · 2 satt i kø på nytt · 0 feil
- ikke en registrert utførelseTolkningens grense→ De 106 er ikke vellykkede oversettelser (Artefakter)
ArtefakterArtefakter
Regel · ubekreftetDe 106 er ikke vellykkede oversettelser
- Kontekst
- En sammenstilling av failedReason i BullMQ, underprosessers avslutningskoder og jobber som ble liggende i draft, viste at arvede NODE_OPTIONS kolliderte i underprosesser. Deretter ble samme situasjon gjort synlig som køtilstand.
- Resultat
- Hengende jobber deles i dem som mangler i køen, og dem som har brukt opp forsøkene sine; de siste flyttes, med en begrunnelse, til needs_review eller needs_credential avhengig av om det finnes et resultat. Menneskelig gjennomgang beholdes.
- Begrensning
- Taket for samtidighet gjelder per prosess. Opprinnelige kjørelogger var ikke tilgjengelige i det gjennomgåtte materialet; latenstall er utelatt fordi de forespurte modellene og effort ikke ble registrert. Bygg- og releasekode alene er ikke belegg for offentlig utrulling.
Kilder og gjenværende begrensninger
- CHANGELOG inneholder et forslag om parallelle adapter-grener, men det gjøres ikke om til en registrering av faktisk parallell utførelse.
- Resten av de 200 er ikke brutt ned i dette underlaget.