
Cotton
Translation workflow
เปลี่ยนคำแปลที่สร้างขึ้นให้เป็นผลลัพธ์ที่รีวิวได้
เวิร์กโฟลว์การแปลบทสนทนาในเกม โปรเจกต์งานนี้เชื่อมการสร้างคำแปล การตัดสินคุณภาพที่โมเดลรายงาน การลองใหม่ และการรีวิวโดยคน ไว้ในโฟลว์เดียว
race ที่รีวิวพบ และงานค้างที่ส่งกลับตามสาเหตุ
หนึ่งกรณีที่นโยบายและคอมมิตระบุชื่อ Claude สำหรับการพัฒนาและ Codex สำหรับการรีวิว และอีกหนึ่งกรณีที่ทำให้งานค้างวินิจฉัยได้
May 19, 2026
การเปลี่ยนแปลงที่หยุดเมื่อ quota หมดถูกแก้ใน PR เดียวกัน รวมถึง race ที่รีวิวพบ
คนคน
การกระทำหยุดใช้จ่ายเมื่อ quota หมด · ไม่มี fallback อัตโนมัติ
- ส่งต่อข้อจำกัดของการพัฒนา→ พัฒนา checkpoint · halt · การกลับมาทำต่อด้วยมือ (Claude)
เอเจนต์เขียนโค้ดClaude
การกระทำพัฒนา checkpoint · halt · การกลับมาทำต่อด้วยมือ
- ส่งต่อรีวิวใน PR เดียวกัน→ ข้อค้นพบ: race · การเปลี่ยนสถานะซ้ำ (Codex)
รีวิว · การตรวจยืนยันCodex
การสังเกต · ข้อค้นพบข้อค้นพบ: race · การเปลี่ยนสถานะซ้ำ
- ส่งกลับrace · idempotency→ ใน PR เดียวกัน: row lock · คีย์คะแนนที่ไม่ซ้ำ · การเปลี่ยนสถานะแบบ atomic (PR เดียวกัน)
อาร์ติแฟกต์PR เดียวกัน
อาร์ติแฟกต์ใน PR เดียวกัน: row lock · คีย์คะแนนที่ไม่ซ้ำ · การเปลี่ยนสถานะแบบ atomic
- ส่งต่อ→ บันทึกการตรวจ fixture ในเครื่อง · การผสาน DB (PR เดียวกัน)
อาร์ติแฟกต์PR เดียวกัน
อาร์ติแฟกต์บันทึกการตรวจ fixture ในเครื่อง · การผสาน DB
- ไม่ใช่การรันที่บันทึกไว้ขอบเขตที่ตรวจแล้ว→ ไม่ได้เก็บผล CI ใหม่หรือการดีพลอยขึ้นใช้งานจริง (PR เดียวกัน)
อาร์ติแฟกต์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
งานที่ค้างถูกทำให้วินิจฉัยได้และส่งกลับตามสาเหตุ
กำลังพัฒนาworker การแปล · คิว
การสังเกต · ข้อค้นพบงานที่ค้างใน draft · ความพยายามหมดแล้ว
- ส่งต่อค่าที่สังเกตได้→ เทียบ failedReason · รหัสออก · สถานะ draft (นักพัฒนา)
คนนักพัฒนา
การกระทำเทียบ failedReason · รหัสออก · สถานะ draft
- ส่งต่อ→ สาเหตุ: NODE_OPTIONS ที่สืบทอดมาชนกันใน subprocess (นักพัฒนา)
คนนักพัฒนา
การสังเกต · ข้อค้นพบสาเหตุ: NODE_OPTIONS ที่สืบทอดมาชนกันใน subprocess
- ส่งกลับตัวเลือกที่สืบทอดมาชนกัน→ ตัด NODE_OPTIONS · เพดานการทำงานพร้อมกันต่อโปรเซส (การเปลี่ยนแปลงโค้ด)
เซสชันการทำงานการเปลี่ยนแปลงโค้ด
การกระทำตัด NODE_OPTIONS · เพดานการทำงานพร้อมกันต่อโปรเซส
- ส่งต่อ→ สถานะคิว: waiting · active · failed · stale (การเปลี่ยนแปลงโค้ด)
เซสชันการทำงานการเปลี่ยนแปลงโค้ด
การกระทำสถานะคิว: waiting · active · failed · stale
- ส่งต่อ→ การกวาดงานค้าง: หายจากคิว กับ ความพยายามหมดแล้ว แยกแขนงตามว่ามีผลลัพธ์หรือไม่ (การเปลี่ยนแปลงโค้ด)
เซสชันการทำงานการเปลี่ยนแปลงโค้ด
การกระทำการกวาดงานค้าง: หายจากคิว กับ ความพยายามหมดแล้ว แยกแขนงตามว่ามีผลลัพธ์หรือไม่
- ส่งต่อหนึ่งรอบ→ การกวาดใน dev: แคนดิเดต 200 → ย้าย 106 · ใส่คิวใหม่ 2 · ข้อผิดพลาด 0 (ผลงาน)
อาร์ติแฟกต์ผลงาน
อาร์ติแฟกต์การกวาดใน dev: แคนดิเดต 200 → ย้าย 106 · ใส่คิวใหม่ 2 · ข้อผิดพลาด 0
- ไม่ใช่การรันที่บันทึกไว้ขอบเขตของการตีความ→ 106 งานไม่ใช่คำแปลที่สำเร็จ (ผลงาน)
อาร์ติแฟกต์ผลงาน
กฎ · ยังไม่ตรวจยืนยัน106 งานไม่ใช่คำแปลที่สำเร็จ
- บริบท
- การเทียบ failedReason ของ BullMQ รหัสออกของ subprocess และงานที่ค้างอยู่ใน draft พบว่า NODE_OPTIONS ที่สืบทอดมาชนกันใน subprocess หลังจากนั้นสถานการณ์เดียวกันถูกทำให้มองเห็นได้เป็นสถานะของคิว
- ผลลัพธ์
- งานที่ค้างถูกแยกเป็นงานที่หายจากคิวและงานที่ใช้ความพยายามหมดแล้ว งานกลุ่มหลังจะถูกย้ายพร้อมเหตุผลไปยัง needs_review หรือ needs_credential ขึ้นอยู่กับว่ามีผลลัพธ์หรือไม่ การรีวิวโดยคนยังคงอยู่
- ข้อจำกัด
- เพดานการทำงานพร้อมกันเป็นแบบต่อโปรเซส ล็อกการรันต้นฉบับไม่มีในเอกสารที่ตรวจทาน ตัวเลขเวลาแฝงถูกละไว้เพราะไม่ได้บันทึกโมเดลและ effort ที่ร้องขอ โค้ดบิลด์และรีลีสเพียงอย่างเดียวไม่ใช่หลักฐานของการดีพลอยสาธารณะ
แหล่งอ้างอิงและข้อจำกัดที่เหลือ
- CHANGELOG บันทึกข้อเสนอให้แยก branch ของ adapter แบบขนาน แต่ไม่ได้ถูกนำมาเป็นบันทึกการรันแบบขนานจริง
- ส่วนที่เหลือของ 200 งานไม่ได้แจกแจงในบันทึกนี้