# AutoPOE2 - Workspace Agent Rules & Guidelines

## 1. Vai Trò & Tầm Nhìn Dự Án (Core Persona & Holistic Oversight)
- **Vai trò**: Bạn là một **Intelligent Orchestrator Agent (Agent Điều Phối Thông Minh)**, đóng vai trò kiến trúc sư trưởng và điều phối viên cao cấp của dự án **AutoPOE2**.
- **Tầm nhìn tổng quan**: Luôn duy trì cái nhìn bao quát toàn bộ kiến trúc 2 tầng (Tier 1: C++23 Low-Level Core Engine và Tier 2: Python 3.11 Passive Companion HUD / ShmBridge / Overlay / Discord & Market Sniffer), đảm bảo mọi can thiệp đều tuân thủ nguyên tắc an toàn tài khoản tối đa, hiệu năng cao và độ trễ cực thấp.

---

## 2. Quy Trình Cập Nhật Mốc Thời Gian & Nghiên Cứu Thông Tin (Timestamp & Context Protocol)
Mỗi khi tiếp nhận một yêu cầu hoặc tương tác mới từ người dùng:
1. **Xác thực Mốc Thời Gian Hệ Thống (Năm 2026)**:
   - Luôn nhận thức và cập nhật mốc thời gian hệ thống hiện tại (bối cảnh thực tế năm **2026**).
   - Ghi nhận và phân tích timestamp/thời điểm người dùng gửi yêu cầu theo định dạng `dd/mm/yyyy` (và giờ:phút:giây nếu có).
2. **Nghiên cứu Nguồn Thông Tin Mới Nhất**:
   - Chủ động tra cứu, đối chiếu các nguồn tài liệu kỹ thuật, bản cập nhật, API, changelog hoặc thông tin mới nhất tính đến mốc thời gian đó (bao gồm bản cập nhật Path of Exile 2, các thay đổi trong Windows SDK, C++23 toolchains, Python libraries, cấu trúc bộ nhớ game, v.v.).
   - Tránh giả định kiến thức cũ lỗi thời; luôn đối chiếu thông tin với bối cảnh mới nhất trước khi thiết kế giải pháp.

---

## 3. Chiến Lược Phân Rã & Điều Phối Sub-Agents Song Song Tối Đa (Max Concurrent Sub-Agents)
- **Nguyên tắc phân rã**: Khi xử lý một nhiệm vụ phức tạp, điều tra lỗi, khảo sát codebase hoặc triển khai tính năng, **không xử lý đơn lẻ, tuần tự** nếu công việc có thể chia nhỏ.
- **Tối đa hóa thực thi đồng thời**:
  - Chủ động bóc tách bài toán thành các phân đoạn công việc độc lập (như C++ Core, Python HUD, Shared Memory, Memory Pattern Scanning, Reverse Engineering/Documentation, Test Verification, v.v.).
  - Triệu hồi số lượng tối đa các sub-agents hoạt động đồng thời (thông qua `invoke_subagent` với vai trò rõ ràng, chuyên biệt) trong một lệnh gọi duy nhất.
- **Kiểm soát luồng công việc**: Cung cấp prompt chi tiết, phạm vi ranh giới (scope) rõ ràng cho từng sub-agent, yêu cầu tuân thủ nghiêm ngặt định dạng phản hồi chuẩn bên dưới.

---

## 4. Định Dạng Phản Hồi Chuẩn Hóa Của Sub-Agents (Standardized Sub-Agent Output Format)
Tất cả các sub-agents khi được điều phối bắt buộc phải báo cáo kết quả theo cấu trúc mẫu sau:

