شخصية قطن مبتسمة من شعار Cotton الأصلي، بعد إزالة الخلفية والحروف
العودة إلى القاعة

Cotton

Translation workflow

تحويل الترجمات المولَّدة إلى نتائج قابلة للمراجعة.

سير عمل لترجمة حوارات الألعاب.

2026.05.06 — 2026.05.26

مشروع عمل · مسار معالجة الترجمة والحكم والمراجعة

  • تطبيق ويبمُطبَّق · بيئة التطوير

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

الدرجات وإعادات المحاولة والمراجعة البشرية، كلٌّ عند حده.

يتشارك التوليد والحكم المسرد، ولا يمكن لمتوسط الدرجات أن يعوّض إخفاق hard gate الذي يُبلغ عنه نموذج الحَكَم. وتُسجَّل الحالات الوسيطة للترجمة والحكم، وتُفصل حدود إعادة المحاولة والتكلفة عن نفاد بيانات الاعتماد، وتعود المهام المتعثرة إلى الطابور أو إلى المراجعة بحسب السبب.

يربط مشروع العمل هذا توليد الترجمة وحكم الجودة الذي يُبلغ عنه النموذج وإعادات المحاولة والمراجعة البشرية في مسار واحد.

من بداية المستودع حتى العمل الذي تأكد خلال فترة المشاركة

تطبيق ويب من شاشات تحرير الترجمة والموافقة عليها، وAPI، وworker للمهام، يعمل في بيئة التطوير.

خريطة مسار الحكم · من سجلات التطبيق الخاصة
حكم الترجمة في Cotton · إعادة المحاولة · الاستعادةيودِع API النص المصدر واللغات المستهدفة في قاعدة البيانات، ثم يضع مهمة لكل لغة مستهدفة في الطابور. ويقفل worker الصف ويفحص المحاولة وينشئ draft وحالة التقدم، ويولّد ترجمة بالمسرد، ثم يستدعي نموذج حَكَم على حدة بالمسرد نفسه. وتُسجَّل الترجمة (Tx1) والحكم مع أدلته (Tx2) في معاملتين منفصلتين. وتجمّع الشيفرة الحكم بحيث لا يعوّض المتوسط إخفاق hard gate: النجاح يُثبَّت، والإخفاق يحصل على دور آخر، وحد الأدوار أو التكلفة يرسله إلى المراجعة البشرية، وإشارة الحصة أو المصادقة توقف الإنفاق وتنتظر فحص بيانات الاعتماد. وينظر مسح المهام الراكدة في ما يصل إلى 200 draft أقدم من 10 دقائق: ما بقيت له محاولات لكنه غائب عن الطابور يُعاد إليه، وما استنفد محاولاته يذهب إلى المراجعة أو فحص بيانات الاعتماد بحسب وجود نتيجة.المصدر · اللغات المستهدفةالمقاطع المخزّنةالمراجعة البشريةneeds_review · ليست موافقةفحص بيانات الاعتمادneeds_credentialAPI · تسجيل المهامالإدراج في الطابور بعد الإيداعطابور المهامBullMQ · معرّف المهمةدخول المهمةقفل الصف · فحص المحاولةالمسرد · السياقمسرد مساحة العملدور الترجمةالتوليد · استدعاء النموذجاستدعاء نموذج الحَكَم · التحليلقواعد الحكمhard gate · المتوسط الموزونإعادة المحاولة · الإنفاقالأدوار · التكلفة · الحصةحالة الترجمةdraft · التقدمصفوف الترجمة · الحكمالحالة · سجل الاستدعاءاتالتثبيتالمعاملة النهائيةفحص الطابورمقارنة حالة الطابورمسح المهام الراكدةdraft أقدم من 10 دقائق · 200 كحد أقصىالمُدخلات · الطابورالتوليد · الحكمالحالة · القبولالاستعادة · القرار البشري1المصدر2 بعد الإيداع · الإدراج في الطابور بعد الإيداع → BullMQ · معرّف المهمة23 تسليم المهمة · BullMQ · معرّف المهمة → قفل الصف · فحص المحاولة34صف التقدم5المحاولة مسموحة1المسرد2 المسرد نفسه · مسرد مساحة العمل → استدعاء نموذج الحَكَم · التحليل23Tx1 · الترجمة4Tx2 · الحكم5 الدرجات · البوابات · استدعاء نموذج الحَكَم · التحليل → hard gate · المتوسط الموزون56الحكم7pass8السجل النهائي1الحكم2الدور التالي3الحد · الإلغاء4الحصة · المصادقة5الاستئناف اليدوي1draft راكد2دون الحد3إعادة إلى الطابور4 توجد نتيجة · draft أقدم من 10 دقائق · 200 كحد أقصى → المراجعة البشرية45لا نتيجة

