Usmiata postavička bavlny z pôvodného loga Cotton, bez pozadia a nápisu
Späť do sály

Cotton

Translation workflow

Vygenerované preklady ako výsledky pripravené na revíziu.

Pracovný postup na preklad dialógov v hrách.

2026.05.06 — 2026.05.26

Pracovný projekt · spracovanie, posudzovanie a cesta revízie prekladov

  • Webová aplikáciaImplementované · vývojové prostredie

Cotton vocabulary

Lens
Refinement Loop
Translation
Quality Estimation
Workflow
Job Control
Human Review
  1. prompt layers
  2. glossary
  3. generation
  4. revision
  1. judge
  2. hard gate
  3. score
  1. intake
  2. checkpoint
  3. spend control
  4. stale sweep
  1. approval
  2. correction
  3. audit trail

Prompt Layers: SYSTEM_PROMPT_L0 · buildTranslateUserMessage · L1 CONTRACT · L3 SPEAKER · L6 SOURCE · L7 INSTRUCTION · ICU PLACEHOLDER · INLINE TAG · TARGET TEXT ONLY · FORCED MAPPING · L2 GLOSSARY · speaker_keyGlossary: glossary_term · fetchGlossaryHits · canonical_form · forbidden_translations · SUBSTRING MATCH · FORCED MAPPING · FORBIDDEN ALTERNATIVE · L2 GLOSSARY · glossary_hits · glossary_complianceGeneration: AdapterRegistry · anthropic-sdk · openai-sdk · claude-local · codex-local · llm_plan · PIVOT_VIA · shouldPivot · COTTON_ADAPTER_CONCURRENCY · NODE_OPTIONS · pivot_register_carry · translation.refinedRevision: buildTranslateUserMessage · L7 INSTRUCTION · runRefinementLoop · priorAttempt · priorCritique · REJECTED BY THE JUDGE · maxTurns · willRetry · RefinementHooks · HOOK ABORT · turn_count_to_final · critique_for_retry · failingDimensions · cost_ceiling_usd · needs_reviewJudge: glossary_hits · runJudge · JUDGE_SYSTEM_PROMPT · judgeModel · TEMPERATURE 0 · parseJudgeResponse · FOUR-SECTION XML · VERBATIM CHUNKS · severity · critique_for_retry · judge_citation · missingHardGates · TRIGGER ABSENT = PASS · judge.scoredHard Gate: ICU PLACEHOLDER · INLINE TAG · FORBIDDEN ALTERNATIVE · hard_gate_fail · hardGatePassed · glossary_compliance · cps_budget_compliant · icu_validity · inline_tag_preserved · length_constraint · HARD GATE FIRST · missingHardGates · TRIGGER ABSENT = PASSScore: HARD GATE FIRST · computeVerdict · cottonEvalScore · WEIGHTED AVERAGE · tone_register · personality_consistent · emotional_state_match · cultural_marker_preserved · accuracy · pivot_register_carry · auto_approve_threshold · failingDimensions · approval_gate · judge.scoredIntake: processXlsxBytes · classifySheetName · parseGoogleSheetsUrl · source_file · content_sha256 · extractStageDirection · speaker_key · ingest_session · segment.ingested · github.push.receivedCheckpoint: translation_progress · last_completed_step · turn_translated · turn_judged · finalized · jobEntryGuard · SELECT FOR UPDATE · attempt_count · DEFAULT_MAX_RESUME_ATTEMPTS · TWO-TX SPLIT · ON CONFLICT DO NOTHINGSpend Control: llm_plan · costCap · cost_ceiling_usd · rateLimit · FailoverDispatcher · haltOnQuota · detectQuotaFromStream · quota_daily_exhausted · auth_revoked · NO AUTO-SWAP · needs_credential · POST /:id/resumeStale Sweep: COTTON_ADAPTER_CONCURRENCY · NODE_OPTIONS · attempt_count · runStaleSweep · STALE_THRESHOLD_INTERVAL · DLQ_ATTEMPT_CAP · LIMIT 200 · re_enqueued · dead_lettered · ORPHAN RE-ENQUEUE · IN-FLIGHT SET · /health/queues · maxStalledCount · needs_reviewApproval: auto_approve_threshold · ingest_session · SELECT FOR UPDATE · needs_credential · POST /:id/resume · POST /:id/approve · POST /:id/unapprove · POST /:id/reject · APPROVE_FROM · REJECT_FROM · needs_review · reviewer_id · HITL · approval_gate · translation.approved · EDIT & APPROVE · actor_idCorrection: POST /:id/correct · corrected_text · CORRECT_FROM · EDIT & APPROVE · human_corrected_segments · human-corrected-after-mt · translation.human_corrected · supersedes · NEW REVISION · IMMUTABLE HISTORYAudit Trail: turn_count_to_final · severity · judge_citation · content_sha256 · segment.ingested · github.push.received · translation.approved · human_corrected_segments · translation.human_corrected · IMMUTABLE HISTORY · event_log · appendNextEvent · ULID · AGGREGATE VERSION · translation_state_log · actor_id · llm_call_log · telemetryHook · judge.scored · translation.refined