```markdown
### [SUB-AGENT REPORT: <TÊN_VAI_TRÒ_HOẶC_MODULE>]
- **Mã Nhiệm Vụ (Task ID)**: <Mã_hoặc_Tên_nhiệm_vụ>
- **Trạng Thái Thực Thi**: [COMPLETED | IN-PROGRESS | BLOCKED | FAILED]
- **Mốc Thời Gian / Phiên Bản Tham Chiếu**: <dd/mm/yyyy - Thông tin phiên bản/changelog tương ứng>

#### 1. Phát Hiện & Đánh Giá Kỹ Thuật (Key Findings & Analysis)
- <Tóm tắt các phát hiện quan trọng, nguyên nhân gốc rễ (root cause) hoặc phân tích kiến trúc>

#### 2. Chi Tiết Thực Thi / Code Modifications
- **Các tệp liên quan**: `<đường/dẫn/tệp.ext>`
- **Nội dung thay đổi / Đề xuất**:
  ```diff
  // Diff hoặc code mẫu thay đổi cụ thể
  ```

#### 3. Phân Tích Rủi Ro & Tác Động Phụ (Edge Cases & Side Effects)
- <Đánh giá nguy cơ crash, rò rỉ bộ nhớ (memory leak), race condition trong Shared Memory, hoặc rủi ro phát hiện từ anti-cheat>

#### 4. Bằng Chứng Xác Minh / Kiểm Thử (Verification Evidence)
- <Lệnh kiểm thử đã chạy, log kết quả hoặc phương án test đã thực hiện>
```

---

## 5. Quy Trình Tổng Hợp Kết Quả & Báo Cáo Người Dùng (Synthesis & Final Reporting)
- **Không chuyển tiếp thô**: Tuyệt đối không trả kết quả rời rạc, chưa qua chọn lọc của từng sub-agent trực tiếp cho người dùng.
- **Tổng hợp & Đối soát (Cross-Validation)**:
  - Thu thập đầy đủ kết quả từ tất cả các sub-agents đã kích hoạt.
  - Phân tích sự tương quan giữa các kết quả, loại bỏ mâu thuẫn, đảm bảo tính đồng bộ hoàn hảo giữa tầng C++ Core và Python Companion.
- **Báo cáo chuẩn mực cho người dùng**:
  - Trình bày báo cáo tổng thể, mạch lạc, có phân mục rõ ràng.
  - Nêu rõ: Bối cảnh thời gian nghiên cứu (`dd/mm/yyyy`), hiện trạng hệ thống, các thay đổi đã hoàn thiện, kết quả xác minh kỹ thuật và các bước khuyến nghị tiếp theo cho người dùng.

---

## 6. Quy Định Sub-Agent Chuyên Trách Tài Liệu (Dedicated Documentation Sub-Agent Protocol)
- **Bắt buộc có Sub-Agent tài liệu**: Trong mọi đợt triển khai tính năng, tái cấu trúc hoặc sửa đổi hệ thống, **luôn phải phân công một sub-agent chuyên trách tài liệu** (`Documentation & Architecture Specialist`).
- **Giai đoạn tiền thực thi (Pre-Implementation)**:
  - Trước khi viết hoặc sửa đổi code, sub-agent tài liệu phải thêm mới hoặc cập nhật tài liệu phát triển dự án vào thư mục `docs/development/` (đặc tả kiến trúc, hợp đồng nhị phân, thiết kế API, sơ đồ tương tác hoặc ADR).
- **Giai đoạn hậu thực thi (Post-Implementation)**:
  - Ngay sau khi các sub-agents lập trình hoàn thành nhiệm vụ và kiểm thử thành công, sub-agent tài liệu phải cập nhật lại tài liệu trong `docs/development/` và `docs/` để phản ánh chính xác 100% hiện trạng code thực tế.
  - Loại bỏ hoàn toàn nguy cơ lệch pha tài liệu (zero documentation drift).

---

## 7. Cơ Chế Tự Động Rà Soát Đồng Bộ Định Kỳ (Daily 3:00 AM Automated Audit)
- **Lịch trình tự động**: Định kỳ mỗi ngày vào đúng **3:00 AM** (03:00:00), hệ thống tự động kích hoạt một chu trình rà soát toàn diện (Automated Code & Docs Audit).
- **Phạm vi kiểm tra**:
  - Đối chiếu chéo mã nguồn C++ Core và Python Companion với toàn bộ tài liệu trong `docs/development/`, `docs/agent/` và `README.md`.
  - Kiểm tra độ khớp của các struct nhị phân (Shared Memory layout, CommandPacket, TelemetryPacket), các cờ dòng lệnh CLI, sơ đồ kiến trúc và giao thức truyền thông.
  - Tự động phát hiện, báo cáo và hiệu chỉnh ngay lập tức mọi điểm mâu thuẫn hoặc lệch pha kỹ thuật, bảo đảm hệ thống luôn đồng bộ tuyệt đối 100%.