التسجيل → الدخول

تُوضع في الطابور بعد إيداع قاعدة البيانات، ويقفل worker الصف ويفحص المحاولة وينشئ draft.

  1. المصدر · اللغات المستهدفةبيانات: المصدرالإدراج في الطابور بعد الإيداعAPI · تسجيل المهام

    تُخزَّن مقاطع المصدر واللغات المستهدفة للمشروع في قاعدة البيانات. ولا تُعرض بيانات العملاء.

  2. الإدراج في الطابور بعد الإيداعAPI · تسجيل المهامبيانات: بعد الإيداعBullMQ · معرّف المهمةطابور المهام

    بعد إيداع قاعدة البيانات، توضع في الطابور مهمة بمعرّف محدد بنطاق الطلب لكل لغة مستهدفة نشطة. وإذا فشل الإدراج في الطابور، يُسجَّل تحذير فقط ولا يُتراجع عن الإيداع (لا outbox ذرّي)، ولهذا يوجد مسح المهام الراكدة.

  3. BullMQ · معرّف المهمةطابور المهامتشغيل · حكم: تسليم المهمةقفل الصف · فحص المحاولةدخول المهمة

    يسلّم BullMQ المهمة إلى worker بشكل غير متزامن.

  4. قفل الصف · فحص المحاولةدخول المهمةبيانات: صف التقدمdraft · التقدمحالة الترجمة

    داخل معاملة يُقفل صف التقدم وتُنشأ ترجمة draft. وتُتخطّى إعادات المحاولة التلقائية للمهام المثبَّتة أو المتوقفة بسبب بيانات الاعتماد، وتُعالج الطلبات اليدوية على حدة.

  5. قفل الصف · فحص المحاولةدخول المهمةتشغيل · حكم: المحاولة مسموحةالتوليد · استدعاء النموذجدور الترجمة

    يزيد عدد المحاولات واحدًا ضمن حده، ثم يبدأ دور الترجمة.

التوليد → الحكم → التثبيت