Skóre, opakovania a ľudská revízia, každé na vlastnej hranici.

Generovanie a hodnotenie zdieľajú glosár a nesplnenie tvrdého kritéria nahlásené hodnotiacim modelom nemôže vyrovnať priemerné skóre. Medzistavy prekladu a hodnotenia sa zaznamenávajú, limity opakovaní a nákladov sú oddelené od vyčerpaných prihlasovacích údajov a uviaznuté úlohy sa vracajú do frontu alebo na revíziu podľa príčiny.

Tento pracovný projekt spája v jednom toku generovanie prekladov, hodnotenie kvality hlásené modelom, opakovania a ľudskú revíziu.

Od založenia repozitára po prácu potvrdenú počas spolupráce

Webová aplikácia s obrazovkami na úpravu a schvaľovanie prekladov, API a workerom úloh, bežiaca vo vývojovom prostredí.

Mapa toku rozhodovania · z neverejných záznamov implementácie
Cotton: hodnotenie prekladov · opakovanie · obnovaAPI zapíše do databázy zdrojový text a cieľové jazyky a potom zaradí do frontu úlohu pre každý cieľový jazyk. Worker uzamkne riadok, skontroluje pokus, vytvorí draft a stav postupu, vygeneruje preklad s glosárom a osobitne zavolá hodnotiaci model s rovnakým glosárom. Preklad (Tx1) a hodnotenie s dokladmi (Tx2) sa zaznamenávajú v samostatných transakciách. Kód agreguje hodnotenie tak, aby nesplnenie tvrdého kritéria nevyrovnal priemer: úspech sa finalizuje, neúspech dostane ďalší ťah, limit ťahov alebo nákladov ho pošle na ľudskú revíziu a signál kvóty alebo autentifikácie zastaví výdavky a čaká na kontrolu prihlasovacích údajov. Kontrola uviaznutých prechádza najviac 200 draftov starších ako 10 minút: draft so zostávajúcimi pokusmi, ktorý vo fronte chýba, sa znova zaradí a draft s vyčerpanými pokusmi ide na revíziu alebo kontrolu prihlasovacích údajov podľa toho, či existuje výsledok.Zdroj · cieľové jazykyUložené segmentyĽudská revízianeeds_review · nie schválenieKontrola prihlasovacích údajovneeds_credentialAPI · registrácia úlohZaradenie do frontu po zápiseFront úlohBullMQ · ID úlohyVstup úlohyZámok riadka · kontrola pokusuGlosár · kontextGlosár pracovného priestoruŤah prekladuGenerovanie · volanie modeluVolanie hodnotiaceho modelu · parsovaniePravidlá rozhodnutiaTvrdé kritérium · vážený priemerOpakovania · výdavkyŤahy · náklady · kvótaStav prekladuDraft · postupRiadky prekladov · hodnoteníStav · log volaníFinalizáciaZáverečná transakciaKontrola frontuPorovnanie stavu frontuKontrola uviaznutýchDrafty staršie ako 10 min · najviac 200Vstup · frontGenerovanie · hodnotenieStav · prijatieObnova · ľudské rozhodnutie1zdroj2po zápise3 doručenie úlohy · BullMQ · ID úlohy → Zámok riadka · kontrola pokusu34riadok postupu5pokus povolený1glosár2 rovnaký glosár · Glosár pracovného priestoru → Volanie hodnotiaceho modelu · parsovanie23Tx1 · preklad4Tx2 · hodnotenie5 skóre · kritériá · Volanie hodnotiaceho modelu · parsovanie → Tvrdé kritérium · vážený priemer56 rozhodnutie · Tvrdé kritérium · vážený priemer → Ťahy · náklady · kvóta67pass8konečný záznam1 rozhodnutie · Tvrdé kritérium · vážený priemer → Ťahy · náklady · kvóta12ďalší ťah3limit · prerušenie4kvóta · autentifikácia5ručné obnovenie1uviaznutý draft2pod limitom3nové zaradenie4 výsledok existuje · Drafty staršie ako 10 min · najviac 200 → Ľudská revízia45bez výsledku