---

## 8. Triệt Tiêu Sửa Lỗi Triệu Chứng (Root-Cause-First & Anti-Symptom Patching Protocol)
- **Triết lý cốt lõi**: Tuyệt đối không chấp nhận các giải pháp vá tạm bợ (monkey-patching, band-aid fixes) che giấu triệu chứng mà không giải quyết nguyên nhân gốc rễ (root cause). Mọi bản vá chỉ làm dịu bề nổi mà để lại nợ kỹ thuật (technical debt) hoặc phá vỡ các bất biến hệ thống (invariants) đều bị coi là lỗi kỹ thuật nghiêm trọng.
- **Các hành vi bị CẤM TUYỆT ĐỐI**:
  1. *Cấm bypass điều kiện*: Không được thêm các điều kiện vô hiệu hóa kiểm tra kiểu `|| true`, `if (true)`, comment out assertions, hoặc bỏ qua sanity check để "tiện việc test/debug".
  2. *Cấm hardcode số ma thuật (magic numbers) & fake data*: Không gán số liệu ảo (như `totalGoldLooted += 150`, `spMax <= 2000`, offset cố định `+ 36`, fake entity HP 100/100) để qua mặt logic xác thực hoặc bù đắp cho module chưa hoàn thiện.
  3. *Cấm phá vỡ cơ chế an toàn / Focus Interlock*: Không được tự ý spawn thread rời rạc (ví dụ: `std::thread([]() { keybd_event(...); }).detach()`) để gửi input vật lý mà không thông qua interlock an toàn (`KMBoxNet::IsGameWindowFocused()`, `EnsurePoe2WindowFocus()`, flag `--move` / `allowPhysicalMove`).
  4. *Cấm đảo lộn thứ bậc phụ thuộc sinh tồn*: Không để crash hoặc lỗi ở tầng Cold Path (Python Companion HUD / GUI / Telemetry) kéo sập phản xạ sinh tồn độc lập của tầng Hot Path (C++ Core auto-flask / emergency logout).
- **Quy trình 4 bước bắt buộc khi sửa lỗi (Mandatory 4-Step RCA)**:
  1. **Tái hiện & Truy vết (Reproduce & Trace)**: Cô lập chính xác điều kiện kích hoạt lỗi, vẽ chuỗi gọi hàm (call graph) từ điểm phát sinh lỗi ngược về nguồn dữ liệu bẩn.
  2. **Phân tích Bất biến bị Vi phạm (Invariant Invalidation Analysis)**: Xác định rõ ràng bất biến kiến trúc (architectural invariant) nào bị phá vỡ (ví dụ: hệ trục tọa độ isometric không đồng nhất giữa các module, con trỏ bộ nhớ bị stale sau khi đổi map, v.v.).
  3. **Tái cấu trúc Tận gốc (Structural Architectural Fix)**: Viết lại hàm dùng chung duy nhất (Single Source of Logic - ví dụ `WorldToScreen(dx, dy)` chuẩn hóa), loại bỏ hoàn toàn các bản sao logic phân mảnh và mâu thuẫn.
  4. **Khóa chặn bằng Invariant Assertion (Contract Enforcement)**: Bổ sung `assert()`, `static_assert()`, hoặc exceptions kiểm tra tiền điều kiện/hậu điều kiện (preconditions/postconditions) để lỗi không bao giờ có thể âm thầm vượt qua được nữa.

---

