# 07. Phân rã Nhiệm vụ & Mục tiêu Thực hiện Dự án (Tasks & Work Breakdown Structure)

> **Mục tiêu**: Lộ trình nhiệm vụ chi tiết và tiêu chí nghiệm thu từng bước để triển khai hệ thống AutoPOE2 (v0.5.5).  
> **Phương pháp triển khai**: 6 Giai đoạn (Sprints) nối tiếp, kiểm thử độc lập từng mô-đun trước khi ghép nối toàn cục.

---

## 1. Sơ đồ Tổng thể 6 Giai đoạn Triển khai

```mermaid
gantt
    title Lộ trình 6 Giai đoạn Triển khai AutoPOE2
    dateFormat  YYYY-MM-DD
    section Giai đoạn 1: Hạ tầng & Input
    CMake & C++23 Clang Build Setup     :done, s1_1, 2026-09-08, 3d
    Shared Memory 4MB Lock-Free IPC      :done, s1_2, after s1_1, 4d
    KMBox Hardware Driver & Bézier Curve :done, s1_3, after s1_2, 5d
    section Giai đoạn 2: Cảm biến & Dữ liệu
    Realtime Log Watcher Sensor         :done, s2_1, after s1_3, 4d
    DMA / Kernel Memory Reader Layer    :done, s2_2, after s2_1, 5d
    Entity Manager & Player Telemetry   :done, s2_3, after s2_2, 5d
    section Giai đoạn 3: Thị giác & Overlay
    Camera Zoom 1.5x-4x & zFar Culling Fix :s3_1, after s2_3, 4d
    DX12 Constant Buffer Fog Removal    :s3_2, after s3_1, 4d
    ImGui / Tkinter Stealth Overlay     :active, s3_3, after s3_2, 5d
    section Giai đoạn 4: Động cơ Phản xạ
    Auto Flask & Reactive Debuff Cleanser :s4_1, after s3_3, 4d
    Boss Slam Telegraph & Dodge Iframe  :s4_2, after s4_1, 5d
    Smart Combo & Fluid Weapon Swap     :s4_3, after s4_2, 5d
    Smart Fast-Loot Clicker             :s4_4, after s4_3, 4d
    section Giai đoạn 5: Antigravity AI
    Master Orchestrator Python Agent    :s5_1, after s4_4, 4d
    Procedural Map Navigator Sub-Agent  :s5_2, after s5_1, 5d
    Gemini Multimodal Loot Appraiser    :s5_3, after s5_2, 5d
    Boss Stagger Tactics Sub-Agent      :s5_4, after s5_3, 4d
    section Giai đoạn 6: Tự động Hoàn toàn
    Bot Finite State Machine (FSM)      :s6_1, after s5_4, 6d
    Full Mapping Loop (Waystone, Portal, Stash) :s6_2, after s6_1, 7d
    Global Panic Killswitch & Hardening :done, s6_3, after s6_2, 4d
```

---

## 2. Chi tiết Nhiệm vụ & Tiêu chí Nghiệm thu Từng Giai đoạn

### Giai đoạn 1: Hạ tầng Khung Dự án & Điều khiển Phần cứng [HOÀN THÀNH 100%]
- **Nhiệm vụ 1.1 [HOÀN THÀNH]**: Thiết lập tệp cấu hình `CMakeLists.txt` liên kết với MSVC C++23 / Clang, hỗ trợ build Release/Debug độc lập với các thư viện Win32, AVX2. Tệp thực thi sinh ra tại `bin/AutoPOE2_Core.exe`.
- **Nhiệm vụ 1.2 [HOÀN THÀNH]**: Xây dựng lớp `SharedMemoryManager` (`src/core/ipc/shared_memory.cpp/.hpp`) ánh xạ khối nhớ 4MB `Local\POE2_Auto_SharedMem_v1`.
  - Cơ chế Seqlock double-buffer (2 slot 64KB `0x1000` & `0x11000`) chống rách dữ liệu khi đọc ở 120Hz.
  - Hàng đợi vòng lệnh vĩ mô SPSC Ring Buffer 16 slot tại offset `0x300000`.
  - Heartbeat giám sát 2 chiều (Watchdog timeout 5000ms).