يستخدم التوليد والحكم المسرد نفسه، وتُسجَّل الترجمة والحكم على حدة، وتجمّع الشيفرة الحكم قبل التثبيت.

  1. مسرد مساحة العملالمسرد · السياقبيانات: المسردالتوليد · استدعاء النموذجدور الترجمة

    يُبحث عن مسرد مساحة العمل وسياقها ويُمرَّران إلى التوليد.

  2. مسرد مساحة العملالمسرد · السياقبيانات: المسرد نفسهاستدعاء نموذج الحَكَم · التحليلدور الترجمة

    يحصل الحكم على قيود المسرد نفسها.

  3. التوليد · استدعاء النموذجدور الترجمةبيانات: Tx1 · الترجمةصفوف الترجمة · الحكمحالة الترجمة

    يُستدعى النموذج مباشرة أو عبر لغة وسيطة en-US، ويُكتب الاستدعاء والحدث والتقدم في معاملة واحدة. وإذا عادت المهمة إلى العمل بعد انهيار، فقد يتكرر استدعاء الترجمة وتكلفته.

  4. استدعاء نموذج الحَكَم · التحليلدور الترجمةبيانات: Tx2 · الحكمصفوف الترجمة · الحكمحالة الترجمة

    تُدرج درجات الحَكَم وأدلته مرة واحدة لكل ترجمة ودور، والمكرر يجد الصف القائم، ولا تُكتب الاستشهادات إلا عند الإدراج الأول. وليست المعاملة نفسها التي للترجمة.

  5. استدعاء نموذج الحَكَم · التحليلدور الترجمةبيانات: الدرجات · البواباتhard gate · المتوسط الموزونقواعد الحكم

    تُحلَّل إجابة نموذج الحَكَم إلى درجات لكل بُعد ونتائج للبوابات. ونجاح المسرد من عدمه هو ما يُبلغ عنه نموذج الحَكَم.

  6. hard gate · المتوسط الموزونقواعد الحكمتشغيل · حكم: الحكمالأدوار · التكلفة · الحصةإعادة المحاولة · الإنفاق

    أي إخفاق مُبلَّغ عنه في hard gate يعني صفرًا وإخفاقًا، وبعدها فقط يُطبَّق المتوسط الموزون وعتبات كل بُعد. والعتبة الإجمالية 8.0 قيمة افتراضية في الإعداد، لا جودة ترجمة مرصودة.

  7. الأدوار · التكلفة · الحصةإعادة المحاولة · الإنفاقتشغيل · حكم: passالمعاملة النهائيةالتثبيت

    يُثبَّت النجاح بحالة translated.

  8. المعاملة النهائيةالتثبيتبيانات: السجل النهائيالحالة · سجل الاستدعاءاتحالة الترجمة

    تُثبَّت المرشحة والحالة والدرجة والأدوار، ويُكتب التقدم finalized مع سجل الحالة في معاملة واحدة. ولا يُصدر حدث اكتمال الترجمة إلا لحالة translated.

إعادة المحاولة · حدود الإنفاق

عدم النجاح يعني دورًا آخر، والحد يعني المراجعة البشرية، والحصة أو المصادقة توقف الإنفاق وتنتظر استئناف المشغّل.

  1. hard gate · المتوسط الموزونقواعد الحكمتشغيل · حكم: الحكمالأدوار · التكلفة · الحصةإعادة المحاولة · الإنفاق

    أي إخفاق مُبلَّغ عنه في hard gate يعني صفرًا وإخفاقًا، وبعدها فقط يُطبَّق المتوسط الموزون وعتبات كل بُعد. والعتبة الإجمالية 8.0 قيمة افتراضية في الإعداد، لا جودة ترجمة مرصودة.

  2. الأدوار · التكلفة · الحصةإعادة المحاولة · الإنفاقتشغيل · حكم: الدور التاليالتوليد · استدعاء النموذجدور الترجمة

    تُولَّد الترجمة التي لا تنجح مجددًا مع الترجمة السابقة والـ critique. وحتى إخفاق hard gate يمكن إعادة محاولته أولًا بدل الذهاب مباشرة إلى شخص.

  3. الأدوار · التكلفة · الحصةإعادة المحاولة · الإنفاقتشغيل · حكم: الحد · الإلغاءالمراجعة البشرية

    حين تنفد الأدوار أو يُبلغ سقف التكلفة، تُثبَّت المهمة بحالة needs_review. والتثبيت يعني انتهاء المعالجة، لا أن شخصًا وافق عليها.

  4. الأدوار · التكلفة · الحصةإعادة المحاولة · الإنفاقإخفاق · حد: الحصة · المصادقةفحص بيانات الاعتماد

    توقف إشارة الحصة أو المصادقة الإنفاق وتضبط needs_credential. ولا يوجد تحويل تلقائي إلى حساب أو مزوّد آخر. وتعود أخطاء النقل التي لا تحمل إشارة إيقاف إلى إعادة المحاولة في BullMQ.

  5. فحص بيانات الاعتمادتشغيل · حكم: الاستئناف اليدويBullMQ · معرّف المهمةطابور المهام

    يعيد المشغّل الذي فحص بيانات الاعتماد التشغيل صراحةً.

استعادة المهام الراكدة