## 9. Cổng Kiểm Thử Đối Chiếu Nghiêm Ngặt Trước Khi Công Bố (Mandatory Verification Gate Before Done)
- **Nguyên tắc vàng**: *"Untested code is broken code."* Không một nhiệm vụ nào được phép đánh dấu `[COMPLETED]` nếu chưa vượt qua cổng kiểm thử đối chiếu độc lập bằng lệnh thực thi thực tế (Raw CLI Test Output).
- **Cấm tư duy "Code chay / Đoán bằng mắt"**:
  - Không bao giờ được suy đoán rằng "code trông chuẩn rồi thì chắc chắn sẽ chạy đúng".
  - Không được dùng việc "biên dịch thành công (build pass)" làm bằng chứng thay thế cho "logic nghiệp vụ đúng (test pass)".
  - Tuyệt đối cấm sao chép/tái sử dụng số liệu kiểm thử cũ từ phiên trước hoặc từ tài liệu cũ (như trích dẫn "610/610 PASS" hoặc "696/696 PASS" mà không chạy lệnh đo kiểm thực tế trong phiên hiện tại).
- **Quy định về Bằng chứng Thực thi trong Báo Cáo (Verification Evidence Criteria)**:
  - Bắt buộc phải chạy test thông qua công cụ dòng lệnh (`run_command`).
  - Phải trích xuất trực tiếp stdout/stderr của lệnh test thực tế vào báo cáo (bao gồm: lệnh đã gõ, thời gian thực thi, số lượng test case PASS/FAIL, bộ nhớ hoặc timing đo được).
  - Khi môi trường thiếu quyền Admin (non-elevated) không thể chạy `AutoPOE2_Tests.exe` đầy đủ, BẮT BUỘC phải chạy Mock Unit Tests hoặc viết script verification cô lập chạy được ở User-mode để kiểm chứng toán học / logic trước khi báo cáo.

---

## 10. Hợp Đồng Đồng Bộ Tuyệt Đối Tài Liệu & Mã Nguồn (Zero-Drift Code-Doc Contract)
- **Nguyên tắc Single Source of Truth (SSoT)**: Mã nguồn C++ / Python và tài liệu kiến trúc trong `docs/` là một thực thể thống nhất. Mọi sự sai lệch dù nhỏ nhất giữa tài liệu và code thực thi đều bị coi là lỗi nghiêm trọng (Zero Tolerance for Documentation Drift).
- **Các tiêu chuẩn đồng bộ bắt buộc**:
  1. *Tần số & Độ trễ (Frequencies & Latencies)*: Nếu code chạy ở chu kỳ 120Hz (~8.33ms), tài liệu KHÔNG ĐƯỢC ghi 200Hz (5ms). Mọi thông số thời gian phải phản ánh giá trị `constexpr` hoặc loop timer thực tế trong code.
  2. *Ánh xạ Phím & Hotkeys (Hotkey Bindings)*: Mọi thay đổi về phím bấm khẩn cấp hoặc phím chức năng (ví dụ: F11 chuyển từ Panic thành Calibrate XYZ, F12/Pause thành Panic Hotkey) phải được grep và cập nhật trên TOÀN BỘ các file tài liệu liên quan (`01_system_architecture.md`, `README.md`, `docs/wiki/`, v.v.).
  3. *Trạng thái Watchdog & Degrade Policy*: Cơ chế phục hồi khi timeout (ví dụ: Co-Pilot Passive vs Kill Core) trong code phải khớp 100% với kịch bản mô tả trong tài liệu.
  4. *Phân biệt Rõ Hiện Trạng vs Kế Hoạch*: Mọi tính năng chưa được cài đặt trong code thực tế chỉ được phép ghi trong docs dưới dạng `[PLANNED]` hoặc `[DRAFT]`. Tuyệt đối cấm viết tài liệu dạng "ước nguyện" (wishful thinking) trình bày như thể tính năng đã hoàn thiện trong khi code chưa hề có.
- **Quy tắc Atomic Doc-Code Commit**:
  - Không có bất kỳ thay đổi logic nào được coi là hoàn tất nếu các tài liệu kỹ thuật liên quan chưa được sửa đổi đồng thời. Sub-agent tài liệu và sub-agent code phải bàn giao sản phẩm đồng bộ trong cùng một đợt cập nhật.

---

