ตัวละครฝ้ายยิ้มแย้มจากโลโก้ Cotton ดั้งเดิม โดยลบพื้นหลังและตัวอักษรออก
กลับไปที่ห้องจัดแสดง

Cotton

Translation workflow

เปลี่ยนคำแปลที่สร้างขึ้นให้เป็นผลลัพธ์ที่รีวิวได้

เวิร์กโฟลว์การแปลบทสนทนาในเกม โปรเจกต์งานนี้เชื่อมการสร้างคำแปล การตัดสินคุณภาพที่โมเดลรายงาน การลองใหม่ และการรีวิวโดยคน ไว้ในโฟลว์เดียว

2026.05.06 — 2026.05.26

โปรเจกต์งาน · เส้นทางการประมวลผลคำแปล การตัดสิน และการรีวิว

  • เว็บแอปพัฒนาแล้ว · การพัฒนา

race ที่รีวิวพบ และงานค้างที่ส่งกลับตามสาเหตุ

หนึ่งกรณีที่นโยบายและคอมมิตระบุชื่อ Claude สำหรับการพัฒนาและ Codex สำหรับการรีวิว และอีกหนึ่งกรณีที่ทำให้งานค้างวินิจฉัยได้

คำอธิบายสัญลักษณ์ทั้งหมด

วิธีอ่าน · หลักเดียวกันสำหรับทุกกรณี

  • คอลัมน์คือผู้กระทำ จากบนลงล่างคือเวลา
  • เส้นทึบ: การส่งต่อหรือขั้นถัดไปที่บันทึกไว้
  • เส้นสีลาพิสหนา ↩: ข้อค้นพบที่ส่งงานกลับ
  • เส้นประ: ไม่ใช่การรันที่บันทึกไว้ (กฎที่เขียนไว้ คำแนะนำที่ไม่มีอำนาจ ขอบเขตที่ยังไม่ตรวจยืนยัน)
  • สี่เหลี่ยม: การกระทำ
  • มุมมน: สถานะหรือข้อค้นพบที่สังเกตได้
  • มุมพับ: อาร์ติแฟกต์หรือหลักฐาน
  • คอลัมน์ลายเส้นทแยง: ส่วนของผลิตภัณฑ์ที่กำลังพัฒนา (ไม่ใช่เอเจนต์ที่ใช้สร้าง)

กรณี 1 / 2 · การเปลี่ยนแปลงที่หยุดเมื่อ quota หมดถูกแก้ใน PR เดียวกัน รวมถึง race ที่รีวิวพบ

May 19, 2026

การเปลี่ยนแปลงที่หยุดเมื่อ quota หมดถูกแก้ใน PR เดียวกัน รวมถึง race ที่รีวิวพบ

  1. คนคน

    การกระทำหยุดใช้จ่ายเมื่อ quota หมด · ไม่มี fallback อัตโนมัติ

    • ส่งต่อข้อจำกัดของการพัฒนา→ พัฒนา checkpoint · halt · การกลับมาทำต่อด้วยมือ (Claude)
  2. เอเจนต์เขียนโค้ดClaude

    การกระทำพัฒนา checkpoint · halt · การกลับมาทำต่อด้วยมือ

    • ส่งต่อรีวิวใน PR เดียวกัน→ ข้อค้นพบ: race · การเปลี่ยนสถานะซ้ำ (Codex)
  3. รีวิว · การตรวจยืนยันCodex

    การสังเกต · ข้อค้นพบข้อค้นพบ: race · การเปลี่ยนสถานะซ้ำ

  4. อาร์ติแฟกต์PR เดียวกัน

    อาร์ติแฟกต์ใน PR เดียวกัน: row lock · คีย์คะแนนที่ไม่ซ้ำ · การเปลี่ยนสถานะแบบ atomic

    • ส่งต่อ→ บันทึกการตรวจ fixture ในเครื่อง · การผสาน DB (PR เดียวกัน)
  5. อาร์ติแฟกต์PR เดียวกัน

    อาร์ติแฟกต์บันทึกการตรวจ fixture ในเครื่อง · การผสาน DB

    • ไม่ใช่การรันที่บันทึกไว้ขอบเขตที่ตรวจแล้ว→ ไม่ได้เก็บผล CI ใหม่หรือการดีพลอยขึ้นใช้งานจริง (PR เดียวกัน)
  6. อาร์ติแฟกต์PR เดียวกัน

    กฎ · ยังไม่ตรวจยืนยันไม่ได้เก็บผล CI ใหม่หรือการดีพลอยขึ้นใช้งานจริง

