
Cotton
Translation workflow
Genererade översättningar blir resultat som kan granskas.
Ett översättningsarbetsflöde för speldialog.
Ett race condition som granskningen hittade, hängande jobb återförda efter orsak
Ett fall där riktlinjer och commit anger Claude för implementation och Codex för granskning, och ett som gjorde hängande jobb möjliga att diagnostisera.
May 19, 2026
En ändring som stoppar när kvoten tar slut rättades i samma PR, inklusive det race condition som granskningen hittade
PersonPerson
HandlingStoppa utgifter när kvoten är slut · ingen automatisk fallback
- överlämningImplementationsbegränsning→ Implementera checkpoint · halt · manuell återupptagning (Claude)
KodagentClaude
HandlingImplementera checkpoint · halt · manuell återupptagning
- överlämningGranskning i samma PR→ Fynd: race condition · dubblerade tillståndsövergångar (Codex)
Granskning · verifieringCodex
Observation · fyndFynd: race condition · dubblerade tillståndsövergångar
- skickad tillbakaRace condition · idempotens→ I samma PR: radlås · unik poängnyckel · atomär övergång (Samma PR)
ArtefakterSamma PR
ArtefaktI samma PR: radlås · unik poängnyckel · atomär övergång
- överlämning→ Lokal fixture · loggar över DB-integrationskontroller (Samma PR)
ArtefakterSamma PR
ArtefaktLokal fixture · loggar över DB-integrationskontroller
- inte en registrerad exekveringKontrollerat omfång→ Inga nya resultat från CI eller produktionsdriftsättning insamlade (Samma PR)
ArtefakterSamma PR
Regel · obekräftadInga nya resultat från CI eller produktionsdriftsättning insamlade
- Kontext
- Villkoret som en människa satte var att stoppa utgifterna när kvoten tar slut, utan automatisk fallback. Claude implementerade checkpoint, halt och manuell återupptagning, och en Codex-granskning som kördes via projektets MCP hittade ett race condition och dubblering i tillståndsövergångarna.
- Resultat
- Övergångar vid ingång och återupptagning körs inom ett lås, bedömarpoäng har en unik nyckel mot dubbletter, och transaktionsgränsen fastställdes. Det betyder inte att alla race conditions togs bort.
- Begränsning
- Commiten anger 140 kontroller och den senare integrations-CHANGELOG 160, så de slås inte samman till ett körningsantal. Enligt riktlinjerna är Codex-granskning ett valfritt lokalt steg, så det betyder inte att alla tidigare PR:er gick igenom den.
Källor och återstående begränsningar
- Riktlinjerna anger ordningen: Claude implementerar, Codex granskar lokalt via projektets MCP, granskningen bifogas PR:en, och oenigheter utreds tillsammans med Claudes granskningsagent. Automatisk Codex-granskning i CI hade skjutits upp.
- Utvecklingskontroller använder fixtures och mockar, och verkliga modellanrop kräver ett eget omfång. Granskningsfynd viks in i samma PR och squash-sammanfogas feature → main.
May 26, 2026
Hängande jobb gjordes möjliga att diagnostisera och återfördes efter orsak
Under utvecklingÖversättnings-worker · kö
Observation · fyndJobb kvar i draft · försök förbrukade
- överlämningObserverade värden→ Jämför failedReason · avslutningskoder · draft-tillstånd (Utvecklare)
PersonUtvecklare
HandlingJämför failedReason · avslutningskoder · draft-tillstånd
- överlämning→ Orsak: ärvda NODE_OPTIONS krockar i underprocesser (Utvecklare)
PersonUtvecklare
Observation · fyndOrsak: ärvda NODE_OPTIONS krockar i underprocesser
- skickad tillbakaKrock mellan ärvda inställningar→ Ta bort NODE_OPTIONS · tak för samtidighet per process (Kodändringar)
ArbetssessionKodändringar
HandlingTa bort NODE_OPTIONS · tak för samtidighet per process
- överlämning→ Kötillstånd: waiting · active · failed · stale (Kodändringar)
ArbetssessionKodändringar
HandlingKötillstånd: waiting · active · failed · stale
- överlämning→ Städning av hängande jobb: saknas i kön vs. försök förbrukade, förgrenat efter om ett resultat finns (Kodändringar)
ArbetssessionKodändringar
HandlingStädning av hängande jobb: saknas i kön vs. försök förbrukade, förgrenat efter om ett resultat finns
- överlämningEn cykel→ Städning i utveckling: 200 kandidater → 106 flyttade · 2 köade om · 0 fel (Artefakter)
ArtefakterArtefakter
ArtefaktStädning i utveckling: 200 kandidater → 106 flyttade · 2 köade om · 0 fel
- inte en registrerad exekveringTolkningens gräns→ De 106 är inte lyckade översättningar (Artefakter)
ArtefakterArtefakter
Regel · obekräftadDe 106 är inte lyckade översättningar
- Kontext
- En jämförelse av BullMQ:s failedReason, underprocessers avslutningskoder och jobb som lämnats i draft visade att ärvda NODE_OPTIONS krockade i underprocesser. Därefter gjordes samma situation synlig som kötillstånd.
- Resultat
- Hängande jobb delas upp i sådana som saknas i kön och sådana som har förbrukat sina försök; de senare flyttas, med en orsak, till needs_review eller needs_credential beroende på om ett resultat finns. Den mänskliga granskningen finns kvar.
- Begränsning
- Taket för samtidighet gäller per process. Ursprungliga körloggar fanns inte i det granskade materialet; latenssiffror har utelämnats eftersom de begärda modellerna och effort inte registrerades. Bygg- och releasekod i sig är inget belägg för offentlig driftsättning.
Källor och återstående begränsningar
- CHANGELOG innehåller ett förslag om parallella adapter-grenar, men det görs inte om till en registrering av faktisk parallell exekvering.
- Resten av de 200 bryts inte ned i detta underlag.