- **Nhiệm vụ 1.3 [HOÀN THÀNH]**: Viết module giao tiếp mạng UDP kết nối phần cứng **KMBox Net** (`src/core/input/kmbox_net.cpp/.hpp`) và cổng COM cho KMBox B+ Pro.
- **Nhiệm vụ 1.4 [HOÀN THÀNH]**: Xây dựng thuật toán sinh đường cong di chuyển chuột Bézier bậc 3 (`src/core/input/human_curve.cpp/.hpp`) kết hợp nhiễu vi sinh học Brownian và lướt quá đà (Overshoot & Correction).
- **Nghiệm thu thực tế**:
  - Biên dịch 100% không cảnh báo: `AutoPOE2_Core.exe`, `AutoPOE2_MemProbe.exe`, `AutoPOE2_Tests.exe`.
  - Stress test >25 triệu lần đọc song song với writer 2kHz, **0 torn-read**.
  - Kiểm thử liên tiến trình Python Bridge (`scripts/test_ipc_bridge.py`, `src/assistant_tool/core_shm_bridge.py`) truyền telemetry < 0.1ms.

---

### Giai đoạn 2: Cảm biến & Đọc Dữ liệu Trạng thái Game [HOÀN THÀNH 100%]
- **Nhiệm vụ 2.1 [HOÀN THÀNH]**: Triển khai luồng đọc ngầm `LogSensor` (`src/core/sensor/log_sensor.cpp/.hpp`) theo dõi tệp `LatestClient.txt` theo phương thức Zero-Risk (chia sẻ quyền I/O `FILE_SHARE_READ | FILE_SHARE_WRITE`).
  - Tự động bắt sự kiện tạo instance (`AreaGenerated`, mã khu vực, seed, level), chuyển cảnh (`SceneChanged`), kết thúc tải màn (`LoadingFinished`), tin nhắn giao dịch (`WhisperReceived`), mất kết nối và cờ khóa tài khoản.
- **Nhiệm vụ 2.2 [HOÀN THÀNH]**: Thiết lập lớp trừu tượng `IMemoryReader` (`src/core/memory/imemory_reader.hpp`) với 2 backend:
  - `SimulatedReader`: Dùng cho môi trường dev không cần bật game client.
  - `RpmReader`: Đọc trực tiếp tiến trình 64-bit `PathOfExile.exe` với cơ chế UAC Auto-Elevation (`IsElevated()`, `RelaunchAsAdmin()`).
- **Nhiệm vụ 2.3 [HOÀN THÀNH]**: Xây dựng `EntityManager` (`src/core/memory/entity_manager.cpp/.hpp`) và `PlayerFinder` (`src/core/memory/player_finder.cpp/.hpp`).
  - Phát triển công cụ dò tìm con trỏ `AutoPOE2_MemProbe.exe` với thuật toán Bi-Directional BFS Narrow-Tolerance (`CmdBridge`) tìm thấy con trỏ tĩnh 2 cấp:
    - Base: `0x7FF70EB60000` -> Static Offset `0x4434CE0` -> `+0x48` -> `+0x1AD`.
    - Đã xác thực thành công trên tiến trình trực tiếp POE2 v0.5.5 (PID 34188): `HP = 26 / 42`.
  - Cấu hình lưu trữ động tại `bin/Release/offsets.toml` kèm cơ chế hiệu chuẩn động dự phòng (Dynamic Calibration Fallback) quét cụm bộ nhớ `{HP, maxHP, maxHP}`.
- **Nhiệm vụ 2.4 [HOÀN THÀNH]**: Tự động hóa định vị tọa độ XYZ ngầm không cần can thiệp (Zero-Touch XYZ Auto-Lock):
  - Kết nối tín hiệu `GameEventType::LoadingFinished` từ `LogSensor` với `PlayerFinder::SnapshotBaselineFloats` trong thời gian bảo vệ bất tử (Grace Period) khi vừa vào map.
  - Tự động bắt bước di chuyển đầu tiên (`FindMovedFromBaseline`) và gom cụm XYZ (`FindXYZTriples`) để khóa `m_xyzAddr` ngầm trong $< 50\text{ms}$ mỗi khi đổi map/portal/relog, đạt chuẩn tự động hóa 100%.
  - **Khắc phục triệt để lỗi địa hình phẳng (Sandswept Marsh - 07/09/2026)**:
    - Sửa `FindXYZTriples`: Hỗ trợ nhận diện Vector3 hợp lệ khi cao độ Z đứng yên ($\Delta z == 0.0\text{f}$) trên địa hình phẳng hoặc di chuyển đơn trục, kiểm tra các ô nhớ lân cận $(\pm 4, \pm 8)$, chấm điểm đa trục và ưu tiên cặp trục 2D mặt đất $(X, Y)$.
    - Tối ưu hóa hiệu năng bộ đệm: Giới hạn baseline floats $< 5000$ (ưu tiên candidate triples thỏa mãn `IsValidXYZ`), áp dụng cơ chế Batch Chunk Reading (kích thước chunk $\le 64\text{KB}$, khoảng cách $\le 128\text{B}$) trong `FindMovedFromBaseline`, giảm từ $> 52,000$ RPM syscalls xuống $< 30$ syscalls mỗi 100ms cycle (0% CPU/FPS overhead).
    - Cập nhật `game_session.cpp`: Sửa điều kiện kích hoạt từ `moved >= 3` thành `moved >= 1`.
