# TMS Full System Audit Prompts เอกสารคำสั่งสำหรับใช้สั่ง AI / Codex ตรวจสอบระบบ Training Management System (TMS) แบบครบวงจร แบ่งการตรวจสอบออกเป็นหลายเฟส เพื่อให้สามารถตรวจสอบอย่างเป็นระบบ ลดความเสี่ยงจากการตรวจสอบพร้อมกันทั้งหมด และสามารถนำผลลัพธ์ไปวางแผนแก้ไขใน Coding Phase ถัดไปได้อย่างชัดเจน > **หลักการสำคัญ:** ทุกเฟสในเอกสารนี้เป็นการตรวจสอบ วิเคราะห์ และจัดทำรายงานเท่านั้น ห้ามแก้ไขโค้ด ห้ามเปลี่ยนโครงสร้างฐานข้อมูล ห้ามสร้าง Migration และห้าม Refactor เว้นแต่ได้รับคำสั่งให้เข้าสู่ Coding Phase อย่างชัดเจนภายหลัง --- # 1. ภาพรวมการตรวจสอบ ให้แบ่งการตรวจสอบระบบออกเป็น 7 เฟสหลัก ดังนี้ 1. Phase 1 — Architecture Audit 2. Phase 2 — Functional Review 3. Phase 3 — Permission & Authorization Audit 4. Phase 4 — UI/UX & Design System Audit 5. Phase 5 — Code Quality & Performance Audit 6. Phase 6 — Security Audit 7. Phase 7 — Production Readiness Review แต่ละเฟสต้องสร้างรายงานแยกกันภายใต้โฟลเดอร์: ```text docs/reviews/ ``` ไฟล์ผลลัพธ์ที่ต้องสร้าง: ```text docs/reviews/phase-1-architecture-audit.md docs/reviews/phase-2-functional-review.md docs/reviews/phase-3-permission-authorization-audit.md docs/reviews/phase-4-ui-ux-design-system-audit.md docs/reviews/phase-5-code-quality-performance-audit.md docs/reviews/phase-6-security-audit.md docs/reviews/phase-7-production-readiness-review.md docs/reviews/full-system-audit-summary.md ``` --- # 2. กติกากลางสำหรับทุกเฟส ก่อนเริ่มตรวจสอบทุกเฟส ให้ปฏิบัติตามข้อกำหนดต่อไปนี้ ## 2.1 ห้ามแก้ไขระบบ ในช่วง Audit ให้ดำเนินการเฉพาะ: - อ่านและตรวจสอบโค้ด - ตรวจสอบโครงสร้างโปรเจกต์ - วิเคราะห์ Workflow - วิเคราะห์ Business Rule - วิเคราะห์ Permission - วิเคราะห์ UI/UX - วิเคราะห์ฐานข้อมูล - ตรวจสอบ Configuration - ตรวจสอบ Test ที่มีอยู่ - จัดทำรายงาน - เสนอแนวทางแก้ไขในระดับคำแนะนำ ห้ามดำเนินการดังต่อไปนี้: - ห้ามแก้ไข Source Code - ห้ามเพิ่มหรือลบไฟล์โค้ด - ห้าม Refactor - ห้ามแก้ Schema - ห้ามสร้างหรือรัน Migration - ห้ามแก้ Environment Variable - ห้ามติดตั้ง Package เพิ่ม - ห้ามลบ Package - ห้ามแก้ Permission จริง - ห้ามเปลี่ยนข้อมูลในฐานข้อมูล - ห้ามแก้ UI - ห้ามแก้ API หากพบปัญหา ให้บันทึกลงรายงานเท่านั้น ## 2.2 ตรวจสอบจากระบบจริง ห้ามสรุปจากชื่อไฟล์เพียงอย่างเดียว ต้องตรวจสอบอย่างน้อย: - Route - Page - Layout - Component - Hook - Service - Repository - API Route / Route Handler - Server Action - Schema Validation - Type - Database Schema - Permission Guard - Navigation Config - Middleware - Error Handling - Loading State - Empty State - Test ที่เกี่ยวข้อง ## 2.3 ห้ามคาดเดา หากไม่พบหลักฐานในโค้ด ให้ระบุว่า: ```text ไม่พบหลักฐานยืนยันจากโค้ดที่ตรวจสอบ ``` ห้ามสรุปว่าระบบรองรับหรือไม่รองรับโดยไม่มีหลักฐาน ## 2.4 อ้างอิงตำแหน่งที่พบ ทุก Finding ควรระบุ: - ชื่อไฟล์ - Path - Function / Component / Route ที่เกี่ยวข้อง - บรรทัดโดยประมาณ หากตรวจสอบได้ - Module ที่ได้รับผลกระทบ ตัวอย่าง: ```text ไฟล์: src/app/api/training-records/route.ts ส่วนที่เกี่ยวข้อง: POST handler ประเด็น: ตรวจพบการตรวจสอบ Permission เฉพาะฝั่ง UI แต่ไม่พบ API Guard ``` ## 2.5 Severity Standard จัดระดับความรุนแรงโดยใช้มาตรฐานเดียวกันทุกเฟส ### Critical ปัญหาที่อาจทำให้: - ข้อมูลรั่วไหล - ผู้ไม่มีสิทธิ์เข้าถึงข้อมูลสำคัญ - ระบบหลักไม่สามารถใช้งานได้ - ข้อมูลเสียหายหรือสูญหาย - Workflow อนุมัติผิดพลาดอย่างร้ายแรง - Production ไม่สามารถ Deploy ได้ ### High ปัญหาที่: - กระทบ Feature หลัก - Permission ผิดบางกรณี - Business Rule สำคัญทำงานไม่ครบ - เกิด Error ใน Workflow หลัก - มีความเสี่ยงด้าน Security สูง - กระทบผู้ใช้จำนวนมาก ### Medium ปัญหาที่: - กระทบ UX หรือความสม่ำเสมอ - Logic บางกรณีผิด - Validation ไม่ครบ - Code Maintainability ต่ำ - Performance เริ่มมีความเสี่ยง - กระทบ Feature รอง ### Low ปัญหาที่: - เป็นข้อเสนอแนะเพื่อปรับปรุง - Naming ไม่สม่ำเสมอ - UI Detail เล็กน้อย - Documentation ไม่ครบ - Code Style ไม่เป็นมาตรฐาน แต่ยังไม่กระทบการใช้งาน ## 2.6 รูปแบบ Finding ทุก Finding ให้ใช้รูปแบบนี้: ```md ### [Severity] ชื่อปัญหา **Module:** **ตำแหน่งที่พบ:** **รายละเอียด:** **ผลกระทบ:** **หลักฐานจากโค้ด:** **สถานการณ์ตัวอย่าง:** **คำแนะนำ:** **ต้องแก้ก่อน Production หรือไม่:** ใช่ / ไม่ใช่ / ควรพิจารณา ``` ## 2.7 ห้ามรายงานแบบกว้างเกินไป หลีกเลี่ยงคำแนะนำ เช่น: ```text ควรปรับปรุงโค้ดให้ดีขึ้น ควรเพิ่ม Security ควรทำ UI ให้สวยขึ้น ``` ให้ระบุอย่างชัดเจนว่า: - ส่วนใดมีปัญหา - ปัญหาเกิดจากอะไร - กระทบใคร - ควรแก้แบบใด - ลำดับความสำคัญเท่าใด --- # 3. Phase 1 — Architecture Audit ## Prompt สำหรับใช้งาน ```md คุณคือ Senior Software Architect และ Senior Full-Stack Engineer หน้าที่ของคุณคือทำ Architecture Audit ระบบ Training Management System (TMS) ทั้งโปรเจกต์ โดยตรวจสอบโครงสร้างระบบจริงจาก Source Code ปัจจุบัน ## วัตถุประสงค์ ตรวจสอบว่าสถาปัตยกรรมของระบบมีความชัดเจน เป็นระบบ รองรับการดูแลระยะยาว และเหมาะสมกับระบบ Enterprise ภายในองค์กรหรือไม่ ## ขอบเขตการตรวจสอบ ### 1. Project Structure ตรวจสอบ: - โครงสร้าง Folder หลัก - การแบ่ง App Route - การแบ่ง Feature Module - การวาง Component - การวาง Hook - การวาง Service - การวาง Repository - การวาง Schema - การวาง Type - การวาง Constant - การวาง Utility - การวาง Permission - การวาง Test - การวาง Documentation ตรวจสอบว่ามีปัญหาเหล่านี้หรือไม่: - ไฟล์กระจายหลายตำแหน่ง - Feature เดียวกันอยู่หลาย Folder - Shared Component และ Feature Component ปะปนกัน - Business Logic อยู่ใน UI มากเกินไป - API เรียก Database โดยตรงโดยไม่มี Layer ที่ชัดเจน - Naming Convention ไม่สม่ำเสมอ - Dependency ข้าม Module มากเกินไป ### 2. Layer Separation ตรวจสอบการแยก Layer: - Presentation Layer - Application Layer - Domain / Business Logic - Data Access Layer - Infrastructure Layer ตรวจสอบว่า: - Component มี Business Logic มากเกินไปหรือไม่ - API Handler มี Logic มากเกินไปหรือไม่ - Repository รับผิดชอบเฉพาะ Data Access หรือไม่ - Validation อยู่ในตำแหน่งที่เหมาะสมหรือไม่ - Permission Logic กระจายหลายจุดหรือไม่ - Error Handling ถูกจัดการรวมศูนย์หรือไม่ ### 3. Module Boundary ตรวจสอบ Module หลัก เช่น: - Authentication - User / Employee - Organization - Training Records - Training Approval - Online Lessons - Announcements - Policies - Reports - Notifications - Permission Template - Audit Logs - Settings ตรวจสอบว่าแต่ละ Module: - มีขอบเขตชัดเจนหรือไม่ - เรียกใช้งานข้าม Module อย่างเหมาะสมหรือไม่ - มี Circular Dependency หรือไม่ - มี Logic ซ้ำหรือไม่ - มี Shared Type หรือ Shared Constant ที่ผิดขอบเขตหรือไม่ ### 4. Data Flow ตรวจสอบ Flow ตั้งแต่: ```text UI → Form Validation → Action/API → Permission → Service → Repository → Database ``` ตรวจสอบว่า: - Flow สม่ำเสมอทั้งระบบหรือไม่ - บางหน้าข้าม Layer หรือไม่ - Error ถูกส่งกลับในรูปแบบเดียวกันหรือไม่ - Response Structure มีมาตรฐานหรือไม่ - Transaction Boundary ชัดเจนหรือไม่ ### 5. State Management ตรวจสอบ: - Server State - Client State - Form State - URL State - Filter State - Pagination State - Dialog / Sheet State ตรวจสอบว่ามี: - State ซ้ำซ้อน - State ที่ควรอยู่ใน URL แต่เก็บใน Component - State ที่ควรอยู่ Server แต่เก็บ Client - Re-fetch ที่ไม่จำเป็น - Prop Drilling มากเกินไป ### 6. Authentication & Authorization Architecture ตรวจสอบภาพรวมว่า: - Authentication อยู่จุดใด - Session ถูกอ่านอย่างไร - Authorization ถูกเรียกใช้จากจุดใด - Permission Template ถูกใช้จริงหรือไม่ - Compatibility Mode เดิมยังเหลืออยู่หรือไม่ - businessRole / isHRD / Role-based Logic ยังปะปนกับ Permission-first หรือไม่ - UI Guard, Route Guard และ API Guard ใช้มาตรฐานเดียวกันหรือไม่ ### 7. Database Architecture ตรวจสอบ: - Schema Design - Relation - Foreign Key - Unique Constraint - Index - Soft Delete - Audit Field - Status Field - Versioning - Approval History - Notification Record - File Metadata ### 8. Maintainability ตรวจสอบว่า: - เพิ่ม Feature ใหม่ได้ง่ายหรือไม่ - เปลี่ยน Permission ได้ง่ายหรือไม่ - เปลี่ยน Workflow ได้ง่ายหรือไม่ - เปลี่ยน Status ได้ง่ายหรือไม่ - มี Magic String มากหรือไม่ - มี Duplicate Logic หรือไม่ - มี God Component / God Service หรือไม่ ## วิธีดำเนินการ 1. สำรวจโครงสร้างโปรเจกต์ทั้งหมด 2. ระบุ Module และ Layer ปัจจุบัน 3. ตรวจสอบ Dependency ระหว่าง Module 4. ตรวจสอบตัวอย่าง Flow อย่างน้อย 3 Flow ได้แก่: - Create Training Record - Approve / Reject Training Record - Create / Approve / Publish Announcement หรือ Online Lesson 5. ตรวจสอบ Permission Architecture 6. ตรวจสอบ Database Architecture 7. สรุป Finding ตาม Severity ## ผลลัพธ์ที่ต้องสร้าง สร้างไฟล์: ```text docs/reviews/phase-1-architecture-audit.md ``` รายงานต้องประกอบด้วย: 1. Executive Summary 2. Current Architecture Overview 3. Project Structure Assessment 4. Layer Separation Assessment 5. Module Boundary Assessment 6. Data Flow Assessment 7. Authentication & Authorization Architecture 8. Database Architecture Assessment 9. Maintainability Assessment 10. Findings by Severity 11. Architecture Risks 12. Recommended Target Architecture 13. Recommended Remediation Order 14. Files Reviewed 15. Areas Not Verified ## ข้อกำหนดสำคัญ - ห้ามแก้ไขโค้ด - ห้าม Refactor - ห้ามสร้างไฟล์โค้ดใหม่ - ให้สร้างเฉพาะรายงาน Audit - ทุกข้อสรุปต้องมีหลักฐานอ้างอิงจากโค้ด ``` --- # 4. Phase 2 — Functional Review ## Prompt สำหรับใช้งาน ```md คุณคือ Senior Business Analyst, QA Lead และ Senior Full-Stack Engineer หน้าที่ของคุณคือทำ Functional Review ระบบ Training Management System (TMS) ทั้งระบบ โดยตรวจสอบว่า Feature, Workflow และ Business Rule ทำงานครบตามความต้องการหรือไม่ ## วัตถุประสงค์ - ตรวจสอบความครบถ้วนของระบบ - ตรวจสอบ Missing Feature - ตรวจสอบ Business Logic - ตรวจสอบ Workflow - ตรวจสอบ Edge Case - ตรวจสอบ Error Handling - ตรวจสอบความสอดคล้องระหว่าง UI, API และ Database ## Module ที่ต้องตรวจสอบ ### 1. Authentication ตรวจสอบ: - Login - Logout - Session - Unauthorized - Forbidden - Session Expired - First-time Access - Employee Lookup - LDAP / AD Integration หากมี ### 2. Dashboard ตรวจสอบ Dashboard ของ: - Employee - HRD Staff - HRD Manager - IT Admin - Super Admin ตรวจสอบ: - KPI - จำนวนรายการ - Training Hour - K/S/A - Pending Approval - Announcement - Online Lesson - Filter by Year / Company / Department - Empty State - Error State ### 3. Employee Management ตรวจสอบ: - Employee List - Search by Employee Code - Search by Employee Name - Filter by Company - Filter by Department - Position - Status - Employee Detail - Permission Assignment - Sorting - Pagination มาตรฐานการแสดงข้อมูลพนักงานต้องตรวจสอบว่าใช้ลำดับ: ```text รหัสพนักงาน → ชื่อพนักงาน → ตำแหน่ง → ฝ่าย ``` ### 4. Training Records ตรวจสอบ: - Create - Save Draft - Submit for Review - Edit Draft - Delete Draft - View Detail - Upload Certificate / Evidence - Download Attachment - Duplicate Warning - Validation - Status Transition - Employee Ownership - HRD Edit - HRD Approve - HRD Reject - HRD Return for Edit - Import Training Records - Excel Template Download - Imported Records become Approved - Export ตรวจสอบ Workflow อย่างน้อย: ```text Draft → Pending Review → Approved Draft → Pending Review → Rejected Draft → Pending Review → Returned for Edit → Pending Review ``` ### 5. Online Lessons ตรวจสอบ: - Create Draft - Submit for Review - Edit Draft - Delete Draft - Category K/S/A - Video URL - Video File - Thumbnail - Required Field - Preview - Approve - Reject - Publish - Schedule Publish - Unpublish - Versioning - Employee View - Lesson Completion หากมี ### 6. Announcements ตรวจสอบ: - Announcement List - Table Layout - Create Draft - Submit for Review - Edit - Delete - Approve - Reject - Publish - Schedule Publish - Pin / Unpin - Preview - Versioning - Audience - Expiration - Employee View ตรวจสอบว่าปุ่ม Pin / Unpin อยู่ในตำแหน่งที่เหมาะสมตาม Workflow ปัจจุบัน และไม่ปะปนกับการสร้างประกาศโดยไม่จำเป็น ### 7. Policy Management ตรวจสอบ: - Policy List - Create - Edit - Delete - Soft Delete - View Detail - Versioning - Effective Date - Status - Publish - Existing Data Compatibility - Permission - Audit History ### 8. Approval Workflow ตรวจสอบ: - HRD Staff Submit - HRD Manager Review - Super Admin Override - Approve - Reject - Return for Edit - Publish after Approval - Approval History - Comment / Reason - Status Consistency - Notification ### 9. Permission Template Management ตรวจสอบ: - Create Template - Edit Template - Clone Template - Delete Template - Soft Delete - Assign to User - Add Additional Permission - Permission Description ภาษาไทย - Permission Matrix - Default Template - Existing Role Compatibility ### 10. Reports ตรวจสอบ: - Employee Training Report - Department Report - Company Report - K/S/A Report - Required Hours Report - Missing Training Report - Approval Report - Export CSV - Export Excel - Export PDF - Filter - Sort - Pagination ### 11. Notifications ตรวจสอบ: - In-app Notification - Email Notification - Read / Unread - Notification Link - Approval Notification - Rejection Notification - Return for Edit Notification - Publish Notification - Error Handling ### 12. Audit Log ตรวจสอบ: - Create - Update - Delete - Approve - Reject - Publish - Permission Change - Login / Security Event หากมี - Actor - Timestamp - Old Value - New Value - Entity Reference ### 13. Global Behavior ตรวจสอบทั้งระบบ: - รายการที่สร้างใหม่แสดงก่อนเสมอ - Sorting ใช้ created_at เป็นหลัก เว้นแต่มี Requirement เฉพาะ - Search ทำงานตรงกันทุกหน้า - Pagination ทำงานหลัง Search / Filter - Loading State - Empty State - Error State - Toast - Form Validation - Required Mark - Back Navigation - Unsaved Change Warning ## วิธีดำเนินการ 1. สร้าง Feature Inventory 2. ตรวจสอบ Route และหน้าจอทั้งหมด 3. ตรวจสอบ API / Server Action ที่รองรับแต่ละ Feature 4. ตรวจสอบ Status Transition 5. ตรวจสอบ Validation 6. ตรวจสอบ Negative Case 7. ตรวจสอบ Edge Case 8. เปรียบเทียบ UI, API และ Database 9. ระบุ Missing Feature และ Logic Gap ## ผลลัพธ์ที่ต้องสร้าง สร้างไฟล์: ```text docs/reviews/phase-2-functional-review.md ``` รายงานต้องประกอบด้วย: 1. Executive Summary 2. Feature Inventory 3. Module-by-Module Review 4. Workflow Review 5. Status Transition Review 6. Validation Review 7. Error Handling Review 8. Edge Cases 9. Missing Features 10. Inconsistent Behaviors 11. Findings by Severity 12. Regression Risk 13. Recommended Remediation Order 14. Functional Test Scenarios ที่ควรเพิ่ม 15. Files Reviewed 16. Areas Not Verified ## ข้อกำหนดสำคัญ - ห้ามแก้ไขโค้ด - ห้ามแก้ Workflow - ห้ามเพิ่ม Feature - ให้บันทึกผลการตรวจสอบเท่านั้น - ทุก Finding ต้องระบุ Feature และสถานการณ์ที่ทำให้เกิดปัญหา ``` --- # 5. Phase 3 — Permission & Authorization Audit ## Prompt สำหรับใช้งาน ```md คุณคือ Senior Application Security Engineer และ Authorization Architect หน้าที่ของคุณคือทำ Permission & Authorization Audit ระบบ TMS ทั้งระบบ โดยตรวจสอบสิทธิ์ตั้งแต่ Navigation, Page, Route, API, Server Action, Data Scope และ Action Level ## วัตถุประสงค์ ตรวจสอบว่า: - ผู้ใช้เห็นเฉพาะเมนูที่มีสิทธิ์ - ผู้ใช้เข้าเฉพาะหน้าที่มีสิทธิ์ - ผู้ใช้เรียก API ได้เฉพาะสิทธิ์ที่อนุญาต - ผู้ใช้จัดการข้อมูลได้เฉพาะ Scope ที่กำหนด - Direct URL ไม่สามารถข้าม Permission - API ไม่พึ่งพาเฉพาะการซ่อนปุ่มใน UI - Permission-first Architecture ถูกใช้จริงทั้งระบบ ## กลุ่มผู้ใช้ที่ต้องตรวจสอบ อย่างน้อย: - Employee / User - Staff / HRD Staff - Manager / HRD Manager - IT Admin - Super Admin หากระบบใช้ Permission Template เป็นหลัก ให้ยึด Effective Permission จริง ไม่ให้สรุปจาก Role Name เพียงอย่างเดียว ## ขอบเขตการตรวจสอบ ### 1. Navigation Permission ตรวจสอบ: - nav-config - sidebar - menu group - submenu - mobile navigation - dashboard shortcut - action button ตรวจสอบว่าเมนูถูกซ่อนหรือแสดงตาม Permission จริงหรือไม่ ### 2. Page / Route Guard ตรวจสอบทุก Route เช่น: ```text /dashboard /dashboard/employees /dashboard/training-records /dashboard/training-records/create /dashboard/training-records/pending /dashboard/online-lessons /dashboard/announcements /dashboard/policies /dashboard/reports /dashboard/permission-templates /dashboard/settings ``` สำหรับทุก Route ให้ระบุ: - Permission ที่ต้องใช้ - ผู้ใช้ที่เข้าได้ - ผู้ใช้ที่เข้าไม่ได้ - Guard อยู่ที่ใด - Direct URL ป้องกันหรือไม่ - Unauthorized Redirect ถูกต้องหรือไม่ ### 3. API / Server Action Guard ตรวจสอบทุก API และ Server Action: - GET - POST - PUT - PATCH - DELETE - Download - Import - Export - Approve - Reject - Publish - Pin - Assign Permission ตรวจสอบว่า: - มี Authentication Guard - มี Permission Guard - มี Ownership Check - มี Data Scope Check - มี Validation ก่อนทำงาน - ไม่เชื่อข้อมูล Role จาก Client ### 4. Action-Level Permission ตรวจสอบสิทธิ์ระดับ Action: - View - Create - Edit - Delete - Submit - Approve - Reject - Return for Edit - Publish - Unpublish - Pin - Import - Export - Assign Permission - Manage Settings ### 5. Data Scope ตรวจสอบว่า: - Employee เห็นเฉพาะข้อมูลของตนเอง - HRD เห็นตาม Company / Department Scope ที่กำหนด - HRD Manager เห็นข้อมูลที่ต้องอนุมัติ - IT Admin เห็นข้อมูลตามสิทธิ์ที่ได้รับ - Super Admin เห็นทุก Scope - Search / Filter ไม่ทำให้เห็นข้อมูลข้าม Scope - Export ไม่ข้าม Data Scope - API Detail ไม่เปิดเผยข้อมูลเมื่อเดา ID ### 6. Permission Template ตรวจสอบ: - Effective Permission Calculation - Template Assignment - Additional Permission - Permission Override - Clone Template - Soft Delete Template - Deleted Template Effect - Permission Cache - Session Refresh ### 7. Compatibility Mode ค้นหาและรายงานการใช้งาน Logic เดิม เช่น: - role === - businessRole - isHRD() - isAdmin() - hardcoded role name - switch by role ระบุว่าจุดใดยังไม่ย้ายไปใช้ Permission-first ### 8. Permission Description ตรวจสอบว่า Permission แต่ละรายการมี: - Key - ชื่อแสดงผล - Description ภาษาไทย - Module - Action - Risk Level หากมี ### 9. Permission Matrix สร้าง Matrix อย่างน้อยในระดับ: | Module | Action | Required Permission | Employee | HRD Staff | HRD Manager | IT Admin | Super Admin | |---|---|---|---|---|---|---|---| หากสิทธิ์ขึ้นอยู่กับ Template ให้ใช้คำว่า: ```text ขึ้นอยู่กับ Effective Permission ``` และต้องระบุ Default Template ปัจจุบันแยกต่างหาก ## วิธีดำเนินการ 1. Inventory Permission ทั้งระบบ 2. Inventory Route 3. Inventory API / Server Action 4. Mapping Route → Permission 5. Mapping API → Permission 6. ตรวจสอบ Ownership และ Data Scope 7. ตรวจสอบ Navigation 8. ตรวจสอบ Compatibility Mode 9. สร้าง Permission Matrix 10. ระบุช่องโหว่และ Inconsistency ## ผลลัพธ์ที่ต้องสร้าง สร้างไฟล์: ```text docs/reviews/phase-3-permission-authorization-audit.md ``` รายงานต้องประกอบด้วย: 1. Executive Summary 2. Authorization Architecture Overview 3. Permission Inventory 4. Route Permission Matrix 5. API Permission Matrix 6. Action-Level Permission Matrix 7. Role / Template Mapping 8. Data Scope Assessment 9. Direct URL Assessment 10. UI vs API Authorization Consistency 11. Compatibility Mode Findings 12. Missing Permission Descriptions 13. Findings by Severity 14. Privilege Escalation Risks 15. Recommended Remediation Order 16. Files Reviewed 17. Areas Not Verified ## ข้อกำหนดสำคัญ - ห้ามแก้ Permission - ห้ามเพิ่ม Guard - ห้ามลบ Compatibility Code - ห้ามแก้ Navigation - ให้สร้างรายงานเท่านั้น - Critical และ High Finding ต้องมี Scenario การโจมตีหรือการเข้าถึงที่ผิดสิทธิ์ประกอบ ``` --- # 6. Phase 4 — UI/UX & Design System Audit ## Prompt สำหรับใช้งาน ```md คุณคือ Senior Product Designer, UX Auditor และ Frontend Architect หน้าที่ของคุณคือทำ UI/UX & Design System Audit ระบบ TMS ทั้งระบบ โดยตรวจสอบความสม่ำเสมอ ความเข้าใจง่าย การใช้งานจริง Responsive และ Accessibility ## วัตถุประสงค์ - ทำให้ UI ใช้มาตรฐานเดียวกันทั้งระบบ - ลดความสับสนของผู้ใช้ - ตรวจสอบ Workflow ของหน้าจอ - ตรวจสอบ Form, Table, Dialog, Empty State และ Feedback - ตรวจสอบ Responsive และ Accessibility ## ขอบเขตการตรวจสอบ ### 1. Layout ตรวจสอบ: - Page Header - Breadcrumb - Content Width - Card Layout - Section Spacing - Grid - Responsive Breakpoint - Sidebar Interaction - Mobile Layout ### 2. Typography ตรวจสอบ: - Heading - Subheading - Label - Description - Helper Text - Error Text - Table Text - Empty State Text ### 3. Color & Status ตรวจสอบ: - Primary - Secondary - Destructive - Success - Warning - Info - Muted - Focus Ring - Disabled ตรวจสอบ Status Badge เช่น: - Draft - Pending Review - Approved - Rejected - Returned for Edit - Published - Scheduled - Inactive ให้ตรวจสอบว่าชื่อ สี และความหมายตรงกันทุกหน้า ### 4. Button Standard ตรวจสอบปุ่ม: - สร้าง - บันทึกฉบับร่าง - บันทึกส่งตรวจสอบ - อนุมัติ - ไม่อนุมัติ - ส่งกลับแก้ไข - เผยแพร่ - แก้ไข - ลบ - ยกเลิก - ย้อนกลับ - Import - Export - Download Template ตรวจสอบ: - Variant - Size - Icon - Order - Alignment - Loading State - Disabled State - Confirmation ### 5. Table Standard ตรวจสอบทุก Data Table: - Column Order - Column Width - Alignment - Truncate - Tooltip - Header Height - Row Height - Action Column - Search - Filter - Sort - Pagination - Empty State - Loading - Responsive Scroll มาตรฐานตารางพนักงานต้องเป็น: ```text รหัสพนักงาน → ชื่อพนักงาน → ตำแหน่ง → ฝ่าย → จัดการ ``` ตรวจสอบว่าคอลัมน์ Action มีขนาดคงที่และจัดชิดขวาอย่างสม่ำเสมอ ### 6. Form Standard ตรวจสอบ: - Label - Required Mark - Description - Placeholder - Validation - Error Message - Input Size - Select - Date Picker - Time Picker - File Upload - Drag & Drop - Existing Attachment - Submit Button - Unsaved Change Required Mark ให้แสดงเฉพาะ Field ที่ Validation กำหนดว่าจำเป็น ### 7. File Attachment UX ตรวจสอบว่า: - ถ้ามีไฟล์ ให้แสดงชื่อไฟล์และ Action ที่เกี่ยวข้อง - ถ้าไม่มีไฟล์ ให้แสดงข้อความ “ไม่มีไฟล์แนบ” - ไม่แสดง Drag & Drop ในหน้า View หรือส่วนที่ไม่ใช่ Upload Mode - Card ไม่ใหญ่เกินความจำเป็น - Download / Remove / Replace ชัดเจน ### 8. Feedback State ตรวจสอบ: - Loading - Skeleton - Empty State - Error State - Success Toast - Error Toast - Confirmation Dialog - Destructive Confirmation - Optimistic Update ### 9. Dialog / Sheet / Drawer ตรวจสอบ: - ใช้ Component ถูกประเภท - ขนาดเหมาะสม - Scroll - Header - Footer - Close - Escape - Focus Trap - Mobile Behavior ### 10. Workflow UX ตรวจสอบว่า: - ผู้ใช้เข้าใจสถานะปัจจุบัน - ผู้ใช้รู้ว่าต้องทำอะไรต่อ - ปุ่มสำคัญเด่นชัด - ปุ่มที่เสี่ยงไม่อยู่ใกล้ปุ่มบันทึกเกินไป - Approval Action มี Reason - Publish แยกจาก Approve - Pin / Unpin อยู่ในหน้ารายการหรือเมนูจัดการอย่างเหมาะสม ### 11. Accessibility ตรวจสอบ: - Semantic HTML - Label Association - Keyboard Navigation - Focus State - Screen Reader Text - aria-label - Contrast - Icon-only Button - Table Header - Dialog Accessibility ### 12. Responsive ตรวจสอบอย่างน้อย: - Mobile - Tablet - Laptop - Desktop ตรวจสอบ: - Table Overflow - Form Stack - Button Wrap - Dialog Height - Sidebar - Filter Toolbar ## วิธีดำเนินการ 1. Inventory หน้าจอทั้งหมด 2. จัดกลุ่ม Page Pattern 3. ตรวจ Component Pattern 4. ตรวจ Table Pattern 5. ตรวจ Form Pattern 6. ตรวจ Status Pattern 7. ตรวจ Responsive 8. ตรวจ Accessibility 9. ระบุ Inconsistency 10. เสนอ Design System Standard ## ผลลัพธ์ที่ต้องสร้าง สร้างไฟล์: ```text docs/reviews/phase-4-ui-ux-design-system-audit.md ``` รายงานต้องประกอบด้วย: 1. Executive Summary 2. Screen Inventory 3. Layout Assessment 4. Typography Assessment 5. Color & Status Assessment 6. Button Standard Assessment 7. Table Standard Assessment 8. Form Standard Assessment 9. File Attachment UX Assessment 10. Feedback State Assessment 11. Dialog / Sheet / Drawer Assessment 12. Workflow UX Assessment 13. Responsive Assessment 14. Accessibility Assessment 15. Design System Inconsistencies 16. Findings by Severity 17. Recommended UI Standard 18. Recommended Remediation Order 19. Files Reviewed 20. Areas Not Verified ## ข้อกำหนดสำคัญ - ห้ามแก้ UI - ห้ามเปลี่ยน Component - ห้ามปรับ CSS - ห้ามสร้าง Design Token ใหม่ - ให้รายงานพร้อมตัวอย่างแนวทางเท่านั้น ``` --- # 7. Phase 5 — Code Quality & Performance Audit ## Prompt สำหรับใช้งาน ```md คุณคือ Senior TypeScript Engineer, React / Next.js Architect และ Performance Engineer หน้าที่ของคุณคือทำ Code Quality & Performance Audit ระบบ TMS ทั้งระบบ ## วัตถุประสงค์ ตรวจสอบ: - คุณภาพโค้ด - Type Safety - Maintainability - Reusability - Error Handling - Performance - Database Query Efficiency - Rendering Efficiency - Bundle และ Client Boundary ## ขอบเขตการตรวจสอบ ### 1. TypeScript ตรวจสอบ: - any - unknown - type assertion - nullable - optional field - duplicated type - API response type - database type - form type - enum consistency - satisfies - discriminated union ### 2. React ตรวจสอบ: - Component Responsibility - God Component - Prop Drilling - Derived State - useEffect - Dependency Array - Memoization - Callback - Controlled / Uncontrolled - Key - Conditional Rendering - Client Component ที่ไม่จำเป็น ### 3. Next.js ตรวจสอบ: - Server Component - Client Component - Route Handler - Server Action - Caching - Revalidation - Dynamic Rendering - Streaming - Suspense - Error Boundary - Loading UI - Metadata - Image Optimization ### 4. Validation ตรวจสอบ: - Zod Schema - Client Validation - Server Validation - Schema Reuse - Error Message - File Validation - Enum Validation - Date Validation - URL Validation - Status Validation ### 5. Error Handling ตรวจสอบ: - API Error Format - Domain Error - Validation Error - Database Error - Unauthorized - Forbidden - Not Found - Conflict - Logging - User-friendly Message ### 6. Duplicate Code ตรวจสอบ: - Table Column - Filter - Pagination - Status Badge - Permission Check - Error Handler - Form Mapping - Date Format - API Response - Repository Query ### 7. Naming & Conventions ตรวจสอบ: - File Name - Component Name - Hook Name - Function Name - Variable Name - Constant - Permission Key - Route Name - API Name - Status Name ### 8. Database Query Performance ตรวจสอบ: - N+1 Query - Missing Select - Over-fetch - Missing Index - Count Query - Pagination - Search - Filter - Sort - Transaction - Include Relation - Large Export ### 9. Frontend Performance ตรวจสอบ: - Re-render - Large List - Table Rendering - Client Bundle - Dynamic Import - Heavy Library - Image / Video - File Preview - Search Debounce - Filter Update - Pagination ### 10. API Performance ตรวจสอบ: - Payload Size - Response Time Risk - Repeated Query - Sequential Request - File Download - Import - Export - Batch Operation - Rate Limit ### 11. Dead Code ตรวจสอบ: - Unused File - Unused Export - Unused Hook - Unused Component - Legacy Role Logic - Deprecated API - Commented Code - Old Migration Logic ### 12. Testability ตรวจสอบ: - Function Coupling - Mockability - Pure Function - Service Isolation - Repository Isolation - Test Fixture - Deterministic Behavior ## วิธีดำเนินการ 1. ตรวจสอบ Build Configuration 2. ตรวจสอบ TypeScript Configuration 3. ตรวจสอบ Lint Configuration 4. ตรวจ Source Code ตาม Module 5. ตรวจ Query ที่มีความเสี่ยง 6. ตรวจ Client Boundary 7. ตรวจ Duplicate Logic 8. ตรวจ Dead Code 9. ตรวจ Error Handling 10. สรุป Performance Risk หากคำสั่งที่ปลอดภัยและเป็น Read-only มีอยู่ สามารถใช้เพื่อตรวจสอบได้ เช่น: ```text typecheck lint build unit test ``` แต่ห้ามแก้ไขโค้ดอัตโนมัติ และห้ามใช้คำสั่งที่เปลี่ยนไฟล์ เช่น lint --fix หรือ formatter write ## ผลลัพธ์ที่ต้องสร้าง สร้างไฟล์: ```text docs/reviews/phase-5-code-quality-performance-audit.md ``` รายงานต้องประกอบด้วย: 1. Executive Summary 2. TypeScript Assessment 3. React Assessment 4. Next.js Assessment 5. Validation Assessment 6. Error Handling Assessment 7. Duplicate Code Findings 8. Naming & Convention Findings 9. Database Performance Findings 10. Frontend Performance Findings 11. API Performance Findings 12. Dead Code Findings 13. Testability Assessment 14. Findings by Severity 15. Quick Wins 16. Structural Improvements 17. Recommended Remediation Order 18. Commands Executed and Results 19. Files Reviewed 20. Areas Not Verified ## ข้อกำหนดสำคัญ - ห้ามแก้โค้ด - ห้ามรัน auto-fix - ห้ามเปลี่ยน package - ห้าม Optimize จริงในเฟสนี้ - ให้รายงานผลเท่านั้น ``` --- # 8. Phase 6 — Security Audit ## Prompt สำหรับใช้งาน ```md คุณคือ Senior Application Security Engineer และ Secure Code Reviewer หน้าที่ของคุณคือทำ Security Audit ระบบ TMS ทั้งระบบ โดยตรวจสอบ Source Code, API, Authentication, Authorization, File Upload, Data Protection และ Security Configuration ## วัตถุประสงค์ ค้นหาความเสี่ยงที่อาจนำไปสู่: - Unauthorized Access - Privilege Escalation - Data Leakage - Injection - File Upload Abuse - Sensitive Data Exposure - Session Abuse - Broken Access Control - Audit Gap ## ขอบเขตการตรวจสอบ ### 1. Authentication ตรวจสอบ: - Login - Session - Cookie - Token - Expiration - Logout - Session Revocation - LDAP / AD - Password Handling หากมี - Brute Force Protection - Error Message Leakage ### 2. Authorization ตรวจสอบ: - Route Guard - API Guard - Server Action Guard - Ownership - Data Scope - IDOR - Direct URL - Permission Escalation - Template Assignment ### 3. Input Validation ตรวจสอบ: - Query Param - Route Param - JSON Body - Form Data - Search Input - Sort Field - Filter Field - URL - Date - Enum - File Metadata ### 4. Injection ตรวจสอบความเสี่ยง: - SQL Injection - ORM Raw Query - Command Injection - Path Traversal - Template Injection - LDAP Injection - CSV Injection ### 5. XSS ตรวจสอบ: - Rich Text - Announcement Content - Policy Content - Online Lesson Description - dangerouslySetInnerHTML - Markdown Renderer - URL - User-generated Text ### 6. CSRF & Request Protection ตรวจสอบ: - Cookie-based Authentication - CSRF Protection - SameSite - Origin Check - State-changing GET - Form Action Protection ### 7. File Upload ตรวจสอบ: - File Type - MIME Type - Extension - File Size - File Name - Path - Virus Scan หากมี - Public URL - Authorization ตอน Download - Delete File - Replace File - Video / Thumbnail / Certificate / Evidence ### 8. Sensitive Data ตรวจสอบ: - Employee Data - Email - Employee Code - Organization Data - Permission Data - Environment Variable - Secret - Log - Error Response - Debug Output ### 9. Security Headers ตรวจสอบ: - Content-Security-Policy - X-Frame-Options - X-Content-Type-Options - Referrer-Policy - Permissions-Policy - HSTS - Cache-Control ### 10. Rate Limiting ตรวจสอบ Endpoint เสี่ยง: - Login - Search - Export - Import - File Upload - Download - Notification - Approval Action ### 11. Audit Log ตรวจสอบว่า Action สำคัญถูกบันทึกหรือไม่: - Permission Change - Approval - Rejection - Publish - Delete - Import - Export - Login Failure - Sensitive Data Access หากจำเป็น ### 12. Dependency & Configuration ตรวจสอบ: - Dependency ที่ล้าสมัยจากข้อมูลในโปรเจกต์ - Security Configuration - Debug Mode - Source Map - Environment Separation - Secret in Repository - Default Credential ห้ามอัปเดต Dependency ในเฟสนี้ ### 13. Business Logic Security ตรวจสอบ: - Approval ข้ามลำดับ - Publish โดยไม่ Approve - Employee แก้ข้อมูลหลัง Submit - Approver อนุมัติรายการของตนเอง หากไม่ควรอนุญาต - Re-submit Status ที่ผิด - Import ข้าม Validation - Export ข้าม Scope - Pin / Publish Action ข้าม Permission ## วิธีดำเนินการ 1. ทำ Threat Surface Inventory 2. ตรวจ Authentication 3. ตรวจ Authorization 4. ตรวจ Input และ Output 5. ตรวจ File Handling 6. ตรวจ Sensitive Data 7. ตรวจ Security Header และ Config 8. ตรวจ Business Logic Abuse 9. สรุป Finding ตาม Severity ## ผลลัพธ์ที่ต้องสร้าง สร้างไฟล์: ```text docs/reviews/phase-6-security-audit.md ``` รายงานต้องประกอบด้วย: 1. Executive Summary 2. Threat Surface Overview 3. Authentication Assessment 4. Authorization Assessment 5. Input Validation Assessment 6. Injection Assessment 7. XSS Assessment 8. CSRF Assessment 9. File Upload & Download Assessment 10. Sensitive Data Assessment 11. Security Header Assessment 12. Rate Limit Assessment 13. Audit Log Assessment 14. Dependency & Configuration Assessment 15. Business Logic Security Assessment 16. Findings by Severity 17. Exploit Scenario for Critical / High Findings 18. Production Blockers 19. Recommended Remediation Order 20. Files Reviewed 21. Areas Not Verified ## ข้อกำหนดสำคัญ - ห้ามทดสอบโจมตีระบบ Production - ห้ามลบหรือเปลี่ยนข้อมูล - ห้ามอัปโหลดไฟล์อันตรายจริง - ห้ามเปลี่ยน Security Configuration - ให้ทำ Static Review และ Safe Verification เท่านั้น ``` --- # 9. Phase 7 — Production Readiness Review ## Prompt สำหรับใช้งาน ```md คุณคือ Senior DevOps Engineer, SRE, Release Manager และ Production Readiness Reviewer หน้าที่ของคุณคือทำ Production Readiness Review ระบบ TMS เพื่อประเมินว่าระบบพร้อม Deploy และใช้งานจริงภายในองค์กรหรือไม่ ## วัตถุประสงค์ ตรวจสอบความพร้อมด้าน: - Build - Environment - Deployment - Database - Monitoring - Logging - Backup - Recovery - Test - Documentation - Operational Support ## ขอบเขตการตรวจสอบ ### 1. Build Readiness ตรวจสอบ: - install - typecheck - lint - build - test - production start - environment validation - build warning - deprecated API ใช้เฉพาะคำสั่ง Read-only หรือคำสั่งที่ไม่เปลี่ยน Source Code ### 2. Environment Configuration ตรวจสอบ: - Development - Test - UAT - Production - Environment Variable - Secret Management - Required Variable - Default Value - Missing Variable Handling - Environment Documentation ห้ามเปิดเผยค่า Secret ในรายงาน ### 3. Database Readiness ตรวจสอบ: - Migration Status - Schema Drift - Seed - Backup - Restore - Index - Constraint - Transaction - Data Retention - Soft Delete - Production Migration Plan - Rollback Plan ห้ามรัน Migration จริง ### 4. Deployment ตรวจสอบ: - Dockerfile - Docker Compose - Runtime - Node Version - Package Manager - Build Artifact - Health Check - Reverse Proxy - HTTPS - Static File - File Storage - Persistent Volume ### 5. CI/CD ตรวจสอบ: - Pull Request Check - Lint - Typecheck - Test - Build - Migration Check - Security Scan - Deployment Approval - Rollback - Environment Protection ### 6. Logging ตรวจสอบ: - Application Log - Error Log - Audit Log - Request ID - User ID - Sensitive Data Redaction - Log Level - Log Retention - Structured Logging ### 7. Monitoring & Alerting ตรวจสอบ: - Health Check - Uptime - Error Rate - Response Time - Database Connection - Disk - CPU - Memory - Queue / Job หากมี - File Storage - Alert Channel ### 8. Backup & Recovery ตรวจสอบ: - Database Backup - File Backup - Backup Frequency - Retention - Encryption - Restore Test - RPO - RTO - Disaster Recovery ### 9. Operational Workflow ตรวจสอบ: - User Provisioning - Permission Change - Employee Sync - Failed Import - Failed Notification - File Storage Full - Approval Issue - Data Correction - Incident Handling ### 10. Testing Readiness ตรวจสอบ: - Unit Test - Integration Test - API Test - Permission Test - Workflow Test - Regression Test - UAT - Test Data - Production Smoke Test ### 11. Documentation ตรวจสอบว่ามีเอกสาร: - README - Setup - Environment - Architecture - Permission Matrix - Database - Deployment - Backup - Restore - Troubleshooting - User Manual - Admin Manual - Release Note - Rollback ### 12. Production Checklist สร้าง Checklist แบบ: - Ready - Partially Ready - Not Ready - Not Verified ### 13. Go-live Risk ระบุ: - Production Blocker - Must Fix Before Go-live - Can Fix After Go-live - Operational Risk - Data Risk - Security Risk ## วิธีดำเนินการ 1. ตรวจ Configuration 2. ตรวจ Build และ Test ที่มีอยู่ 3. ตรวจ Deployment Artifact 4. ตรวจ Database Readiness 5. ตรวจ Monitoring / Logging 6. ตรวจ Backup / Restore 7. ตรวจ Documentation 8. สร้าง Production Readiness Checklist 9. สรุป Go / Conditional Go / No-Go ## ผลลัพธ์ที่ต้องสร้าง สร้างไฟล์: ```text docs/reviews/phase-7-production-readiness-review.md ``` รายงานต้องประกอบด้วย: 1. Executive Summary 2. Build Readiness 3. Environment Readiness 4. Database Readiness 5. Deployment Readiness 6. CI/CD Readiness 7. Logging Readiness 8. Monitoring & Alerting Readiness 9. Backup & Recovery Readiness 10. Operational Readiness 11. Testing Readiness 12. Documentation Readiness 13. Production Checklist 14. Findings by Severity 15. Production Blockers 16. Go-live Recommendation 17. Recommended Remediation Order 18. Commands Executed and Results 19. Files Reviewed 20. Areas Not Verified ## Go-live Recommendation Standard ใช้หนึ่งในผลลัพธ์ต่อไปนี้: ### GO ระบบพร้อมใช้งานจริง และไม่พบ Critical หรือ High ที่เป็น Production Blocker ### CONDITIONAL GO ระบบสามารถใช้งานจริงได้เมื่อแก้ไขเงื่อนไขที่ระบุครบก่อน Deploy ### NO-GO ระบบยังไม่พร้อมใช้งานจริง เนื่องจากมี Critical / High Risk หรือขาด Operational Control ที่สำคัญ ## ข้อกำหนดสำคัญ - ห้าม Deploy - ห้ามแก้ Environment - ห้ามรัน Migration - ห้ามเปลี่ยน Infrastructure - ห้ามเปิดเผย Secret - ให้ประเมินและจัดทำรายงานเท่านั้น ``` --- # 10. Final Phase — Full System Audit Summary หลังจากทำครบทั้ง 7 เฟส ให้ใช้ Prompt นี้เพื่อรวมผลทั้งหมด ```md คุณคือ Principal Software Architect, QA Director, Security Lead และ Release Manager หน้าที่ของคุณคืออ่านรายงาน Audit ทั้ง 7 เฟสต่อไปนี้: ```text docs/reviews/phase-1-architecture-audit.md docs/reviews/phase-2-functional-review.md docs/reviews/phase-3-permission-authorization-audit.md docs/reviews/phase-4-ui-ux-design-system-audit.md docs/reviews/phase-5-code-quality-performance-audit.md docs/reviews/phase-6-security-audit.md docs/reviews/phase-7-production-readiness-review.md ``` จากนั้นจัดทำรายงานสรุประดับผู้บริหารและแผนแก้ไขรวมทั้งระบบ ## สิ่งที่ต้องดำเนินการ ### 1. รวม Finding - รวม Finding จากทุกเฟส - ตัด Finding ที่ซ้ำกัน - เชื่อมโยง Finding ที่มีสาเหตุเดียวกัน - คงหลักฐานอ้างอิงเดิม ### 2. จัดกลุ่ม จัดกลุ่มเป็น: - Architecture - Functional - Permission - UI/UX - Code Quality - Performance - Security - Database - Testing - Production - Documentation ### 3. จัดระดับ แยกเป็น: - Critical - High - Medium - Low ### 4. ระบุ Production Blocker ทุก Production Blocker ต้องระบุ: - ปัญหา - ผลกระทบ - Module - เจ้าของงานที่แนะนำ - Dependency - Acceptance Criteria ### 5. สร้าง Remediation Roadmap แบ่งเป็น: #### Wave 0 — Emergency Fix สำหรับ Critical และ Security Blocker #### Wave 1 — Pre-Production Fix สำหรับ High และ Workflow หลัก #### Wave 2 — Stabilization สำหรับ Medium ที่กระทบ UX, Maintainability และ Performance #### Wave 3 — Continuous Improvement สำหรับ Low และ Technical Debt ### 6. กำหนดลำดับการแก้ คำนึงถึง: - Dependency - Risk - Business Impact - Regression Risk - Effort - Production Requirement ### 7. สร้าง Traceability Matrix | Finding ID | Phase | Severity | Module | Production Blocker | Recommended Wave | Related Finding | |---|---|---|---|---|---|---| ### 8. สร้าง Coding Phase Backlog แต่ละ Backlog Item ต้องมี: - ID - Title - Problem - Scope - Out of Scope - Files / Modules - Acceptance Criteria - Test Required - Dependency - Severity - Priority ## ผลลัพธ์ที่ต้องสร้าง สร้างไฟล์: ```text docs/reviews/full-system-audit-summary.md ``` รายงานต้องประกอบด้วย: 1. Executive Summary 2. Overall System Health 3. Findings Summary by Severity 4. Findings Summary by Module 5. Production Blockers 6. Cross-Phase Root Causes 7. Risk Matrix 8. Traceability Matrix 9. Remediation Roadmap 10. Coding Phase Backlog 11. Testing Strategy After Fix 12. Recommended Release Gate 13. Final Go-live Recommendation 14. Appendix: Source Reports ## ข้อกำหนดสำคัญ - ห้ามแก้ไขโค้ด - ห้ามสร้าง Implementation - ห้ามลด Severity โดยไม่มีเหตุผล - ห้ามตัด Finding ที่ยังมีผลกระทบ - หากข้อมูลจากแต่ละเฟสขัดแย้งกัน ให้ระบุ Conflict ชัดเจน ``` --- # 11. มาตรฐาน Release Gate หลังการแก้ไข หลังจากนำผล Audit ไปแก้ไขแล้ว ระบบควรผ่าน Release Gate อย่างน้อยดังนี้ ## Gate 1 — Build Quality - Typecheck ผ่าน - Lint ผ่าน - Build ผ่าน - ไม่มี Critical Runtime Error ## Gate 2 — Functional Quality - Workflow หลักผ่าน - Status Transition ถูกต้อง - Validation สำคัญครบ - Regression Test ผ่าน ## Gate 3 — Permission Quality - Route Guard ครบ - API Guard ครบ - Data Scope ถูกต้อง - Direct URL Test ผ่าน - Permission Matrix ตรงกับระบบจริง ## Gate 4 — Security Quality - ไม่มี Critical Security Finding - High Security Finding ได้รับการแก้ไขหรือมี Risk Acceptance อย่างเป็นทางการ - File Upload / Download ปลอดภัย - Sensitive Data ไม่รั่วไหล ## Gate 5 — Production Quality - Environment ครบ - Database Migration Plan พร้อม - Backup / Restore พร้อม - Monitoring พร้อม - Rollback Plan พร้อม - Production Smoke Test พร้อม --- # 12. แนวทางการใช้งานเอกสารนี้ แนะนำให้ทำตามลำดับ: ```text Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase 5 → Phase 6 → Phase 7 → Full Summary ``` ไม่ควรเริ่มแก้ไขโค้ดระหว่างที่ยังตรวจไม่ครบ เพราะอาจทำให้: - ผล Audit แต่ละเฟสอ้างอิงคนละสถานะของโค้ด - Finding หายหรือเปลี่ยนตำแหน่ง - เกิด Regression ระหว่างการตรวจ - เปรียบเทียบผลยาก หลังจากได้ `full-system-audit-summary.md` แล้ว จึงเริ่ม Coding Phase โดยแบ่งตาม Remediation Wave และสร้าง Prompt สำหรับการแก้ไขทีละกลุ่มปัญหา --- # 13. Definition of Done สำหรับ Audit ทั้งระบบ ถือว่าการ Audit เสร็จสมบูรณ์เมื่อ: - มีรายงานครบทั้ง 7 เฟส - มีรายการไฟล์ที่ตรวจสอบ - มี Areas Not Verified - ทุก Finding มี Severity - Critical / High มีหลักฐานและสถานการณ์ประกอบ - มี Permission Matrix - มี Feature Inventory - มี Production Checklist - มี Production Blocker List - มี Full System Audit Summary - มี Remediation Roadmap - มี Coding Phase Backlog - ยังไม่มีการแก้ไข Source Code ระหว่าง Audit