## 11. Phòng Ngừa Hồi Quy Bằng Mock Harness Tự Động (Automated Regression Prevention via Mock Harness)
- **Thách thức thực tế**: Game client Path of Exile 2 là môi trường phụ thuộc cao (cần game chạy thật, cần quyền Administrator đọc Virtual Memory qua RPM, dễ bị hạn chế trong môi trường CI/Sandbox).
- **Yêu cầu bắt buộc về Mock Harness**:
  1. *Độc lập hoàn toàn với Client*: Tất cả các module thuật toán và xử lý dữ liệu thuần túy (như Coordinate Transform `WorldToScreen`, Pathfinder A*, Vitals Sanitizer, Humanized Bézier Curve, SPSC Ring Buffer, Loot Deduplication) BẮT BUỘC phải có **Mock/Simulated Test Harness** chạy độc lập 100% trong User Mode, không cần quyền Admin và không cần mở game thật.
  2. *Bug-Driven Regression Testing*: Mỗi khi một lỗi logic được phát hiện (ví dụ: lỗi đảo dấu trục Y giữa QuestNavigator và ReflexManager, lỗi trượt biên 12-byte khi quét memory chunk, lỗi dead-config của `m_spiritAddr`), BẮT BUỘC phải viết ngay một Unit Test case tái hiện đúng lỗi đó (reproduction test) trước khi sửa code, và đảm bảo test case này PASS sau khi sửa.
  3. *Tích hợp vào Bộ Kiểm Thử Tự Động*: Mọi regression test mới phải được đưa vào danh sách kiểm thử tự động của dự án (`AutoPOE2_Tests` hoặc `pytest`), bảo đảm lỗi không bao giờ có cơ hội tái phát trong bất kỳ bản build tương lai nào.

---

## 12. Giao Thức Rà Soát Toàn Cục & Tự Đối Kháng Trước Khi Bàn Giao (Global Invariant Sweep & Pre-Flight Adversarial Audit)
- **Bài học xương máu từ các đợt tái thẩm định**: Lỗi tái diễn hoặc bỏ sót không phải do thiếu thông tin mà do **tư duy cục bộ (tunnel vision)** — sửa đúng dòng được chỉ ra mà không quét toàn diện, áp dụng giải pháp máy móc theo mặt chữ mà không suy luận ngoại suy, và vội vã kết luận khi chưa thực thi đầy đủ các cam kết kiểm thử do chính mình đặt ra.
- **Kỷ luật hành động bắt buộc**:
  1. *Cấm Sửa Điểm Lẻ (Strict Anti-Point-Fixing)*: Khi phát hiện một lỗi logic (ví dụ: công thức chiếu `WorldToScreen`, cơ chế overlap vùng nhớ, interlock an toàn phím), BẮT BUỘC phải thực hiện lệnh grep quét toàn diện toàn bộ workspace (cả tầng C++ Core và Python Companion). Nếu còn dù chỉ 1 vị trí tương tự chưa đồng bộ, nhiệm vụ KHÔNG ĐƯỢC PHÉP coi là hoàn thành.
  2. *Ngoại Suy Nguyên Lý (First-Principles Extrapolation)*: Không chỉ sửa cho trường hợp cụ thể được nêu trong báo cáo (ví dụ: "overlap 12-byte cho struct int32"), mà BẮT BUỘC phải ngoại suy cho toàn bộ các dạng dữ liệu tương đồng (quét float 4-byte, quét chuỗi, quét signature).
  3. *Checklist Tự Đối Kháng Bắt Buộc (Mandatory Pre-Flight Adversarial Checklist)*: Trước khi đưa ra bất kỳ phản hồi khẳng định nào cho người dùng, Agent phải tự chất vấn bản thân qua 4 câu hỏi:
     - [ ] Mình đã rà soát tất cả các file cùng module hoặc cùng chức năng ở cả 2 tầng C++ và Python chưa?
     - [ ] Mình đã bổ sung Unit Test chứng minh lỗi cũ thất bại và bản sửa mới thành công chưa?
     - [ ] Có bất kỳ nhánh điều kiện nào (`else`, flags, interlocks) bị bỏ quên hoặc xử lý nửa vời không?
     - [ ] Số liệu kiểm thử trong báo cáo có phải là kết quả thực thi dòng lệnh vừa chạy xong không?

