
Cotton
Translation workflow
Vygenerované preklady ako výsledky pripravené na revíziu.
Pracovný postup na preklad dialógov v hrách.
Cotton vocabulary
- prompt layers
- glossary
- generation
- revision
- judge
- hard gate
- score
- intake
- checkpoint
- spend control
- stale sweep
- approval
- correction
- 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í.
Registrácia → vstup
Zaradené do frontu po zápise do databázy; worker uzamkne riadok, skontroluje pokus a vytvorí draft.
Zdroj · cieľové jazykyDáta: zdrojZaradenie do frontu po zápise
API · registrácia úlohZdrojové segmenty a cieľové jazyky projektu sa ukladajú do databázy. Dáta zákazníka sa nezobrazujú.
Zaradenie do frontu po zápise
API · registrácia úlohDáta: po zápiseBullMQ · ID úlohyFront úlohPo 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.
BullMQ · ID úlohy
Front úlohSpustenie · rozhodnutie: doručenie úlohyZámok riadka · kontrola pokusuVstup úlohyBullMQ odovzdá úlohu workeru asynchrónne.
Zámok riadka · kontrola pokusu
Vstup úlohyDáta: riadok postupuDraft · postupStav prekladuV 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.
Zámok riadka · kontrola pokusu
Vstup úlohySpustenie · rozhodnutie: pokus povolenýGenerovanie · volanie modeluŤah prekladuPoč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.
Glosár pracovného priestoru
Glosár · kontextDáta: glosárGenerovanie · volanie modeluŤah prekladuGlosár pracovného priestoru a kontext sa vyhľadajú a odovzdajú generovaniu.
Glosár pracovného priestoru
Glosár · kontextDáta: rovnaký glosárVolanie hodnotiaceho modelu · parsovanieŤah prekladuHodnotenie dostáva rovnaké obmedzenia glosára.
Generovanie · volanie modelu
Ťah prekladuDáta: Tx1 · prekladRiadky prekladov · hodnoteníStav prekladuModel 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ť.
Volanie hodnotiaceho modelu · parsovanie
Ťah prekladuDáta: Tx2 · hodnotenieRiadky prekladov · hodnoteníStav prekladuSkó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.
Volanie hodnotiaceho modelu · parsovanie
Ťah prekladuDáta: skóre · kritériáTvrdé kritérium · vážený priemerPravidlá rozhodnutiaOdpoveď hodnotiaceho modelu sa parsuje na skóre podľa dimenzií a výsledky kritérií. Či glosár prešiel, hlási hodnotiaci model.
Tvrdé kritérium · vážený priemer
Pravidlá rozhodnutiaSpustenie · rozhodnutie: rozhodnutieŤahy · náklady · kvótaOpakovania · výdavkyAké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.
Ťahy · náklady · kvóta
Opakovania · výdavkySpustenie · rozhodnutie: passZáverečná transakciaFinalizáciaÚspech sa finalizuje ako translated.
Záverečná transakcia
FinalizáciaDáta: konečný záznamStav · log volaníStav prekladuKandidá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.
Tvrdé kritérium · vážený priemer
Pravidlá rozhodnutiaSpustenie · rozhodnutie: rozhodnutieŤahy · náklady · kvótaOpakovania · výdavkyAké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.
Ťahy · náklady · kvóta
Opakovania · výdavkySpustenie · rozhodnutie: ďalší ťahGenerovanie · volanie modeluŤah prekladuPreklad, 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.
Ťahy · náklady · kvóta
Opakovania · výdavkySpustenie · rozhodnutie: limit · prerušenieĽudská revíziaKeď 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.
Ťahy · náklady · kvóta
Opakovania · výdavkyZlyhanie · limit: kvóta · autentifikáciaKontrola prihlasovacích údajovSigná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.
Kontrola prihlasovacích údajovSpustenie · rozhodnutie: ručné obnovenieBullMQ · ID úlohy
Front úlohOperá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.
Draft · postup
Stav 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.
Drafty staršie ako 10 min · najviac 200
Kontrola uviaznutýchSpustenie · rozhodnutie: pod limitomPorovnanie stavu frontuKontrola frontuPri 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.
Porovnanie stavu frontu
Kontrola frontuSpustenie · rozhodnutie: nové zaradenieBullMQ · ID úlohyFront úlohAk ú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.
Drafty staršie ako 10 min · najviac 200
Kontrola uviaznutýchSpustenie · rozhodnutie: výsledok existujeĽudská revíziaKeď sú vyčerpané všetky 3 pokusy a výsledok prekladu existuje, úloha ide do needs_review.
Drafty staršie ako 10 min · najviac 200
Kontrola uviaznutýchSpustenie · rozhodnutie: bez výsledkuKontrola prihlasovacích údajovKeď 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.