- **Nghiệm thu thực tế**:
  - Đọc liên tục trạng thái người chơi ở 120Hz không gây giật lag client game.
  - Tích hợp phím dừng khẩn cấp Pause/Break hoặc Ctrl+Shift+F12 (tránh xung đột F12 Steam) và remote `PANIC_STOP` (OpCode 99) phản hồi tức thì.

---

### Giai đoạn 3: Can thiệp Thị giác & Lớp phủ Thông tin
- **Nhiệm vụ 3.1**: Tìm kiếm động địa chỉ đối tượng `CameraInstance`, ghi đè giới hạn zoom cho phép người chơi cuộn chuột xa từ **1.5x đến 4.0x**, đồng thời tự động nhân hệ số mặt phẳng cắt xa `zFar` để chống hiện tượng biến mất địa hình.
- **Nhiệm vụ 3.2**: Can thiệp Constant Buffer của DirectX 12, đặt `FogDensity = 0.0f` và đẩy khoảng cách bắt đầu sương mù ra vô tận, vô hiệu hóa hoàn toàn Volumetric Fog.
- **Nhiệm vụ 3.3 [HOÀN THÀNH]**: Dựng cửa sổ lớp phủ trong suốt trực tiếp trong game `src/core/overlay.cpp/.hpp` bằng Win32 Native Layered Window (`WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_TOPMOST | WS_EX_NOACTIVATE`) với khóa màu `LWA_COLORKEY` nền trong suốt 100%, render thread 12 FPS hiển thị HP/Mana, XYZ, FPS thời gian thực, hoàn toàn không cướp focus và nhấp chuột xuyên thấu (Click-Through).
- **Tiêu chí nghiệm thu**:
  - Tầm nhìn bao quát toàn bộ đấu trường mượt mà, khung hình tăng 15-20% do tắt sương mù.
  - Lớp phủ hiển thị trực tiếp và mượt mà trên game, không ảnh hưởng thao tác chuột/bàn phím.

---

### Giai đoạn 4: Động cơ Phản xạ & Chế độ Hỗ trợ Người chơi (Co-Pilot)
- **Nhiệm vụ 4.1 [HOÀN THÀNH]**: Triển khai logic **Smart Life & Mana Flask** (`src/core/combat/reflex_manager.cpp/.hpp`):
  - Tự động bơm Life Flask (phím 1) khi $HP \le 55\%$.
  - Thuật toán theo dõi HoT (Heal-over-Time 3000ms) nhận biết máu đang hồi để chống lãng phí sạc bình.
  - Chế độ nguy kịch (Critical Burst override) tại $HP \le 28\%$ dồn bình tức thì.
  - Tự động bơm Mana Flask (phím 2) khi $Mana \le 25\%$, kèm cơ chế nhận diện cạn bình (3 lần bấm liên tiếp không tăng mana) để chống spam bàn phím.
- **Nhiệm vụ 4.2 [HOÀN THÀNH]**: Xây dựng cơ chế phản xạ né đòn **Iframe Dodge Roll** (`ReflexManager::HandleDodgeRoll`):
  - Tự động bắt hiệu ứng sốc sát thương đột ngột (tụt $\ge 22\%$ maxHP trong 1 tick 120Hz).
  - Tự động gửi phím lùi `S` + `Spacebar` (giữ 35ms) để lộn nhào né đòn tận dụng 300ms bất tử, kèm cooldown 850ms chống kẹt động tác.