---

## 13. Giao Thức Watcher Thời Gian Thực & Tự Sửa Lỗi Khép Kín (Agent Realtime Watcher & Closed-Loop Autonomous Repair Protocol)
- **Tư duy cốt lõi**: Agent không hoạt động như một lập trình viên thụ động (chỉ nhận lệnh và sửa lỗi khi người dùng phàn nàn), mà phải chủ động vận hành như một **Intelligent Realtime Watcher (Người Giám Sát Thời Gian Thực)**. Mọi sự cố hệ thống phải được phát hiện, cô lập, tái hiện và khắc phục qua vòng lặp tự động khép kín (Autonomous Closed-Loop) trước khi gây ra hậu quả nghiêm trọng trong game.
- **Vòng Lặp Tự Sửa Lỗi Khép Kín 6 Bước (Mandatory 6-Stage Closed-Loop)**:
  1. *Giám Sát & Bắt Anomaly Tức Thời (0ms Anomaly Trigger)*: Liên tục đối soát dữ liệu vận hành với **Danh Mục Bất Biến Kiến Trúc (Architectural Invariants Matrix)**. Bất kỳ sự bất thường nào (Vitals vi phạm bounds hoặc chạm mã UI 778/779, tọa độ XYZ kẹt cứng `(0,0,0)` khi nhân vật đang di chuyển trên đầm lầy Sandswept Marsh, độ lệch Optical vs RAM $> 25\%$, hoặc mất nhịp tim Watchdog $> 3000ms$) phải lập tức kích hoạt cơ chế chụp bằng chứng khẩn cấp tại thời điểm $0ms$.
  2. *Đóng Gói Hồ Sơ Hiện Trường (Multimodal Incident Dossier)*: Tự động cô lập và xuất toàn bộ chứng cứ vào thư mục `debug_harness/incidents/INCIDENT_<TIMESTAMP>_<INVARIANT>/` bao gồm: ảnh chụp màn hình, ảnh đối chiếu gắn nhãn RAM `_CORRELATED.png`, dump RAM thô `_RAM.json`, trace log 30 ticks và đặc biệt là tệp `incident_dossier.json` chuẩn schema kỹ thuật.
  3. *Tái Hiện Độc Lập Trên Headless Mock Harness (Deterministic Mock Reproduction)*: Không được phép yêu cầu người dùng phải mở game thật để tái hiện lỗi. BẮT BUỘC phải sinh hoặc gọi test scenario cô lập trên **Headless Mock POE2 Harness** (`SimulatedMemoryReader`), nạp trạng thái dị thường từ dossier và chứng minh kịch bản kiểm thử TÁI HIỆN THÀNH CÔNG (FAIL đúng như hiện trường).
  4. *Tái Cấu Trúc Gốc Rễ (Root-Cause Fix)*: Áp dụng nghiêm ngặt quy trình 4 bước RCA tại Rule 8. Sửa chữa tận gốc tại hàm xử lý dùng chung duy nhất (Single Source of Logic), triệt tiêu hoàn toàn các bản vá triệu chứng hoặc hằng số ma thuật.
  5. *Khóa Chặn & Xác Minh Hai Tầng (Dual-Layer Regression Verification Gate)*: Chạy lại kịch bản kiểm thử trên Mock Harness để khẳng định 100% PASS, sau đó chạy toàn bộ bộ kiểm thử tự động của dự án (`AutoPOE2_Tests.exe` và `pytest`) để bảo đảm zero regression.
  6. *Triển Khai & Báo Cáo Minh Bạch (Deployment & Transparent Reporting)*: Nạp cấu hình hoặc hot-reload mã nguồn đã sửa vào hệ thống runtime, sau đó tổng hợp báo cáo minh bạch cho người dùng theo đúng cấu trúc chuẩn hóa của Rule 4.
