ประวัติ Checkpoint

บันทึกสรุปที่ Agent เขียนหลังทำงานแต่ละช่วง ว่าทำอะไร แก้ไขหรืออัปเดตอะไร และเกี่ยวกับ task ไหน เรียงจากล่าสุด

  1. Mockup workspace ใช้ screen artifacts ร่วมกันใน Sitemap และ Page flow

    C-029 Codex

    เพิ่มเมนู Mockup ครบ 3 หน้าย่อย พร้อม 170 screen records และ Page flow ตาม canonical 162 Use cases แยกภาพ/state/component/source และ revision ที่แก้ร่วมกันอย่างเป็นระบบ

    • นำเข้ารหัสหน้าจอ 164 รหัสเป็น wireframe ร่าง 6 states และอ้างภาพ proposal เดิม 6 ภาพ พร้อม provenance ที่ไม่อ้างว่า final
    • สร้าง Sitemap ภาพหน้าจอบนลงล่างและตัวกรอง Module/Channel; Page flow ซ้ายไปขวารักษา source decisions/labels/loops พร้อม mapping ที่แก้ได้
    • เพิ่ม Screen Listing/detail และ links กลับ Use case / artifact / component contracts
    • เพิ่ม grid/zoom/pan/fit/arrange, repeat screen instances, labelled connections/arrowheads, Undo/Redo และ revision/conflict/restore แบบ atomic
    • ตรวจ artifacts/ทุก flow, Go/race/vet และ browser 147 ข้อ ผ่านบนข้อมูลชั่วคราว; เปลี่ยนตัวรัน 8099 และตรวจ GET โดยไม่บันทึกข้อมูลทดสอบจริง

    Task: T-418

  2. ทบทวน Use cases ครบทุกกรณีและแก้ทางแยกที่กระทบสิทธิ์ผู้เรียน

    C-028 Codex

    ตรวจครบ 162 กรณี เทียบแหล่งทางการไทยและแยก UNI/SS ไม่ทำผู้ปกครองเป็น gate มหาวิทยาลัยทุกคน แก้ข้อเสนอ workflow 60 รายการ เพิ่ม decision 47 จุด พร้อมเปิดคำถามนโยบาย ไม่ approve แทนผู้ใช้

    • เพิ่มรายงานผลครบ 162 รายการและคำถาม UR-Q01…10 พร้อมผู้ตอบที่เสนอ/หลักฐานไทย
    • แก้เส้นเอกสารเพิ่มให้วนกลับตรวจ แยกไม่เปิดรุ่น รอเงิน ต่อ/ย้ายหอ ฉุกเฉินและ EC ไม่ไหลไปผลสำเร็จผิด
    • ใช้ canonical wf metadata ร่วมกันใน draft/reset/generated docs พร้อม source hash และคง diagram ที่บันทึกเดิม
    • ตรวจโครงสร้างและ terminal paths ทุก use case; Go/race/vet ผ่าน; browser 70+25 ผ่าน; รันเวอร์ชันใหม่บน 8099

    Task: T-108

  3. เปลี่ยนงานจัดทำ matrix ฉบับร่างที่เสร็จแล้วเป็น Done

    C-027 Codex

    ตามคำขอให้ปิดงานที่เรียบร้อยแล้ว เปลี่ยน T-201/T-202 จาก Review เป็น Done ในขอบเขตการจัดทำฉบับร่าง v0.1 เอกสารมีอยู่ครบตาม checkpoint C-004 ส่วนคำถามและการยืนยันบทบาท/อำนาจ/สิทธิ์จาก BA/Security ยังเปิด review.todo ไว้ตามจริง

    • T-201 Role Matrix draft และ T-202 Security Matrix draft เป็น Done พร้อม finished อ้างอิงเวลาบันทึกงานเสร็จใน C-004
    • คง review state/checklist/history เดิมทุกช่อง และไม่ตั้ง Reviewed/Approve แทนผู้ตรวจ
    • คงสถานะและข้อมูล task อื่นทุกงาน รวมงานที่ Reviewed แล้วและงาน Todo ที่ยังรอข้อมูล

    Task: T-201T-202

  4. เก็บงานที่ผ่านรีวิวและตรวจชุดส่งมอบก่อน commit

    C-026 Codex

    อ่านผลรีวิวล่าสุดแล้ว T-408–T-417 อยู่ใน Reviewed ครบ ไม่มี Reject/Hold ค้าง จึงรวบรวม code เอกสาร task briefs และผลอนุมัติให้เป็นชุดส่งมอบเดียว โดยคงงานและประวัติรีวิวไว้ครบ ตรวจใหม่บนข้อมูลชั่วคราวก่อนบันทึก Git

    • เก็บฟีเจอร์ Use cases/diagram editor, revision history, approval gate, PNG export, module groups และ UI ตามงานที่ผู้ใช้อนุมัติแล้ว
    • เก็บ task briefs 19 รายการ คำถาม 39 ข้อ และเอกสารกติกา Agent ที่ผ่านรีวิว โดยไม่เปลี่ยนคำถามที่ยังเปิดหรือผลตัดสินใจ hosting
    • อ่านผลอนุมัติล่าสุดของ T-415/T-416/T-417 จาก review form และรักษาผล/เวลาเดิม ไม่เติมชื่อผู้รีวิวแทนข้อมูลที่ว่าง
    • Go test -race -count=1 ./... และ go vet ./... ผ่าน พร้อม syntax/JSON/diff checks
    • Browser regression ผ่าน 70 ข้อ และ task briefs ผ่าน 9 ข้อบนข้อมูล /tmp รวม 79 assertions โดยไม่แก้ Use case จริง

    Task: T-408T-409T-410T-411T-412T-413T-414T-415T-416T-417

  5. เติม task briefs และคำถามเพื่อเริ่มงานได้จริง

    C-025 Codex

    ผู้ใช้พบว่า T-303 และหลายงานมีเพียงหัวข้อ จึง audit backlog เทียบฐานความรู้และเติมรายละเอียด 19 รายการ โดย 13 งานที่ยังไม่เริ่มมี 39 คำถามระบุผู้ที่ควรตอบ/เหตุผลอย่างชัดเจน ส่วนงานเก่าเพิ่มบริบทตามหลักฐานและคงสถานะ/ผลรีวิวเดิม

    • เพิ่ม description, deliverables, dependencies, suggested_owner และ questions ในข้อมูล Task และหน้ารายละเอียด
    • T-303 มีขั้นตอนเก็บ mandate/inventory/capacity/RTO-RPO/งบและเจ้าของ operation ก่อนเปรียบเทียบ hosting และให้ผู้มีอำนาจยืนยัน ADR
    • เติม brief ให้ T-203/T-304/T-501–T-506/T-601–T-602/T-701–T-702 พร้อมคำถามด้านขอบเขต/ผู้ตัดสินใจ/ข้อมูลต้นทาง ไม่รอค่าคงที่ที่ต้องเป็น configuration
    • เพิ่มบริบทให้ T-102/T-103/T-105/T-106/T-301 และแก้ summary T-302 เป็นผลเลือก SQL Server ที่อนุมัติแล้ว
    • คำถามมี ID คงที่ ผู้ที่ควรตอบ เหตุผล และช่องบันทึกคำตอบ/ผู้ยืนยัน/เวลา/source; ยังไม่มีการเลือก hosting หรือแต่งคำตอบให้
    • Go race suite และ vet ผ่าน Browser task brief 9 ข้อผ่าน พร้อมตรวจ refs ทุกไฟล์มีอยู่จริง และ screenshot T-303 บน desktop/mobile

    Task: T-417T-203T-303T-304T-501T-502T-503T-504T-505T-506T-601T-602T-701T-702

  6. เก็บ UI Approval/History และ Export PNG แบบพื้นหลังขาว/โปร่งใส

    C-024 Codex

    จัด review panels ให้เป็นสัดส่วน และเพิ่ม Export PNG ที่เก็บภาพครบทั้ง diagram พร้อมเลือกพื้นหลัง อ่านผลรีวิวล่าสุดพบ T-408–T-414 ได้รับอนุมัติแล้วและคงสถานะ Reviewed ตามฟอร์มเดิม ขณะนี้รับงานถัดไปเพื่อเติม task brief ที่ยังมีแต่หัวข้อ

    • การ์ด Approval แสดงสถานะ ผู้ตรวจ เวลา หมายเหตุ และ audit timeline; เมื่ออนุมัติแล้วซ่อนฟอร์มว่าง
    • Revision history แยกวันที่/เวลา รายละเอียด Current และ actions พร้อม empty/error/loading; Refresh ล้มเหลวไม่ล้างรายการเดิม
    • More → Export PNG เปิด dialog เลือก White / Transparent; ส่งออกเต็ม diagram ไม่รวมกริด/จุดลาก ปรับขนาดตามขีดจำกัด canvas
    • Browser ผ่าน 70 ข้อ รวมตรวจ alpha channel และขนาด PNG จริง รวม screenshot ธีมสว่าง/มืด/มือถือ

    Task: T-415T-416

  7. Workflow ซ้ายไปขวา Revision history Approve และตารางหุบตาม Module

    C-023 Codex

    ทำคำขอชุดต่อเนื่องครบ: layout แนวนอน, ประวัติการบันทึกพร้อม rollback, อนุมัติราย Use case ให้ Agent ใช้พัฒนา, toolbar อังกฤษ และตารางจัดกลุ่ม Module ชื่อเต็ม งานเหล่านี้รอผู้ใช้ตรวจ ไม่ได้ approve Use case จริงแทนผู้ใช้

    • ร่างเริ่มต้นแนวนอนตามขนาดข้อความและปุ่ม Arrange horizontally ที่ไม่ล้าง shape/เส้นพร้อม Undo
    • Snapshot ทุก Save ในไฟล์เดียวกับ current graph เขียน atomic; Restore สร้าง revision ใหม่และรักษาประวัติ รองรับไฟล์ที่บันทึกก่อนเปิดใช้ history
    • Approve บันทึก reviewer/time/note ผูก source hash และ diagram revision/hash พร้อม audit trail; source/save/restore ทำให้ต้องยืนยันใหม่
    • เพิ่ม API history/restore/approval พร้อม CSRF validation และ revision conflict รวมกติกาให้ Agent ตรวจ approval ล่าสุดก่อนพัฒนา TNSU product
    • Toolbar แยก Shapes/Edit/View + More ด้วยปุ่มอังกฤษ; ตารางหุบ/ขยายตาม Module แสดงชื่อเต็มและจำสถานะผ่าน live refresh
    • Go race suite และ vet ผ่าน Browser ผ่าน 59 ข้อด้วยข้อมูล /tmp รวมการบันทึก-approve-เปลี่ยน-rollback และกรณี approve ร่างครั้งแรก

    Task: T-411T-412T-413T-414

  8. จัดกลุ่ม Use cases อ่าน description ครบ ซูมด้วยเมาส์ และย้าย Current Task

    C-022 Codex

    ทำคำขอต่อเนื่องครบ: Ctrl + scroll ซูมตามจุดเมาส์, description แสดงครบหลายบรรทัดพร้อมขยาย shape, แท็บกลุ่มงานพร้อมตารางไม่จำกัดความสูง และ Current Task อยู่ก่อน Milestone ในหน้าภาพรวม รีสตาร์ตใช้งานจริงที่ 8099 แล้ว

    • Ctrl + scroll ขึ้น/ลงซูม 1–300% โดยรักษาจุดใต้เมาส์; dropdown แสดงสเกลจริงและไม่ทำให้ diagram มีสถานะยังไม่บันทึก
    • ตัดบรรทัด Title/Description ตามคำและกลุ่มตัวอักษรไทย ไม่ตัดทิ้ง ขยาย shape ทั้งสี่แบบ และเว้นช่องร่างใหม่ตามความสูงจริง
    • แท็บ Frontend / Backoffice / Integration ใช้ร่วมกับ filters ได้ แสดง counts และเหตุผลใน tooltip กลุ่มซ้อนกันได้ เป็นการอนุมานเบื้องต้นไม่ใช่ข้อสรุปหน้าจอ/API
    • ตารางแสดงยาวตามเนื้อหาโดยไม่ล็อคความสูง; ย้าย Current Task ไปก่อน Milestone ทั้งหมด
    • Go race tests และ vet ผ่าน Browser regression ผ่าน 41 ข้อ และตรวจพอร์ตหลักแบบอ่านอย่างเดียวผ่าน รวมลำดับ Current Task

    Task: T-409T-410

  9. Diagram ขยับตามกริดและใช้เส้นเชื่อมหักมุม

    C-021 Codex

    ปรับตามคำขอระหว่างทดลองใช้: จัดตำแหน่ง shape ให้ตรงกริด และเปลี่ยนเส้นเชื่อมจากแนวอิสระเป็นแนวนอน/แนวตั้งหักมุม 90° โดยยังคง Fit ทั้งหมดและจัดกึ่งกลางเป็นค่าเริ่มต้น

    • การลาก เพิ่ม shape และขยับด้วยแป้นพิมพ์ snap พิกัดทีละ 20 หน่วย
    • กริดวาดใน SVG จึงซูมและเลื่อนไปพร้อมกับ diagram
    • เส้นเชื่อมใช้ orthogonal routing เลือกขอบ shape และปรับเส้นตามตำแหน่ง รวมเส้นย้อนกลับและ self-loop; เส้นขณะกำลังลากก็หักมุม
    • Browser ผ่าน 24 ข้อ รวมยืนยันว่าทุกช่วงเส้นเป็นแนวนอน/แนวตั้งและพิกัดที่บันทึกตรงกริด
    • รีสตาร์ตเวอร์ชันล่าสุดบนพอร์ตหลัก 8099 ตามสิทธิ์ที่ผู้ใช้ให้ไว้

    Task: T-409

  10. Use cases แบบตาราง พร้อม diagram editor บันทึกส่วนกลาง

    C-020 Codex

    เพิ่มเมนู Use cases ตามคำขอ ใช้แหล่งข้อมูลเดิมและแยก diagram ฉบับร่างออกจากข้อกำหนด ผู้ใช้เลือกบันทึกส่วนกลางและขอ Table view ต่อมาขอจัดกึ่งกลางพร้อมซูมให้เห็นทั้งหมดเริ่มต้น จึงเพิ่ม Fit และการเลื่อนมุมมอง อ่าน review แล้วไม่มี Reject / Hold ที่ต้องแก้ก่อน เรียกใช้งานเวอร์ชันใหม่ที่ 8099 ตามที่ผู้ใช้อนุญาต

    • ตารางค้นหา / กรอง 162 Use cases ใน 35 modules และหน้า actors / จุดเริ่มต้น / ผลลัพธ์ / ขั้นตอน / ความสัมพันธ์
    • SVG editor: shape 4 แบบ, title/description/type, ลากตำแหน่งและเส้นเชื่อม, ข้อความบนเส้นและหัวลูกศรต้น–ปลาย, ลบ, undo/redo, zoom, Fit ทั้งหมดเริ่มต้น, pan และ export JSON
    • บันทึก JSON ส่วนกลางแบบ atomic พร้อม validation และ revision conflict; live refresh และการบันทึกล้มเหลวไม่ล้างงานใน editor
    • ทดสอบ Go พร้อม race detector และ vet; Browser ผ่าน 23 ข้อ รวม SSE จริง สองผู้ใช้ และ Fit/กึ่งกลาง
    • อัปเดตคู่มือและแหล่งความรู้ งาน T-409 รอผู้ใช้ตรวจ ไม่มีการสร้าง worktree หรือ workspace ใหม่

    Task: T-409

  11. แก้ tracker ช้าเมื่อเปิดหลาย tab และอ่านผลรีวิว

    C-019 Claude Code (Opus 5.5)

    ผู้ใช้ถามว่าเว็บช้าเพราะอะไร วัดแล้ว server ตอบใน 1–25 ms และไม่ใช้ CPU ปัญหาอยู่ที่ browser: ทุก tab ถือการเชื่อมต่อ live update ค้างไว้ ซึ่ง browser ให้ได้ประมาณ 6 ช่องต่อเว็บ เมื่อเปิดหลาย tab หน้าใหม่ต้องรอคิว จึงให้ tab ที่ไม่ได้ดูปิดการเชื่อมต่อ และ cache CSS/JS ไว้ใน browser อ่านผลรีวิวแล้ว: ทิว approve T-302, T-401, T-403–T-407 ทั้งหมดอยู่ในสถานะ Reviewed ไม่มีงานที่ Reject หรือ Hold และ T-201, T-202 ยังรอรีวิว

    • live.js: ปิด EventSource เมื่อ tab ถูกซ่อน และต่อใหม่ + ดึงข้อมูลล่าสุดเมื่อกลับมา
    • main.go: staticVersion (hash ของไฟล์ static), template func asset, Cache-Control แบบ immutable เมื่อ ?v ตรง
    • Test ใหม่ TestStaticCaching
    • บันทึกผลรีวิวของทิวลงใน repo

    Task: T-408T-302T-401T-403T-404T-405T-406T-407

  12. แก้ย่อ/ขยายใน Timeline

    C-018 Claude Code (Opus 5.5)

    ผู้ใช้แจ้งว่าย่อ/ขยายใช้งานไม่ได้ ตรวจใน browser พบว่า JS ซ่อนแถวถูกต้องแล้ว แต่ CSS ของแถวทำให้แถวที่ซ่อนยังแสดงอยู่ แก้ CSS และเพิ่มการตรวจย่อ/ขยายใน E2E

    • style.css: .tl-row[hidden] { display: none }
    • e2e/timeline-check.mjs: ย่อ Epic แล้ว task ข้างในหาย ขยายแล้วกลับมา

    Task: T-407

  13. Timeline เต็มจอ ปรับความกว้างช่องรายละเอียดได้

    C-017 Claude Code (Opus 5.5)

    ตามคำขอ: หน้า Timeline ต้องใช้พื้นที่กว้าง จึงให้ใช้ความกว้างถึงขอบ browser และ chart ยืดเต็มพื้นที่ เพิ่มเส้นแบ่งที่ลากซ้ายขวาเพื่ออ่านชื่องานได้ยาวขึ้น และแก้สีพื้นหลังช่องรายละเอียดที่ซ้อนกับแถบตอนชี้เมาส์ใน theme มืด

    • หน้า Timeline ไม่จำกัด max-width (หน้าอื่นคงเดิม)
    • ตำแหน่งแถบ หัวตาราง และเส้นตอนนี้ คำนวณเป็น % ของ chart; ความกว้างจาก scale กลายเป็นความกว้างขั้นต่ำก่อนเลื่อนแนวนอน
    • เส้นแบ่งลากได้ที่หัวตารางและขอบทุกแถว, คีย์บอร์ด (ลูกศร, Shift+ลูกศร, Home) และจำค่าใน browser
    • Hover สีบนช่องรายละเอียดวางบนพื้นทึบ ใน theme มืดจึงไม่เห็นแถบ chart ทะลุ
    • E2E ใหม่ e2e/timeline-check.mjs

    Task: T-407

  14. เมนู Timeline (Gantt chart)

    C-016 Claude Code (Opus 5.5)

    เพิ่มหน้า Timeline ตามคำขอ: Milestone › Epic › Task ฝั่งซ้าย แถบเวลาฝั่งขวาคล้าย Jira Timeline ปรับดูรายชั่วโมง วัน และสัปดาห์ได้ คำนวณตำแหน่งทั้งหมดฝั่ง server และอัปเดตสดเหมือนหน้าอื่น

    • timeline.go: ช่วงเวลาทำจริงและแผน, แถบ Epic / Milestone, target marker, scale และหัวตาราง
    • หน้า /timeline พร้อมเส้นตอนนี้, วันหยุดแรเงา, ย่อ/ขยาย และปุ่มไปที่ตอนนี้
    • Task รองรับ start / due (แผน) และวันเวลาแบบ RFC 3339
    • Live update คงตำแหน่ง scroll ของ chart
    • AGENTS.md: บันทึก started / finished พร้อมเวลา

    Task: T-406

  15. ไฟล์แนบเปิดเป็น HTML, สถานะ Reviewed และนำผลรีวิว T-302 (SQL Server) ไปใช้

    C-015 Claude Code (Opus 5.5)

    ทำตามคำขอ 3 เรื่อง: ไฟล์แนบอย่าง Role Matrix และ Security Matrix กดเปิดเป็นหน้า HTML อ่านง่ายในแท็บใหม่, เพิ่มสถานะ Reviewed แยกจาก Done และให้ Done เป็นสีเขียว ระหว่างทำพบว่าผู้รีวิว (ทิว) Approve ไป 4 งานผ่าน Review form จึงอ่านผลแล้วนำไปใช้: บันทึกการเลือก SQL Server ลง ADR-0001

    • File viewer /files/<path>: markdown render พร้อมตาราง, TOC, row filter, heading anchor และ mermaid; ป้องกัน path traversal, .git และ symlink
    • Refs และ path ใน code span ในข้อความรีวิวเปิดในแท็บใหม่
    • สถานะ reviewed: Approve แล้วเป็น Reviewed, % นับ Done + Reviewed, ย้าย T-302, T-401, T-403, T-404 เป็น Reviewed
    • Done สีเขียว / Reviewed สีน้ำเงินพร้อม ✓
    • ADR-0001: ฐานข้อมูลเป็น SQL Server ตามผลรีวิว T-302 พร้อมผลกระทบ (RabbitMQ สำหรับ queue, Thai collation, JSON, temporal และ ledger tables)
    • อัปเดต README, AGENTS.md, 07, 11, docs/agent/README และ tracker/README

    Task: T-405T-305T-302

  16. Review form: กรอกผลรีวิวและ Save จากหน้าเว็บ

    C-014 Claude Code (Opus 5.5)

    เพิ่มฟอร์มรีวิวตามคำขอของ project owner ให้ผู้รีวิวติ๊ก Checklist เลือก Approve / Reject / Hold เขียนผล แล้วกด Save ผลบันทึกลง milestones.json ให้ Agent อ่านได้ และปรับหน้าผลตรวจ Test ให้ใช้คำภาษาอังกฤษตามที่ทีมใช้

    • POST /reviews/{task}: validate, กัน CSRF (Origin/Referer), จำกัดขนาด 64 KB
    • แก้ไฟล์ JSON แบบคงลำดับ key และ field อื่น เขียนแบบ atomic และเก็บ Review history ทุกครั้ง
    • Approve → task Done, Reject → task In Progress, Hold → ค้างที่ Wait for review
    • Live update ไม่ทับฟอร์มที่กำลังกรอก, browser จำชื่อผู้รีวิว
    • ผลตรวจ Test ใช้คำภาษาอังกฤษ (Validation, Live update (SSE), Routing, Markdown sanitize ฯลฯ)
    • AGENTS.md: Agent ต้องอ่านผลรีวิว Rejected / Hold ก่อนเริ่มงานทุกครั้ง

    Task: T-404

  17. Tracker รอบ 2: หน้าย่อย, Checkpoint จาก Agent, Test แบบจัดกลุ่ม, Review tabs และ animation

    C-013 Claude Code (Opus 5.5)

    ปรับ tracker ตามคำขอของ project owner 5 เรื่อง: แยกหน้าตามลำดับชั้นเพื่อรองรับ milestone ของงานจริง, เปลี่ยน Checkpoint จาก git log เป็นบันทึกสรุปที่ Agent เขียน, จัดผลทดสอบเป็นหัวข้อให้ BA และ Technical อ่านเข้าใจ, แยกการรีวิวตามสถานะพร้อม checklist และให้งานที่กำลังทำหรือรอรีวิวมี animation

    • หน้าย่อย /milestones/{milestone}, /milestones/{milestone}/{epic} และ /tasks/{task} พร้อม breadcrumb และรายชื่อ milestone ในเมนูด้านข้าง
    • Checkpoint อ่านจาก data/checkpoints.json แทน git log เอา git.go และ flag -repo ออก และเขียนสรุปย้อนหลัง 12 รายการ
    • ผลตรวจ Test: จัดกลุ่มตามหัวข้อ ป้าย BA / Technical ตัวกรองมุมมอง และย้ายรายละเอียดเทคนิคไปส่วนพับ
    • Wait for review: tab Todo / Rejected / Hold / Done, checklist เป็นขั้นตอน และข้อความแบบ markdown (render ฝั่ง server แบบปลอดภัย)
    • Animation: แสงวิ่งบน In Progress และลายเลื่อนบน Wait for review หยุดเมื่อระบบตั้งลดการเคลื่อนไหว
    • เขียน checklist ให้งานที่รอรีวิวทั้ง 4 งาน และบันทึกผลทดสอบรอบนี้แบบจัดกลุ่ม (33 ข้อ ผ่านทั้งหมด)
    • อัปเดต tracker/README.md, README.md และ AGENTS.md (กติกาเขียน checkpoint และผลทดสอบ)

    Task: T-403T-201T-202T-302T-401

  18. เปิด tracker ให้เข้าจาก Tailscale

    C-012 Claude Code (Opus 5.5) commit a34ed5c

    ตั้ง tailscale serve แบบ TCP บน Windows ส่งต่อพอร์ต 8099 เข้า WSL ทดสอบทุกหน้าและการอัปเดตสดผ่าน IP Tailscale แล้วผ่าน

    • scripts/tailscale.sh on | off | status
    • เปลี่ยนพอร์ตเริ่มต้นเป็น 8099
    • บันทึกปัญหา P-008 (HTTP serve ได้ 404/500)

    Task: T-402

  19. Dark mode เข้มขึ้นและจัดเนื้อหากึ่งกลาง

    C-011 Claude Code (Opus 5.5) commit ef793d7

    ทำโหมดมืดเข้มขึ้นอีกระดับ ไล่ระดับชั้นสีไม่ให้กลืนกัน ตรวจ contrast ตาม WCAG ทุกคู่สี และจัดเนื้อหาให้อยู่กึ่งกลางบนจอกว้าง

    • ชั้นสี page < เมนู < การ์ด < ส่วนที่ยกขึ้น
    • กรอบ Todo ปรับให้ผ่าน 3:1
    • จัดเนื้อหากึ่งกลาง

    Task: T-401

  20. Dark mode แบบ GitHub

    C-010 Claude Code (Opus 5.5) commit 1b2d42e

    เปลี่ยนชุดสีโหมดมืดเป็นแบบ GitHub dark และแก้ตัวอักษรบนพื้นสีทองที่อ่านยาก

    • ชุดสีโหมดมืดใหม่
    • token ตัวอักษรบนพื้นสีทองและเมนูด้านข้าง

    Task: T-401

  21. ถอดไฟล์ draw.io ต้นฉบับของ BA

    C-009 Claude Code (Opus 5.5) commit cccee73

    อ่านไฟล์ TNSU_EDU 191069.drawio ทั้ง 7 หน้า ยืนยันว่า module ตรงกับที่ถอดจากภาพ และได้ข้อมูลใหม่: โครงสร้างหน่วยงาน หลักสูตรจริง 9 หลักสูตร และ flow ของ BA 2 เรื่อง

    • เพิ่ม tools/gen_ba_drawio.py และ docs/agent/ba-drawio.md
    • 03-modules: โครงสร้างหน่วยงานและรายการหลักสูตร
    • 05-workflows: flow สร้างหลักสูตรและเปิดสอน (รวมวิชาเรียนรวม)
    • ปิดปัญหา P-003 ภาพความละเอียดต่ำ

    Task: T-107

  22. จัดงานเป็น Milestone → Epic → Task

    C-008 Claude Code (Opus 5.5) commit 8dcc598

    ย้ายงานเดิมทั้งหมดไปเป็น Milestone 0 (เตรียมความพร้อม) แตกเป็น 7 epic และเพิ่ม epic สำหรับจัดหมวดหมู่ milestone ของงานจริง

    • โครงสร้างข้อมูลใหม่ milestone → epic → task และรหัส epic อัตโนมัติ (E0.1…)
    • หน้าภาพรวมแสดงหลอดแบ่งกลุ่มตาม epic และแถวของแต่ละ epic

    Task: T-401T-701

  23. Dark mode และแก้ watcher อ่านไฟล์ระหว่างบันทึก

    C-007 Claude Code (Opus 5.5) commit d2349fd

    เพิ่ม dark mode แบบตามระบบ/สว่าง/มืด และแก้ปัญหา watcher อ่านไฟล์ที่ยังเขียนไม่เสร็จ ซึ่งทำให้ test ผ่านบ้างไม่ผ่านบ้าง

    • เปลี่ยนสีทั้งหมดเป็น token และเพิ่มปุ่มเลือกธีม
    • watcher รอให้ไฟล์คงที่ก่อนโหลดใหม่ (P-007)
    • go test ซ้ำ 30 รอบผ่านครบ

    Task: T-401

  24. สร้างเว็บติดตามความคืบหน้างาน

    C-006 Claude Code (Opus 5.5) commit 8878325

    สร้าง tracker เป็น Go server ที่ render ฝั่ง server และอัปเดตสดด้วย Server-Sent Events มี 6 เมนูตามที่ขอ พร้อมข้อมูลตั้งต้นจากงานจริงของทีม

    • หน้าภาพรวม: จำนวน Task / Review / Checkpoint, milestone แบบหลอด segment และ Current Task
    • go test 12 รายการ และ e2e ตรวจการอัปเดตสดในเบราว์เซอร์จริง
    • กติกาใน AGENTS.md ให้ Agent อัปเดตข้อมูล tracker

    Task: T-401

  25. README ของ repo และ push ขึ้น GitLab

    C-005 Claude Code (Opus 5.5) commit abedeb3

    ตั้ง remote GitLab แล้ว push และเขียน README ภาษาไทยสำหรับคนในทีม

    • README.md: สถานะงาน tech stack โครงสร้าง repo และวิธีอัปเดตข้อมูล
    • push branch main ขึ้น GitLab

    Task: T-103T-106

  26. Role Matrix, Security Matrix และ ADR tech stack

    C-004 Claude Code (Opus 5.5) commit 5d2b2ec

    ทำ Role Matrix และ Security Matrix ฉบับร่างจาก use case และบันทึกการตัดสินใจของ project owner (tech stack, ไม่มีระบบเดิม, ค่ากฎตั้งโดยมหาวิทยาลัย)

    • 13-role-matrix.md: 59 รหัสบทบาท โมเดลขอบเขตสิทธิ์ และตารางอำนาจอนุมัติประมาณ 40 เรื่อง
    • 14-security-matrix.md: ระดับข้อมูล L1–L4 สิทธิ์ตามโดเมนข้อมูล การยืนยันตัวตน SoD และ audit
    • docs/adr/0001-tech-stack.md พร้อมข้อเปรียบเทียบ SQL Server กับ PostgreSQL
    • ตัดเรื่องระบบ E-Education เดิมออกทุกไฟล์

    Task: T-201T-202T-301T-302

  27. สร้าง catalog use case และเอาเนื้อหาโครงการอื่นออก

    C-003 Claude Code (Opus 5.5) commit babd21d

    ถอดข้อมูล 162 use case จาก Use case Explorer ที่ทีม export มา เขียนสคริปต์สร้าง catalog ทีละ module และเอารายละเอียดของโครงการอื่นออกจากฐานความรู้ตามที่ทีมยืนยัน

    • เพิ่ม tools/gen_use_cases.py และ docs/agent/use-cases/ (35 module, 162 use case)
    • เขียน 12-use-cases.md: ตารางเทียบกับ BA และ Proposal แนวคิดหลัก ระบบภายนอก และ 18 จุดที่ต้องตรวจสอบ
    • เปลี่ยนรหัสโรงเรียนกีฬาของ BA จาก SCH เป็น SS เพราะ use case ใช้ SCH เป็นทุนและ กยศ.
    • เขียน 07 และ 08 ใหม่จากเนื้อหา TNSU เท่านั้น

    Task: T-104T-105

  28. ระบุว่า Proposal §5 และ §7 ไม่เกี่ยวกับ TNSU

    C-002 Claude Code (Opus 5.5) commit 51550d2

    พบว่า §5 และ §7 ของ Proposal เป็นเนื้อหาของโครงการอื่น จึงระบุในเอกสารทุกจุดว่าห้ามใช้เป็น requirement ระหว่างรอทีมยืนยัน

    • README, AGENTS.md และไฟล์ 07, 08, 09, 11 ระบุว่า §5.1–5.3 และ §7 เป็นเนื้อหาชั่วคราว
    • ระบุเลขหน้าโดยประมาณของส่วนที่ปนมา

    Task: T-104

  29. สร้างฐานความรู้โครงการจาก Proposal

    C-001 Claude Code (Opus 5.5) commit ec2a33b

    ศึกษา Business Proposal ทั้งฉบับ รวมภาพ workflow และภาพตัวอย่างหน้าจอ แล้วเขียนเป็นฐานความรู้ให้ Agent ใช้ ต่อด้วยถอดภาพโครงสร้าง module ของ BA และตั้ง git repo

    • สร้าง docs/agent/ 01–11: ภาพรวม ศัพท์ module บทบาท workflow UX/UI architecture NFR แผนงาน KPI และคำถามค้าง
    • ถอดภาพ module ของ BA เป็น UNI-01…08 และโรงเรียนกีฬา 15 module พร้อมตารางเทียบกับระบบใน Proposal
    • เพิ่ม AGENTS.md และ CLAUDE.md ชี้ไปที่ docs/agent
    • ตั้ง git repo และ commit แรก

    Task: T-101T-102T-103