
Cotton
Translation workflow
Generoiduista käännöksistä katselmoitavia tuloksia.
Pelien dialogin käännöstyönkulku.
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
Pisteet, uusinnat ja ihmisen katselmointi, kukin omalla rajallaan.
Generointi ja tuomio jakavat sanaston, eikä tuomarimallin raportoimaa pakollisen portin epäonnistumista voi kompensoida keskiarvolla. Käännöksen ja tuomion välitilat kirjataan, uusinta- ja kustannusrajat pidetään erillään loppuun käytetyistä tunnistetiedoista, ja jumiutuneet työt palaavat jonoon tai katselmointiin syyn mukaan.
Tämä työprojekti yhdistää käännösten generoinnin, mallin raportoiman laatutuomion, uusinnat ja ihmisen katselmoinnin yhdeksi virraksi.
Repositorion alusta toimeksiannon aikana vahvistettuun työhön
Käännösten muokkaus- ja hyväksyntänäkymistä, API:sta ja työprosessorista koostuva verkkosovellus, joka toimii kehitysympäristössä.
Rekisteröinti → sisääntulo
Jonoon tietokantacommitin jälkeen; worker lukitsee rivin, tarkistaa yrityksen ja luo luonnoksen.
Lähdeteksti · kohdekieletData: lähdetekstiJonoon commitin jälkeen
API · työn rekisteröintiLähdesegmentit ja projektin kohdekielet tallennetaan tietokantaan. Asiakasdataa ei näytetä.
Jonoon commitin jälkeen
API · työn rekisteröintiData: commitin jälkeenBullMQ · työn IDTyöjonoTietokantacommitin jälkeen jonoon asetetaan pyyntökohtaisella tunnisteella työ kutakin aktiivista kohdekieltä kohden. Jos jonoon asettaminen epäonnistuu, vain varoitus lokitetaan eikä commitia peruta (ei atomista outboxia), minkä vuoksi vanhentuneiden tarkistus on olemassa.
BullMQ · työn ID
TyöjonoSuoritus · arvio: työn toimitusRivilukko · yrityksen tarkistusTyön sisääntuloBullMQ luovuttaa työn workerille asynkronisesti.
Rivilukko · yrityksen tarkistus
Työn sisääntuloData: edistymisriviLuonnos · edistyminenKäännöksen tilaTransaktion sisällä edistymisrivi lukitaan ja käännösluonnos luodaan. Jo viimeisteltyjen tai tunnistetietojen vuoksi pysäytettyjen töiden automaattiset uusinnat ohitetaan; manuaaliset pyynnöt käsitellään erikseen.
Rivilukko · yrityksen tarkistus
Työn sisääntuloSuoritus · arvio: yritys sallittuGenerointi · mallikutsuKäännösvuoroYritysmäärä kasvaa yhdellä rajansa sisällä, minkä jälkeen käännösvuoro alkaa.
Generointi → tuomio → viimeistely
Generointi ja tuomio käyttävät samaa sanastoa; käännös ja tuomio kirjataan erikseen, ja koodi koostaa tuomion ennen viimeistelyä.
Työtilan sanasto
Sanasto · kontekstiData: sanastoGenerointi · mallikutsuKäännösvuoroTyötilan sanasto ja konteksti haetaan ja välitetään generoinnille.
Työtilan sanasto
Sanasto · kontekstiData: sama sanastoTuomarimallin kutsu · jäsennysKäännösvuoroTuomio saa samat sanastorajoitteet.
Generointi · mallikutsu
KäännösvuoroData: Tx1 · käännösKäännös- · tuomiorivitKäännöksen tilaMallia kutsutaan suoraan tai en-US-pivotin kautta, ja kutsu, tapahtuma ja edistyminen kirjoitetaan yhdessä transaktiossa. Jos työ ajetaan uudelleen kaatumisen jälkeen, käännöskutsu ja sen kustannus voivat toistua.
Tuomarimallin kutsu · jäsennys
KäännösvuoroData: Tx2 · tuomioKäännös- · tuomiorivitKäännöksen tilaTuomaripisteet ja näyttö lisätään kerran käännöstä ja vuoroa kohden; kaksoiskappale löytää olemassa olevan rivin, ja lainaukset kirjoitetaan vain ensimmäisellä lisäyksellä. Ei sama transaktio kuin käännöksellä.
Tuomarimallin kutsu · jäsennys
KäännösvuoroData: pisteet · portitPakollinen portti · painotettu keskiarvoTuomiosäännötTuomarimallin vastaus jäsennetään ulottuvuuskohtaisiksi pisteiksi ja porttituloksiksi. Sanaston läpäisy on se, mitä tuomarimalli raportoi.
Pakollinen portti · painotettu keskiarvo
TuomiosäännötSuoritus · arvio: tuomioVuorot · kustannus · kiintiöUusinta · kulutMikä tahansa raportoitu pakollisen portin epäonnistuminen tarkoittaa nollaa ja hylkäystä; vasta sitten sovelletaan painotettua keskiarvoa ja ulottuvuuskohtaisia kynnyksiä. Kokonaiskynnys 8.0 on konfiguraation oletusarvo, ei havaittu käännöslaatu.
Vuorot · kustannus · kiintiö
Uusinta · kulutSuoritus · arvio: passLopullinen transaktioViimeistelyHyväksytty viimeistellään tilaan translated.
Lopullinen transaktio
ViimeistelyData: lopullinen kirjausTila · kutsulokiKäännöksen tilaEhdokas, tila, pisteet ja vuorot viimeistellään, ja viimeistelty edistyminen sekä tilaloki kirjoitetaan yhdessä transaktiossa. Käännös valmis -tapahtuma lähetetään vain tilalle translated.
Uusinta · kulurajat
Ei läpäisyä tarkoittaa uutta vuoroa; raja tarkoittaa ihmisen katselmointia; kiintiö tai todennus pysäyttää kulut ja odottaa operaattorin jatkamista.
Pakollinen portti · painotettu keskiarvo
TuomiosäännötSuoritus · arvio: tuomioVuorot · kustannus · kiintiöUusinta · kulutMikä tahansa raportoitu pakollisen portin epäonnistuminen tarkoittaa nollaa ja hylkäystä; vasta sitten sovelletaan painotettua keskiarvoa ja ulottuvuuskohtaisia kynnyksiä. Kokonaiskynnys 8.0 on konfiguraation oletusarvo, ei havaittu käännöslaatu.
Vuorot · kustannus · kiintiö
Uusinta · kulutSuoritus · arvio: seuraava vuoroGenerointi · mallikutsuKäännösvuoroLäpäisemätön käännös generoidaan uudelleen edellisen käännöksen ja kritiikin kanssa. Pakollisen portin epäonnistumistakin voidaan ensin yrittää uudelleen sen sijaan, että se menisi suoraan ihmiselle.
Vuorot · kustannus · kiintiö
Uusinta · kulutSuoritus · arvio: raja · keskeytysIhmisen katselmointiKun vuorot loppuvat tai kustannuskatto saavutetaan, työ viimeistellään tilaan needs_review. Viimeistelty tarkoittaa, että käsittely päättyi, ei sitä, että ihminen hyväksyi sen.
Vuorot · kustannus · kiintiö
Uusinta · kulutEpäonnistuminen · raja: kiintiö · todennusTunnistetietojen tarkistusKiintiö- tai todennussignaali pysäyttää kulut ja asettaa tilan needs_credential. Automaattista vaihtoa toiseen tiliin tai mallitoimittajaan ei ole. Siirtovirheet ilman pysäytyssignaalia palaavat BullMQ:n uusintaan.
Tunnistetietojen tarkistusSuoritus · arvio: manuaalinen jatkaminenBullMQ · työn ID
TyöjonoTunnistetiedot tarkistanut operaattori käynnistää uudelleen erikseen.
Vanhentuneiden töiden palautus
Vanhat luonnokset jaetaan syyn mukaan: jonosta puuttuva asetetaan uudelleen jonoon, yrityksensä käyttänyt menee ihmisen päätettäväksi.
Luonnos · edistyminen
Käännöksen tilaHavainnointi · raportti: vanhentunut luonnosYli 10 min vanhat luonnokset · enintään 200Vanhentuneiden tarkistusEnintään 200 yli 10 minuuttia luonnoksena ollutta ehdokasta luetaan vanhimmasta alkaen. Kysely ei ota lukkoa, ja päivitykset ja lokitus ajetaan erillisinä lauseina, joten tätä ei kuvata kilpatilanteettomaksi eräajoksi.
Yli 10 min vanhat luonnokset · enintään 200
Vanhentuneiden tarkistusSuoritus · arvio: alle rajanJonon tilan vertailuJonon tarkistusKun yrityksiä on vähemmän kuin raja (3), työtä verrataan jonotiloihin active, waiting, delayed ja prioritized. Koodissa yritykset käytetty -haara tulee ennen tätä jonotarkistusta.
Jonon tilan vertailu
Jonon tarkistusSuoritus · arvio: uudelleen jonoonBullMQ · työn IDTyöjonoJos työ ei ole jonossa, se asetetaan uudelleen jonoon. API käyttää pyyntöpäätteellisiä ID:itä, kun taas tarkistus etsii segmentin ja kielen ID:tä, joten sen ei kuvata vastaavan jokaista käynnissä olevaa pyyntöä.
Yli 10 min vanhat luonnokset · enintään 200
Vanhentuneiden tarkistusSuoritus · arvio: tulos olemassaIhmisen katselmointiKun kaikki 3 yritystä on käytetty ja käännöstulos on olemassa, työ menee tilaan needs_review.
Yli 10 min vanhat luonnokset · enintään 200
Vanhentuneiden tarkistusSuoritus · arvio: ei tulostaTunnistetietojen tarkistusKun kaikki 3 yritystä on käytetty eikä tulosta ole, työ menee tilaan needs_credential.
Kaikki yhteydet samalla painolla. Valitse virta, niin vain sen polku korostuu numeroiduin vaihein.
- Yhtenäinen · syötteiden, tulosten ja kirjausten suunta
- Katkoviiva · suoritus, arvio, pyyntö
- Pitkät pisteet · havainnointi ja raportointi, erillään arviosta
- Lyhyet katkot · epäonnistuminen, pysähdys, raja
- Paksu musta viiva · valittu virta; numerot kertovat järjestyksen
- Laatikko · koodin tai tilan raja, nimi otsakkeessa
- Sisälaatta · rajan komponentti
- Pisteviivalaatikko · rajan ulkopuolella
- Oranssi ääriviiva · kohta, jossa malli päättää
- Generointi · kulut · viimeistely
- Sisääntulo · tuomiosäännöt · tarkistus
- Jono · tila · kirjaukset
- Rekisteröinti · jonotarkistus
Piirretty yksityisistä toteutus- ja kehityskirjauksista. Asiakastietoja ja koodipolkuja ei näytetä.
- Yksi tarkistuskierros
- 26.5.2026, yksi kehitysympäristön tarkistuskierros: 200 tarkistettu, 106 tilasiirtymää, 2 uudelleen jonoon. Tilasiirtymä ei ole onnistunut käännös, eikä 106:n jakautumista kohdetiloittain ole kirjattu.
- Miksi ei täsmälleen kerran
- Kirjaukset kirjoitetaan ilman kaksoiskappaleita, mutta jos työ ajetaan uudelleen kaatumisen jälkeen, mallikutsut ja niiden kustannukset voivat toistua. Rinnakkaisuusraja on prosessikohtainen, ei koko klusterin laajuinen.
- Tuomion laajuus
- Se, ettei keskiarvo voi peittää sanastovirhettä, on koostamissääntö raportoitujen porttien yli. Se ei todista, että jokainen kielletty termi löytyy tai että laatu on natiivitasoa.