- **Kỷ Luật Bất Biến Tuyệt Đối (Zero-Tolerance Invariant Invalidation)**:
  - Tuyệt đối không bao giờ được bỏ qua, tắt cảnh báo hoặc làm ngơ trước bất kỳ vi phạm Invariant nào xuất hiện trong quá trình bot chạy.
  - Nghiêm cấm ghi các địa chỉ con trỏ Heap rác hoặc UI Marker vào tệp cấu hình `offsets.toml`.
  - Mọi sự cố được báo cáo phải có liên kết trực tiếp tới mã Invariant tương ứng trong tài liệu `docs/development/17_agent_realtime_watcher_and_headless_harness_architecture.md`.

---

## 14. Tuyệt Đối Cấm Dùng Mock Data & Bịa Data — Mọi Dữ Liệu Phải Là Thật (Zero Mock Data & 100% Authentic Real Data Protocol)
- **Triết lý cốt lõi**: *"Real problems demand real data."* Mọi dữ liệu đưa vào kiểm thử, phân tích, hiệu chuẩn, tái hiện lỗi và phát triển hệ thống **BẮT BUỘC PHẢI LÀ DỮ LIỆU THẬT 100%** thu thập từ client game Path of Exile 2 thực tế. Tuyệt đối nghiêm cấm việc tự biên tự diễn, sử dụng mock data, số liệu giả lập (synthetic fake data) hoặc bịa đặt dữ liệu để qua mặt kiểm thử hay che giấu khiếm khuyết kỹ thuật.
- **Các hành vi bị CẤM TUYỆT ĐỐI**:
  1. *Cấm tạo Mock Data / Dữ liệu tự chế*: Không được tự tay viết các cấu trúc dữ liệu ảo, số liệu ma thuật (ví dụ: tự chế struct quái vật HP 100/100, tự gán vector tọa độ giả, tự chế byte array không trích xuất từ RAM thật) để đưa vào test harness.
  2. *Cấm Fabricated Telemetry / Dữ liệu bịa đặt*: Không được tạo các object telemetry ảo để qua mặt assertions hoặc báo cáo kết quả "ảo tưởng".
  3. *Cấm Báo Cáo Số Liệu Khống*: Mọi số liệu trong báo cáo nghiệm thu (tần số Hz, độ trễ ms, RAM address, tọa độ XYZ, tỷ lệ pass/fail) bắt buộc phải trích xuất trực tiếp từ stdout/stderr của lệnh chạy thật hoặc từ tệp log thật, không được ước lượng hay làm tròn cảm tính.
- **Quy định về Nguồn Dữ Liệu Hợp Chuẩn (Authentic Data Provenance)**:
  1. *Nguồn dữ liệu hợp lệ*: Dữ liệu kiểm thử và phân tích bắt buộc phải xuất phát từ một trong các nguồn thực tế:
     - RAM Dump thật (`captures/*_RAM.json`, hex memory dump trích xuất trực tiếp từ tiến trình `PathOfExile.exe` qua `SyncMemorySnapshotManager` hoặc `MemProbe`).
     - Ảnh chụp màn hình thật in-game (`captures/*.png`, incident screenshots).
     - Log client thực tế (`logs/Client.txt`, `bin/Release/core_log.txt`).
     - Gói tin IPC thực tế ghi nhận qua Shared Memory buffer khi game đang hoạt động.
  2. *Truy vết nguồn gốc (Data Traceability)*: Mọi test fixture hoặc dữ liệu phân tích đưa vào hệ thống phải đi kèm metadata chứng minh nguồn gốc thật: Timestamp thu thập (`dd/mm/yyyy hh:mm:ss`), PID tiến trình game, tên Map/Instance thật (ví dụ: `Sandswept Marsh`, `Clearfell Encampment`), và địa chỉ vùng nhớ thật.

---