- **Nhiệm vụ 4.3 [HOÀN THÀNH]**: Xây dựng cơ chế **Dynamic Kiting & Auto-Chicken**:
  - Tự động tính toán vector khoảng cách $dX, dY$ giữa nhân vật và quái vật gần nhất từ `packet.entities` khi cự ly $< 35.0$ đơn vị. Tự động gửi phím di chuyển `WASD` ngược hướng quái vật để thả diều an toàn.
  - Tự động thoát hiểm cấp cứu **Auto-Chicken** (`ReflexManager::HandleChicken`): Khi $HP \le 18\%$, tự động gửi phím `VK_ESCAPE` mở menu thoát an toàn bảo toàn 10% exp endgame.
- **Nhiệm vụ 4.4 [TIẾP THEO]**: Hoàn thiện tính năng **Smart Fast-Loot**: khi người chơi dừng di chuyển, tự động rê chuột và nhấp nhặt các vật phẩm đạt chuẩn trong phạm vi tương tác ($< 25$ đơn vị khoảng cách).
- **Tiêu chí nghiệm thu**:
  - Phản xạ bơm máu và né iframe đạt tốc độ < 10ms từ khi phát hiện điều kiện.
  - Người chơi tự do di chuyển WASD và chiến đấu mà không bị giật con trỏ chuột.

---

### Giai đoạn 5: Tích hợp Google Antigravity Agent Swarm
- **Nhiệm vụ 5.1**: Thiết lập `MasterOrchestratorAgent` trên nền tảng Python 3.11 sử dụng thư viện `google-antigravity`.
- **Nhiệm vụ 5.2**: Xây dựng Sub-Agent `ProceduralNavigatorAgent` nhận dữ liệu lưới địa hình từ C++ Core, lập lộ trình A* dọn quái ziczac và tìm lối vào phòng Boss.
- **Nhiệm vụ 5.3 [THIẾT KẾ HOÀN TẤT]**: Xây dựng Sub-Agent `LootAppraiserAgent` sử dụng mô hình **Gemini 3.8 Flash** (Multimodal Vision & Sub-second Response):
  - Tự động dùng Scroll of Wisdom giám định sạch ba-lô trong Hideout (`AutoIdentifyRoutine`).
  - Đọc ảnh tooltip từng món đồ Rare/Unique: Phân tích Tier Affixes, độ tương tác chỉ số và định giá thị trường.
  - Tự động kích hoạt: `EQUIP_UPGRADE` (tự chuột phải mặc đồ xịn hơn), `STASH_FOR_TRADE` (cất đồ giá trị cao vào rương bán), và chuyển đồ rác vào Bàn Thợ Rèn (`Blacksmith Salvage Bench`) để rã lấy Vàng và Bụi Chế Tác.
- **Nhiệm vụ 5.4**: Xây dựng Sub-Agent `BossTacticsAgent` theo dõi thanh Stagger, ra lệnh dồn sát thương cực đại khi Boss choáng.
- **Nhiệm vụ 5.5**: Xây dựng Sub-Agent `SafetySupervisorAgent` điều tiết nhịp độ thao tác (APM) và chèn các khoảng nghỉ ngơi tự nhiên.
- **Tiêu chí nghiệm thu**:
  - Các Sub-Agent trao đổi thông tin nhịp nhàng qua Master Agent.
  - Đánh giá chính xác giá trị trang bị theo meta 0.5.5 chỉ trong vòng chưa đầy 300 mili-giây.

---

### Giai đoạn 6: Chế độ Tự động Hoàn toàn & Kiểm thử Hệ thống
- **Nhiệm vụ 6.1**: Xây dựng cỗ máy trạng thái `BotStateMachine` kết nối khép kín toàn bộ chu trình cày cuốc:
  - *State 1*: Chuẩn bị trong Hideout (Lấy Waystone, cuộn Portal).
  - *State 2*: Đặt Waystone vào Map Device & Kích hoạt.
  - *State 3*: Bước qua Portal vào Map.
  - *State 4*: Tìm đường dọn quái thả diều (WASD Strafe Kiting).
  - *State 5*: Tiêu diệt Boss bản đồ & Nhặt toàn bộ đồ xịn.
  - *State 6*: Mở Portal về Hideout, cất đồ vào Stash Tab và phân giải đồ rác tại Thợ rèn.