Registrácia → vstup

Zaradené do frontu po zápise do databázy; worker uzamkne riadok, skontroluje pokus a vytvorí draft.

  1. Zdroj · cieľové jazykyDáta: zdrojZaradenie do frontu po zápiseAPI · registrácia úloh

    Zdrojové segmenty a cieľové jazyky projektu sa ukladajú do databázy. Dáta zákazníka sa nezobrazujú.

  2. Zaradenie do frontu po zápiseAPI · registrácia úlohDáta: po zápiseBullMQ · ID úlohyFront úloh

    Po zápise do databázy sa pre každý aktívny cieľový jazyk zaradí úloha s ID určeným požiadavkou. Ak zaradenie zlyhá, zaloguje sa len varovanie a zápis sa nevracia (bez atomického outboxu), preto existuje kontrola uviaznutých.

  3. BullMQ · ID úlohyFront úlohSpustenie · rozhodnutie: doručenie úlohyZámok riadka · kontrola pokusuVstup úlohy

    BullMQ odovzdá úlohu workeru asynchrónne.

  4. Zámok riadka · kontrola pokusuVstup úlohyDáta: riadok postupuDraft · postupStav prekladu

    V transakcii sa uzamkne riadok postupu a vytvorí sa rozpracovaný preklad. Automatické opakovania finalizovaných úloh alebo úloh pozastavených pre prihlasovacie údaje sa preskakujú; ručné požiadavky sa spracúvajú osobitne.

  5. Zámok riadka · kontrola pokusuVstup úlohySpustenie · rozhodnutie: pokus povolenýGenerovanie · volanie modeluŤah prekladu

    Počet pokusov sa v rámci limitu zvýši o jeden a potom začne ťah prekladu.

Generovanie → hodnotenie → finalizácia