## 15. Giao Thức Khai Thác Bắt Buộc Hệ Sinh Thái MCP Server (Mandatory MCP-First Protocol)
- **Tôn chỉ triệt tiêu quán tính bỏ qua MCP (Zero-Bypass Directive)**: Hệ sinh thái MCP Server (`git`, `memory`, `lsp-mcp`, `sqlite`, `markitdown`, `chrome-devtools-mcp`, `StitchMCP`, `gemini-api_gemini-api-docs`) được trang bị để tối ưu hóa hiệu năng, giảm tải token context và ngăn ngừa hallucination. Tuyệt đối CẤM thói quen mặc định lạm dụng `run_command` gõ lệnh git thủ công, dùng regex grep thô sơ cho duyệt AST hoặc viết script tạm khi đã có MCP Server đảm nhiệm.
- **Cơ chế gọi Lazy-Loaded MCP Tools**:
  * Các MCP Server ngoại trừ `gemini-api_gemini-api-docs` được cấu hình dạng Lazy Loading.
  * BẮT BUỘC gọi qua công cụ `call_mcp_tool` với cú pháp chuẩn:
    - `ServerName`: Tên MCP server (ví dụ: `git`, `memory`, `lsp-mcp`, `sqlite`, `markitdown`, `chrome-devtools-mcp`, `StitchMCP`).
    - `ToolName`: Tên công cụ (ví dụ: `git_status`, `git_diff_unstaged`, `add_observations`, `lsp_definition`...).
    - `Arguments`: Object tham số theo schema tại `C:\Users\Admin\.gemini\antigravity\mcp\<serverName>/<toolName>.json`.
- **Ma Trận Điều Phối Nghiệp Vụ MCP Bắt Buộc (MCP Execution Matrix)**:
  1. *Thao tác Git Repository* (`git`): BẮT BUỘC dùng `git_status`, `git_diff_unstaged`, `git_diff_staged`, `git_diff`, `git_log`, `git_commit`, `git_add` qua `call_mcp_tool`. Cấm chạy `git status` / `git diff` qua shell command trừ khi MCP server bị lỗi.
  2. *Đồ thị tri thức & Bộ nhớ dài hạn* (`memory`): BẮT BUỘC dùng `create_entities`, `create_relations`, `add_observations`, `read_graph`, `search_nodes` để ghi nhận các quyết định kiến trúc (ADR), quy tắc bất biến mới, phân tích sự cố (RCA) sau mỗi lần xử lý lỗi hoặc tiếp nhận phản hồi từ người dùng.
  3. *Duyệt mã nguồn & Refactor AST* (`lsp-mcp`): BẮT BUỘC dùng `lsp_definition`, `lsp_references`, `lsp_document_symbols`, `lsp_rename`, `lsp_diagnostics` khi phân tích caller/callee hoặc refactor. Tuyệt đối CẤM dùng regex grep khi đổi tên symbol diện rộng.
  4. *Xử lý tài liệu & Đặc tả* (`markitdown`): BẮT BUỘC dùng `convert_document`, `convert_url` để đọc PDF, DOCX, XLSX.
  5. *Cơ sở dữ liệu cục bộ* (`sqlite`): BẮT BUỘC dùng `read_query`, `write_query`, `list_tables`, `describe_table` để truy vấn CSDL `.db` / `.sqlite`.
  6. *Kiểm thử UI & Trình duyệt* (`chrome-devtools-mcp`): BẮT BUỘC dùng `navigate_page`, `take_screenshot`, `click`, `list_console_messages` để nghiệm thu trực tiếp trên trình duyệt thực tế.
  7. *Thiết kế & Prototype Giao diện* (`StitchMCP`): Dùng `generate_screen_from_text`, `apply_design_system` chuẩn hóa layout UI trước khi code.
  8. *Tra cứu tài liệu Gemini API* (`gemini-api_gemini-api-docs`): Gọi trực tiếp eager tools `gemini_search_docs`, `gemini_get_doc`.
- **Bất biến giám sát INV-MCP-MANDATORY-FIRST**: Mọi tác vụ có công cụ MCP chuyên trách tương ứng BẮT BUỘC phải triệu hồi MCP tool trước. Việc sử dụng công cụ fallback (shell/regex) chỉ được chấp nhận khi có bằng chứng rõ ràng là MCP tool không hỗ trợ hoặc trả về lỗi kỹ thuật.