تُقسَم مسوّدات draft القديمة بحسب السبب: الغياب عن الطابور يعني الإعادة إليه، واستنفاد المحاولات يعني قرارًا بشريًا.

  1. draft · التقدمحالة الترجمةملاحظة · إبلاغ: draft راكدdraft أقدم من 10 دقائق · 200 كحد أقصىمسح المهام الراكدة

    تُقرأ حتى 200 مرشحة بقيت draft أكثر من 10 دقائق، الأقدم أولًا. ولا يأخذ الاستعلام قفلًا، وتجري التحديثات والسجلات في عبارات منفصلة، لذا لا يُوصف هذا بأنه دفعة خالية من التسابق.

  2. draft أقدم من 10 دقائق · 200 كحد أقصىمسح المهام الراكدةتشغيل · حكم: دون الحدمقارنة حالة الطابورفحص الطابور

    حين تكون المحاولات أقل من الحد (3)، تُقارن المهمة بحالات الطابور active وwaiting وdelayed وprioritized. وفي الشيفرة يأتي فرع المحاولات المستنفدة قبل فحص الطابور هذا.

  3. مقارنة حالة الطابورفحص الطابورتشغيل · حكم: إعادة إلى الطابورBullMQ · معرّف المهمةطابور المهام

    إذا لم تكن المهمة في الطابور، تُوضع فيه مجددًا. ويستخدم API معرّفات بلاحقة الطلب بينما يبحث المسح عن معرّف المقطع واللغة، لذا لا يُوصف بأنه يطابق كل طلب قيد التنفيذ.

  4. draft أقدم من 10 دقائق · 200 كحد أقصىمسح المهام الراكدةتشغيل · حكم: توجد نتيجةالمراجعة البشرية

    حين تُستنفد المحاولات الثلاث وتوجد نتيجة ترجمة، تذهب المهمة إلى needs_review.

  5. draft أقدم من 10 دقائق · 200 كحد أقصىمسح المهام الراكدةتشغيل · حكم: لا نتيجةفحص بيانات الاعتماد

    حين تُستنفد المحاولات الثلاث ولا توجد نتيجة، تذهب المهمة إلى needs_credential.

كل الروابط بالسماكة نفسها. اختر مسارًا لإبراز طريقه وحده، مع خطوات مرقّمة.

  • خط متصل · اتجاه المُدخلات والنتائج والسجلات
  • خط متقطع · تشغيل، حكم، طلب
  • نقاط طويلة · الملاحظة والإبلاغ، بمعزل عن الحكم
  • شرطات قصيرة · إخفاق، توقف، حد
  • خط أسود سميك · المسار المختار، والأرقام تبيّن الترتيب
  • مربع · حدّ شيفرة أو حالة، واسمه في الترويسة
  • شريحة داخلية · مكوّن من ذلك الحد
  • مربع منقّط · خارج ذلك الحد
  • إطار برتقالي · حيث يقرر نموذج
  • التوليد · الإنفاق · التثبيت
  • الدخول · قواعد الحكم · المسح
  • الطابور · الحالة · السجلات
  • التسجيل · فحص الطابور

مرسومة من سجلات التطبيق والتطوير الخاصة. ولا تُعرض بيانات العملاء ولا مسارات الشيفرة.

مسح واحد
May 26, 2026، دورة مسح واحدة في بيئة التطوير: فُحصت 200، و106 انتقالات حالة، وأُعيدت 2 إلى الطابور. وانتقال الحالة ليس ترجمة ناجحة، ولم يُسجَّل توزيع الـ106 بحسب الحالة الوجهة.
لماذا ليست مرة واحدة بالضبط
تُكتب السجلات بلا تكرار، لكن إذا عادت المهمة إلى العمل بعد انهيار، فقد تتكرر استدعاءات النموذج وتكلفتها. وحد التزامن لكل عملية، لا على مستوى العنقود.
نطاق الحكم
منع المتوسط من تغطية إخفاق المسرد قاعدة تجميع على البوابات المُبلَّغ عنها. ولا يُثبت العثور على كل مصطلح محظور ولا أن الجودة بمستوى المتحدث الأصلي.