Generovanie aj hodnotenie používajú rovnaký glosár; preklad a hodnotenie sa zaznamenávajú osobitne a kód hodnotenie pred finalizáciou agreguje.

  1. Glosár pracovného priestoruGlosár · kontextDáta: glosárGenerovanie · volanie modeluŤah prekladu

    Glosár pracovného priestoru a kontext sa vyhľadajú a odovzdajú generovaniu.

  2. Glosár pracovného priestoruGlosár · kontextDáta: rovnaký glosárVolanie hodnotiaceho modelu · parsovanieŤah prekladu

    Hodnotenie dostáva rovnaké obmedzenia glosára.

  3. Generovanie · volanie modeluŤah prekladuDáta: Tx1 · prekladRiadky prekladov · hodnoteníStav prekladu

    Model sa volá priamo alebo cez pivot en-US a volanie, udalosť aj postup sa zapíšu v jednej transakcii. Ak sa úloha po páde spustí znova, prekladové volanie aj jeho náklady sa môžu opakovať.

  4. Volanie hodnotiaceho modelu · parsovanieŤah prekladuDáta: Tx2 · hodnotenieRiadky prekladov · hodnoteníStav prekladu

    Skóre sudcu a doklady sa vkladajú raz na preklad a ťah; duplicita nájde existujúci riadok a citácie sa zapisujú len pri prvom vložení. Nejde o tú istú transakciu ako pri preklade.

  5. Volanie hodnotiaceho modelu · parsovanieŤah prekladuDáta: skóre · kritériáTvrdé kritérium · vážený priemerPravidlá rozhodnutia

    Odpoveď hodnotiaceho modelu sa parsuje na skóre podľa dimenzií a výsledky kritérií. Či glosár prešiel, hlási hodnotiaci model.

  6. Tvrdé kritérium · vážený priemerPravidlá rozhodnutiaSpustenie · rozhodnutie: rozhodnutieŤahy · náklady · kvótaOpakovania · výdavky

    Akékoľvek nahlásené nesplnenie tvrdého kritéria znamená nulu a neúspech; až potom sa uplatní vážený priemer a prahy dimenzií. Celkový prah 8.0 je predvolená hodnota konfigurácie, nie pozorovaná kvalita prekladu.

  7. Ťahy · náklady · kvótaOpakovania · výdavkySpustenie · rozhodnutie: passZáverečná transakciaFinalizácia

    Úspech sa finalizuje ako translated.

  8. Záverečná transakciaFinalizáciaDáta: konečný záznamStav · log volaníStav prekladu

    Kandidát, stav, skóre a ťahy sa finalizujú a postup finalized a log stavu sa zapíšu v jednej transakcii. Udalosť dokončenia prekladu sa vyšle len pre translated.

Opakovania · limity výdavkov

Neúspech znamená ďalší ťah; limit znamená ľudskú revíziu; kvóta alebo autentifikácia zastaví výdavky a čaká na obnovenie operátorom.

  1. Tvrdé kritérium · vážený priemerPravidlá rozhodnutiaSpustenie · rozhodnutie: rozhodnutieŤahy · náklady · kvótaOpakovania · výdavky

    Akékoľvek nahlásené nesplnenie tvrdého kritéria znamená nulu a neúspech; až potom sa uplatní vážený priemer a prahy dimenzií. Celkový prah 8.0 je predvolená hodnota konfigurácie, nie pozorovaná kvalita prekladu.

  2. Ťahy · náklady · kvótaOpakovania · výdavkySpustenie · rozhodnutie: ďalší ťahGenerovanie · volanie modeluŤah prekladu

    Preklad, ktorý neprejde, sa vygeneruje znova s predchádzajúcim prekladom a kritikou. Aj nesplnenie tvrdého kritéria môže dostať najprv opakovanie namiesto toho, aby išlo rovno k človeku.

  3. Ťahy · náklady · kvótaOpakovania · výdavkySpustenie · rozhodnutie: limit · prerušenieĽudská revízia

    Keď dôjdu ťahy alebo sa dosiahne strop nákladov, úloha sa finalizuje ako needs_review. Finalizované znamená, že spracovanie skončilo, nie že ho človek schválil.

  4. Ťahy · náklady · kvótaOpakovania · výdavkyZlyhanie · limit: kvóta · autentifikáciaKontrola prihlasovacích údajov

    Signál kvóty alebo autentifikácie zastaví výdavky a nastaví needs_credential. Automatické prepnutie na iný účet alebo poskytovateľa neexistuje. Chyby prenosu bez signálu zastavenia sa vracajú k opakovaniu v BullMQ.

  5. Kontrola prihlasovacích údajovSpustenie · rozhodnutie: ručné obnovenieBullMQ · ID úlohyFront úloh

    Operátor, ktorý skontroloval prihlasovacie údaje, výslovne spustí prácu znova.

