
Cotton
Translation workflow
Genererede oversættelser gøres til resultater, der kan gennemgås.
En oversættelsesarbejdsgang til spildialog.
En race condition fundet ved gennemgang, hængende job sendt tilbage efter årsag
Én case, hvor retningslinjer og commit nævner Claude til implementering og Codex til gennemgang, og én, der gjorde hængende job mulige at diagnosticere.
May 19, 2026
En ændring, der standser, når kvoten er opbrugt, blev rettet i samme PR, inklusive den race condition, gennemgangen fandt
PersonPerson
HandlingStop forbrug, når kvoten er opbrugt · ingen automatisk fallback
- overdragelseImplementeringsbegrænsning→ Implementér checkpoint · halt · manuel genoptagelse (Claude)
KodeagentClaude
HandlingImplementér checkpoint · halt · manuel genoptagelse
- overdragelseGennemgang i samme PR→ Fund: race condition · dobbelte tilstandsovergange (Codex)
Gennemgang · verifikationCodex
Observation · fundFund: race condition · dobbelte tilstandsovergange
- sendt tilbageRace condition · idempotens→ I samme PR: rækkelås · unik scorenøgle · atomisk overgang (Samme PR)
ArtefakterSamme PR
ArtefaktI samme PR: rækkelås · unik scorenøgle · atomisk overgang
- overdragelse→ Lokal fixture · logs over DB-integrationskontroller (Samme PR)
ArtefakterSamme PR
ArtefaktLokal fixture · logs over DB-integrationskontroller
- ikke en registreret udførelseKontrolleret omfang→ Ingen nye resultater fra CI eller produktionsudrulning indsamlet (Samme PR)
ArtefakterSamme PR
Regel · ubekræftetIngen nye resultater fra CI eller produktionsudrulning indsamlet
- Kontekst
- Betingelsen, en person satte, var at stoppe forbruget, når kvoten slipper op, uden automatisk fallback. Claude implementerede checkpoint, halt og manuel genoptagelse, og en Codex-gennemgang kørt via projektets MCP fandt en race condition og dobbelte tilstandsovergange.
- Resultat
- Overgange ved indgang og genoptagelse kører inden for en lås, bedømmerscorer har en unik nøgle mod dubletter, og transaktionsgrænsen blev fastlagt. Det betyder ikke, at alle race conditions blev fjernet.
- Begrænsning
- Commit'en angiver 140 kontroller og den senere integrations-CHANGELOG 160, så de slås ikke sammen til ét kørselstal. Ifølge retningslinjerne er Codex-gennemgang et valgfrit lokalt trin, så det betyder ikke, at alle tidligere PR'er gik igennem den.
Kilder og resterende begrænsninger
- Retningslinjerne fastlægger rækkefølgen: Claude implementerer, Codex gennemgår lokalt via projektets MCP, gennemgangen vedhæftes PR'en, og uenigheder undersøges sammen med Claudes gennemgangsagent. Automatisk Codex-gennemgang i CI var udskudt.
- Udviklingskontroller bruger fixtures og mocks, og reelle modelkald kræver deres eget omfang. Fund fra gennemgangen foldes ind i samme PR og squash-merges feature → main.
May 26, 2026
Hængende job blev gjort mulige at diagnosticere og sendt tilbage efter årsag
Under udviklingOversættelses-worker · kø
Observation · fundJob efterladt i draft · forsøg opbrugt
- overdragelseObserverede værdier→ Sammenhold failedReason · exitkoder · draft-tilstand (Udvikler)
PersonUdvikler
HandlingSammenhold failedReason · exitkoder · draft-tilstand
- overdragelse→ Årsag: nedarvede NODE_OPTIONS kolliderer i underprocesser (Udvikler)
PersonUdvikler
Observation · fundÅrsag: nedarvede NODE_OPTIONS kolliderer i underprocesser
- sendt tilbageKollision mellem nedarvede indstillinger→ Fjern NODE_OPTIONS · loft over samtidighed pr. proces (Kodeændringer)
ArbejdssessionKodeændringer
HandlingFjern NODE_OPTIONS · loft over samtidighed pr. proces
- overdragelse→ Køtilstand: waiting · active · failed · stale (Kodeændringer)
ArbejdssessionKodeændringer
HandlingKøtilstand: waiting · active · failed · stale
- overdragelse→ Oprydning af hængende job: mangler i køen vs. forsøg opbrugt, forgrenet efter om der findes et resultat (Kodeændringer)
ArbejdssessionKodeændringer
HandlingOprydning af hængende job: mangler i køen vs. forsøg opbrugt, forgrenet efter om der findes et resultat
- overdragelseÉn cyklus→ Oprydning i udvikling: 200 kandidater → 106 flyttet · 2 sat i kø igen · 0 fejl (Artefakter)
ArtefakterArtefakter
ArtefaktOprydning i udvikling: 200 kandidater → 106 flyttet · 2 sat i kø igen · 0 fejl
- ikke en registreret udførelseFortolkningens grænse→ De 106 er ikke vellykkede oversættelser (Artefakter)
ArtefakterArtefakter
Regel · ubekræftetDe 106 er ikke vellykkede oversættelser
- Kontekst
- En sammenholdning af BullMQ's failedReason, underprocessers exitkoder og job efterladt i draft viste, at nedarvede NODE_OPTIONS kolliderede i underprocesser. Derefter blev samme situation gjort synlig som køtilstand.
- Resultat
- Hængende job deles i dem, der mangler i køen, og dem, der har opbrugt deres forsøg; de sidste flyttes med en begrundelse til needs_review eller needs_credential, afhængigt af om der findes et resultat. Menneskelig gennemgang bevares.
- Begrænsning
- Loftet over samtidighed gælder pr. proces. Originale kørselslogs var ikke tilgængelige i det gennemgåede materiale; latenstal er udeladt, fordi de anmodede modeller og effort ikke blev registreret. Build- og release-kode alene er ikke belæg for offentlig udrulning.
Kilder og resterende begrænsninger
- CHANGELOG indeholder et forslag om parallelle adapter-branches, men det gøres ikke til en optegnelse af faktisk parallel udførelse.
- Resten af de 200 er ikke opdelt i dette materiale.