Leende bomullsfigur från den ursprungliga Cotton-logotypen, med bakgrund och text borttagna
Tillbaka till salen

Cotton

Translation workflow

Genererade översättningar blir resultat som kan granskas.

Ett översättningsarbetsflöde för speldialog.

2026.05.06 — 2026.05.26

Arbetsprojekt · översättningsbearbetning, bedömning och granskningsväg

  • WebbappImplementerad · utveckling

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.

Fullständig teckenförklaring

Så läser du · samma grammatik för alla fall

  • Kolumner visar vem som agerade; uppifrån och ned är tid
  • Heldragen: en registrerad överlämning eller ett nästa steg
  • Kraftig lapis ↩: ett fynd som skickade tillbaka arbetet
  • Streckad: inte en registrerad exekvering (en nedskriven regel, råd utan befogenhet, en obekräftad gräns)
  • Rektangel: en handling
  • Rundad: ett observerat tillstånd eller ett fynd
  • Vikt hörn: en artefakt eller belägg
  • Skrafferad kolumn: delar av produkten under utveckling (inte agenterna som användes för att bygga den)

Fall 1 / 2 · En ändring som stoppar när kvoten tar slut rättades i samma PR, inklusive det race condition som granskningen hittade

May 19, 2026

En ändring som stoppar när kvoten tar slut rättades i samma PR, inklusive det race condition som granskningen hittade

  1. PersonPerson

    HandlingStoppa utgifter när kvoten är slut · ingen automatisk fallback

    • överlämningImplementationsbegränsning→ Implementera checkpoint · halt · manuell återupptagning (Claude)
  2. KodagentClaude

    HandlingImplementera checkpoint · halt · manuell återupptagning

    • överlämningGranskning i samma PR→ Fynd: race condition · dubblerade tillståndsövergångar (Codex)
  3. Granskning · verifieringCodex

    Observation · fyndFynd: race condition · dubblerade tillståndsövergångar

  4. ArtefakterSamma PR

    ArtefaktI samma PR: radlås · unik poängnyckel · atomär övergång

    • överlämning→ Lokal fixture · loggar över DB-integrationskontroller (Samma PR)
  5. 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)
  6. 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

  1. 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)
  2. PersonUtvecklare

    HandlingJämför failedReason · avslutningskoder · draft-tillstånd

    • överlämning→ Orsak: ärvda NODE_OPTIONS krockar i underprocesser (Utvecklare)
  3. PersonUtvecklare

    Observation · fyndOrsak: ärvda NODE_OPTIONS krockar i underprocesser

  4. ArbetssessionKodändringar

    HandlingTa bort NODE_OPTIONS · tak för samtidighet per process

    • överlämning→ Kötillstånd: waiting · active · failed · stale (Kodändringar)
  5. 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)
  6. 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)
  7. 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)
  8. 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.