# 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