บริบท
เงื่อนไขที่คนกำหนดคือหยุดใช้จ่ายเมื่อ quota หมด โดยไม่มี fallback อัตโนมัติ Claude พัฒนา checkpoint, halt และการกลับมาทำต่อด้วยมือ และรีวิว Codex ที่รันผ่าน MCP ของโปรเจกต์พบ race และการซ้ำซ้อนในการเปลี่ยนสถานะ
ผลลัพธ์
การเปลี่ยนสถานะเมื่อเข้าและกลับมาทำต่อรันภายในล็อก คะแนนของผู้ตัดสินมีคีย์ที่ไม่ซ้ำเพื่อกันรายการซ้ำ และกำหนดขอบเขตของทรานแซกชัน นี่ไม่ได้หมายความว่า race ทั้งหมดถูกขจัด
ข้อจำกัด
คอมมิตระบุการตรวจ 140 รายการ และ CHANGELOG การผสานภายหลังระบุ 160 จึงไม่ได้รวมเป็นจำนวนการรันเดียว ตามนโยบาย รีวิวของ Codex เป็นขั้นตอนในเครื่องที่ไม่บังคับ นี่จึงไม่ได้หมายความว่า PR ทุกฉบับในอดีตผ่านรีวิวนี้
แหล่งอ้างอิงและข้อจำกัดที่เหลือ
  • นโยบายบันทึกลำดับไว้: Claude พัฒนา Codex รีวิวในเครื่องผ่าน MCP ของโปรเจกต์ แนบรีวิวกับ PR และเมื่อความเห็นไม่ตรงกันจะสืบสวนร่วมกับเอเจนต์รีวิวของ Claude การรีวิว Codex อัตโนมัติใน CI ถูกเลื่อนออกไป
  • การตรวจในการพัฒนาใช้ fixture และ mock และการเรียกโมเดลจริงต้องกำหนดขอบเขตของตัวเอง ข้อค้นพบจากรีวิวถูกรวมเข้าใน PR เดียวกันและผสานแบบ squash จาก feature → main

May 26, 2026

งานที่ค้างถูกทำให้วินิจฉัยได้และส่งกลับตามสาเหตุ

  1. กำลังพัฒนาworker การแปล · คิว

    การสังเกต · ข้อค้นพบงานที่ค้างใน draft · ความพยายามหมดแล้ว

    • ส่งต่อค่าที่สังเกตได้→ เทียบ failedReason · รหัสออก · สถานะ draft (นักพัฒนา)
  2. คนนักพัฒนา

    การกระทำเทียบ failedReason · รหัสออก · สถานะ draft

    • ส่งต่อ→ สาเหตุ: NODE_OPTIONS ที่สืบทอดมาชนกันใน subprocess (นักพัฒนา)
  3. คนนักพัฒนา

    การสังเกต · ข้อค้นพบสาเหตุ: NODE_OPTIONS ที่สืบทอดมาชนกันใน subprocess

  4. เซสชันการทำงานการเปลี่ยนแปลงโค้ด

    การกระทำตัด NODE_OPTIONS · เพดานการทำงานพร้อมกันต่อโปรเซส

    • ส่งต่อ→ สถานะคิว: waiting · active · failed · stale (การเปลี่ยนแปลงโค้ด)
  5. เซสชันการทำงานการเปลี่ยนแปลงโค้ด

    การกระทำสถานะคิว: waiting · active · failed · stale

    • ส่งต่อ→ การกวาดงานค้าง: หายจากคิว กับ ความพยายามหมดแล้ว แยกแขนงตามว่ามีผลลัพธ์หรือไม่ (การเปลี่ยนแปลงโค้ด)
  6. เซสชันการทำงานการเปลี่ยนแปลงโค้ด

    การกระทำการกวาดงานค้าง: หายจากคิว กับ ความพยายามหมดแล้ว แยกแขนงตามว่ามีผลลัพธ์หรือไม่

    • ส่งต่อหนึ่งรอบ→ การกวาดใน dev: แคนดิเดต 200 → ย้าย 106 · ใส่คิวใหม่ 2 · ข้อผิดพลาด 0 (ผลงาน)
  7. อาร์ติแฟกต์ผลงาน

    อาร์ติแฟกต์การกวาดใน dev: แคนดิเดต 200 → ย้าย 106 · ใส่คิวใหม่ 2 · ข้อผิดพลาด 0

    • ไม่ใช่การรันที่บันทึกไว้ขอบเขตของการตีความ→ 106 งานไม่ใช่คำแปลที่สำเร็จ (ผลงาน)
  8. อาร์ติแฟกต์ผลงาน

    กฎ · ยังไม่ตรวจยืนยัน106 งานไม่ใช่คำแปลที่สำเร็จ

บริบท
การเทียบ failedReason ของ BullMQ รหัสออกของ subprocess และงานที่ค้างอยู่ใน draft พบว่า NODE_OPTIONS ที่สืบทอดมาชนกันใน subprocess หลังจากนั้นสถานการณ์เดียวกันถูกทำให้มองเห็นได้เป็นสถานะของคิว
ผลลัพธ์
งานที่ค้างถูกแยกเป็นงานที่หายจากคิวและงานที่ใช้ความพยายามหมดแล้ว งานกลุ่มหลังจะถูกย้ายพร้อมเหตุผลไปยัง needs_review หรือ needs_credential ขึ้นอยู่กับว่ามีผลลัพธ์หรือไม่ การรีวิวโดยคนยังคงอยู่
ข้อจำกัด
เพดานการทำงานพร้อมกันเป็นแบบต่อโปรเซส ล็อกการรันต้นฉบับไม่มีในเอกสารที่ตรวจทาน ตัวเลขเวลาแฝงถูกละไว้เพราะไม่ได้บันทึกโมเดลและ effort ที่ร้องขอ โค้ดบิลด์และรีลีสเพียงอย่างเดียวไม่ใช่หลักฐานของการดีพลอยสาธารณะ
แหล่งอ้างอิงและข้อจำกัดที่เหลือ
  • CHANGELOG บันทึกข้อเสนอให้แยก branch ของ adapter แบบขนาน แต่ไม่ได้ถูกนำมาเป็นบันทึกการรันแบบขนานจริง
  • ส่วนที่เหลือของ 200 งานไม่ได้แจกแจงในบันทึกนี้