Obnova uviaznutých úloh

Staré drafty sa delia podľa príčiny: chýbajúce vo fronte sa znova zaradia, vyčerpané pokusy vedú k ľudskému rozhodnutiu.

  1. Draft · postupStav prekladuPozorovanie · správa: uviaznutý draftDrafty staršie ako 10 min · najviac 200Kontrola uviaznutých

    Číta sa najviac 200 kandidátov, ktorí sú draftmi dlhšie ako 10 minút, od najstarších. Dopyt nezamyká a aktualizácie a logy bežia ako samostatné príkazy, preto sa neopisuje ako dávka bez súbehov.

  2. Drafty staršie ako 10 min · najviac 200Kontrola uviaznutýchSpustenie · rozhodnutie: pod limitomPorovnanie stavu frontuKontrola frontu

    Pri menšom počte pokusov ako limit (3) sa úloha porovná so stavmi frontu active, waiting, delayed a prioritized. V kóde predchádza vetva vyčerpaných pokusov tejto kontrole frontu.

  3. Porovnanie stavu frontuKontrola frontuSpustenie · rozhodnutie: nové zaradenieBullMQ · ID úlohyFront úloh

    Ak úloha vo fronte nie je, zaradí sa znova. API používa ID s príponou požiadavky, zatiaľ čo kontrola hľadá ID segmentu a jazyka, preto sa neopisuje ako zhoda s každou prebiehajúcou požiadavkou.

  4. Drafty staršie ako 10 min · najviac 200Kontrola uviaznutýchSpustenie · rozhodnutie: výsledok existujeĽudská revízia

    Keď sú vyčerpané všetky 3 pokusy a výsledok prekladu existuje, úloha ide do needs_review.

  5. Drafty staršie ako 10 min · najviac 200Kontrola uviaznutýchSpustenie · rozhodnutie: bez výsledkuKontrola prihlasovacích údajov

    Keď sú vyčerpané všetky 3 pokusy a výsledok neexistuje, úloha ide do needs_credential.

Každé spojenie s rovnakou váhou. Výber toku zvýrazní len jeho cestu s očíslovanými krokmi.

  • Plná čiara · smer vstupu, výsledkov a záznamov
  • Prerušovaná čiara · spustenie, rozhodnutie, požiadavka
  • Dlhé bodky · pozorovanie a vykazovanie, oddelene od rozhodnutia
  • Krátke čiarky · zlyhanie, zastavenie, limit
  • Hrubá čierna čiara · zvolený tok; čísla udávajú poradie
  • Rámček · hranica kódu alebo stavu, pomenovaná v hlavičke
  • Vnútorný štítok · komponent tejto hranice
  • Bodkovaný rámček · mimo tejto hranice
  • Oranžový obrys · miesto, kde rozhoduje model
  • Generovanie · výdavky · finalizácia
  • Vstup · pravidlá rozhodnutia · kontrola
  • Front · stav · záznamy
  • Registrácia · kontrola frontu

Nakreslené podľa neverejných záznamov implementácie a vývoja. Dáta zákazníka a cesty kódu sa nezobrazujú.

Jedna kontrola
May 26, 2026, jeden cyklus kontroly vo vývojovom prostredí: 200 preverených, 106 prechodov stavu, 2 znova vo fronte. Prechod stavu nie je úspešným prekladom a rozdelenie 106 podľa cieľového stavu nie je zaznamenané.
Prečo nie práve raz
Záznamy vznikajú bez duplicít, ale ak sa úloha po páde spustí znova, volania modelu aj ich náklady sa môžu opakovať. Limit súbežnosti platí na proces, nie pre celý klaster.
Rozsah rozhodnutia
To, že priemer neprekryje porušenie glosára, je pravidlo agregácie nahlásených kritérií. Nedokazuje, že sa nájde každý zakázaný výraz ani že kvalita zodpovedá rodenému hovoriacemu.