- **Nhiệm vụ 6.2**: Tích hợp phím tắt khẩn cấp toàn cục (**Pause/Break / Ctrl+Shift+F12 Panic Killswitch**) khôi phục zoom và tắt bot trong 1ms (tránh xung đột F12 Steam).
- **Tiêu chí nghiệm thu**:
  - Bot có thể tự động hoàn thành trọn vẹn một bản đồ Waystone từ đầu đến cuối một cách ổn định, không bị kẹt địa hình.
  - Tỷ lệ sống sót đạt mức tối đa nhờ cơ chế né đòn iframe và bơm máu thông minh.

---

## 3. Cập nhật Hiện trạng Thực tế & Phân định Trách nhiệm (Status Update)

> **Ghi chú quan trọng theo chỉ đạo của Người dùng (2026-09)**:  
> - Người dùng chủ động tự lập trình các logic macro/botting tự động hóa chiến đấu (Giai đoạn 4 & 6).  
> - Trợ lý AI tập trung hoàn thiện hạ tầng, đồng bộ tài liệu kỹ thuật, và phát triển bộ công cụ hỗ trợ thụ động (Passive Assistant Tool) an toàn tuyệt đối.

### 3.1. Bảng Trạng thái Mô-đun Hệ thống

| Mô-đun / Thành phần | Vị trí Mã nguồn | Trạng thái | Ghi chú Hoạt động |
| :--- | :--- | :---: | :--- |
| **C++ Core Engine** | `src/core/main.cpp` | **HOÀN THÀNH** | Vòng lặp 120Hz, Watchdog nhịp tim, Pause/Ctrl+Shift+F12 Panic, F8/F6 Toggle, UAC Auto-Elevation. |
| **Lock-Free Shared Memory** | `src/core/ipc/` | **HOÀN THÀNH** | Seqlock double-buffer 4MB (`0x1000`/`0x11000`), SPSC Command Ring 16 slots. |
| **Log Telemetry Sensor** | `src/core/sensor/` | **HOÀN THÀNH** | Zero-risk tailing `LatestClient.txt`, bóc tách Area, Level, Seed, Whisper, Scene. |
| **Memory Reader & Probe** | `src/core/memory/`, `tools/` | **HOÀN THÀNH** | Bi-Directional BFS tìm con trỏ HP v0.5.5 (`offsets.toml`), hiệu chuẩn động fallback. |
| **XYZ Coordinate Telemetry** | `src/core/game_session.cpp` | **HOÀN THÀNH** | Đọc tọa độ thực $X, Y, Z$ tại `xyz_addr = 0x50264019c10` ở tần số 120Hz. |
| **Reflex Combat Engine** | `src/core/combat/reflex_manager.cpp` | **HOÀN THÀNH** | Iframe Dodge Roll (burst $\ge 22\%$), Smart Flask HoT, Mana Anti-Spam, Kiting, Chicken. |
| **Win32 Native In-Game Overlay** | `src/core/overlay.cpp` | **HOÀN THÀNH** | Layered No-Activate Click-Through HUD hiển thị HP/Mana, XYZ, FPS tại 12 FPS. |
| **Python Core SHM Bridge** | `src/assistant_tool/core_shm_bridge.py` | **HOÀN THÀNH** | Đọc Seqlock IPC 30Hz, cập nhật nhịp tim Agent, bắt cảnh báo Low HP (< 35%). |
| **Overlay HUD & Telemetry GUI** | `src/assistant_tool/overlay_gui.py` | **HOÀN THÀNH** | Tkinter trong suốt (`WS_EX_TOPMOST`), thanh HP thời gian thực, cảnh báo âm thanh/visual flash, nút 🛑 Panic. |
| **Market & Trade Advisor** | `src/assistant_tool/market_advisor.py` | **HOÀN THÀNH** | Tính thuế vàng Faustus, lọc kèo chênh lệch giá, link 1-click POE2 Official Trade. |
| **Discord Arbitrage Sniffer** | `src/assistant_tool/discord_monitor.py` | **HOÀN THÀNH** | Bóc tách kèo Discord WTS/WTB, extension Chrome theo dõi tin nhắn realtime. |
| **KMBox & Human Curve** | `src/core/input/` | **SẴN SÀNG** | Điều khiển phần cứng và đường cong Bézier chuột chuẩn bị sẵn cho người dùng tích hợp. |

