# BÁO CÁO BÀN GIAO KHẢO SÁT CÂN BẰNG TOÁN HỌC & PHÂN TẦNG KIỂM THỬ (HANDOFF REPORT)

> **Agent**: `explorer_survey_balance_1` (Teamwork Preview Explorer)  
> **Người nhận**: `orchestrator_4` (`6f4a2aa2-4315-4660-8cb7-8352a7220c95`)  
> **Nhiệm vụ**: Khảo sát mô hình toán học đường cong EXP, Level Gap Penalty, công cụ Monte Carlo và phân tầng kiểm thử 4 cấp.  
> **Loại Handoff**: Hard Handoff (Hoàn tất khảo sát phân tích, sẵn sàng cho implementation)  

---

## 1. OBSERVATION (QUAN SÁT THỰC ĐỊA & DỮ LIỆU THỰC CHỨNG)

1. **Hiện trạng Seeding EXP Database**:
   - Tệp [server/world/game_design_matrix_seeder.py](file:///c:/Projects/FreeExile/server/world/game_design_matrix_seeder.py#L242-L256):
     ```python
     for lvl in range(1, 101):
         target_xp = int(500 * (lvl ** 1.85))
     ```
     Tại cấp 20, `target_xp` = $127.351$. Tại cấp 99, `target_xp` = $24.591.858$. Tại cấp 100, `target_xp` = $25.059.361$.
     Độ chênh lệch giữa cấp 99 và 100 chỉ là $467.503$ EXP ($< 1.9\%$ tổng tích lũy), vi phạm hoàn toàn mục tiêu tạo "Bức tường cực hạn 25-35% tổng EXP cả đời".
2. **Ràng Buộc Schema & Kiểm Tra Toàn Vẹn Đơn Điệu**:
   - Tệp [server/world/game_design_matrix_schema.py](file:///c:/Projects/FreeExile/server/world/game_design_matrix_schema.py#L132-L140):
     `target_exp INTEGER NOT NULL CHECK (target_exp > 0)`.
   - Tệp [server/world/game_design_matrix_service.py](file:///c:/Projects/FreeExile/server/world/game_design_matrix_service.py#L241-L248):
     `cur.execute("SELECT level, target_exp FROM progression_benchmarks ORDER BY level ASC")`
     Bắt buộc $target\_exp(L) > target\_exp(L-1)$ với mọi cấp từ 1 đến 100.
3. **Thí Luyện Thăng Hoa Cấp 100 & Node Keystone**:
   - Tệp [server/world/ascendancy_catalog.py](file:///c:/Projects/FreeExile/server/world/ascendancy_catalog.py#L121-L131):
     `TRIAL_10_GODHOOD_TRANSCENDENCE` yêu cầu `required_level = 100`, thưởng đúng 3 điểm thăng hoa.
   - Chưa tồn tại Node `GODHOOD_AVATAR_METAMORPHOSIS` trong danh mục `get_ascendancy_nodes()`.
   - Tệp [server/world/ascendancy_types.py](file:///c:/Projects/FreeExile/server/world/ascendancy_types.py#L95-L134): Chưa có cờ `avatar_metamorphosis_active: bool = False` trong `AscendancyAppliedEffects`.
4. **Hệ Thống Kiểm Thử Hiện Hữu**:
   - `tests/unit/`: 71 tệp test.
   - `tests/integration/`: 1 tệp (`test_end_to_end_gateway.py`).
   - `tests/security_fuzzing/`: 10 tệp kiểm thử thâm nhập.
   - `tests/load_simulation/`: 3 tệp benchmark tải triệu CCU.
   - `tests/e2e/`: 2 tệp kịch bản giả lập UI/VFX.
5. **Công Cụ Kiểm Toán Vệ Sinh & An Ninh**:
   - Lệnh `python tools/lint/check_code_and_doc_hygiene.py --strict` thực thi quét 728 files; áp đặt ngưỡng Code $\le 350-500$ dòng, Docs $\le 400-600$ dòng, Hàm $\le 50$ dòng.
   - Lệnh `python tools/security/run_independent_security_audit.py --build-id "SURVEY-2026.1" --env STAGING` trả về mã thoát `0` (Zero Critical, Zero High).

---

## 2. LOGIC CHAIN (CHUỖI SUY LUẬN & CHỨNG MINH TOÁN HỌC)

1. **Thiết kế Đường cong 7 Phân đoạn (Từ Quan sát 1 & 2)**:
   - *Suy luận*: Để thỏa mãn $E_{1-20} < 0.1\% \cdot E_{\text{total}}$ đồng thời $\Delta E(99 \to 100) \ge 30\% \cdot E_{1-99}$, tốc độ tăng trưởng cần chuyển pha từ đa thức bậc thấp ở tân thủ sang hàm mũ leo dốc ở endgame.
   - *Chứng minh số học*:
     - Segment 1 ($1-20$): $\Delta E(L) = \lfloor 500 \cdot L^{2.3} + 100 \cdot L \rfloor$. Tổng tích lũy $1-20 = 3.248.870$ EXP.
     - Segment 2 ($21-40$): $\Delta E(20) \cdot (1 + 0.085 \cdot (L - 20))^{2.4}$.
     - Segment 3 ($41-60$): $\Delta E(40) \cdot \exp(0.092 \cdot (L - 40))$.
     - Segment 4 ($61-80$): $\Delta E(60) + 0.12 \cdot \Delta E(60) \cdot (L - 60)$ (tuyến tính ổn định).
     - Segment 5 ($81-90$): $\Delta E(80) \cdot \exp(0.145 \cdot (L - 80))$.
     - Segment 6 ($91-99$): $\Delta E(90) \cdot \exp(0.240 \cdot (L - 90))$.
     - Segment 7 ($99 \to 100$): $\lfloor 0.33 \cdot E_{1-99} \rfloor = 5.936.450.010$ EXP.
     - Tổng EXP cả đời $E_{\text{total}} = 23.925.692.466$ EXP.
     - Tỷ lệ cấp 1-20: $3.248.870 / 23.925.692.466 = \mathbf{0.0136\%} < 0.1\%$.
     - Tỷ lệ cấp 99-100: $5.936.450.010 / 17.989.242.456 = \mathbf{33.00\%} \ge 30\%$.
     - Bảng giá trị đơn điệu tăng ngặt $100\%$ không vi phạm `progression_benchmarks`.

2. **Xác định Hàm Phạt Chênh Lệch Cấp (Từ Yêu cầu Dispatch)**:
   - *Suy luận*: Cần hàm suy hao trơn tru tại biên $\Delta = 5$, không bị âm, và đạt $\le 5\%$ tại $\Delta = 10$.
   - *Chứng minh số học*:
     $\eta(\Delta) = \exp(-0.60 \cdot (\Delta - 5))$ với $\Delta > 5$.
     Tại $\Delta = 5 \implies \eta = 1.0000$ (100%).
     Tại $\Delta = 6 \implies \eta = 0.5488$ (54.88%).
     Tại $\Delta = 10 \implies \eta = \exp(-3.0) \approx \mathbf{0.0498} = \mathbf{4.98\%} \le 5.0\%$.
     Với $\Delta > 10$, $\eta \le 2.73\% \le 5\%$.

3. **Mô phỏng Monte Carlo & Chứng minh Bất Khả Thi (Từ Quan sát 1, 2 & Thử nghiệm `test_sim.py`)**:
   - *Mô hình*: 1.000 người chơi, mùa giải 90 ngày, 5 giờ/ngày ($75$ map T16/ngày, tổng $6.750$ map/mùa).
   - *Cơ chế phạt chết*: $0\%$ ở cấp 1-60, $5\%$ ở 61-80, $10\%$ ở 81-89, $15\%$ ở 90-99, và $25\%$ ở 99->100 (sàn 0%, không tụt cấp).
   - *Kết quả thực nghiệm*:
     - $p_{\text{death}} = 0.00\%$: $100.0\%$ đạt cấp 100, hoàn thành trung bình ngày thứ **$86.0$** (khớp hoàn hảo khung 80-90 ngày).
     - $p_{\text{death}} = 0.05\%$: $60.0\%$ đạt cấp 100, ngày thứ **$86.5$**.
     - $p_{\text{death}} = 0.10\%$: $29.0\%$ đạt cấp 100, ngày thứ **$87.1$**.
     - $p_{\text{death}} = 0.50\%$: **$0.0\%$** đạt cấp 100 (Cấp TB ngày 90: $99.17$).
     - $p_{\text{death}} \ge 1.00\%$: **$0.0\%$** đạt cấp 100 (Cấp TB ngày 90: $99.07$).
     - $p_{\text{death}} = 2.00\%$: **$0.0\%$** đạt cấp 100 (Cấp TB ngày 90: $96.58$).
   - *Kết luận*: Một lần chết ở cấp 99 trừ $25\%$ thanh EXP tương đương mất $\approx 375$ map sạch ($\approx 5$ ngày cày). Do đó người chơi có tỷ lệ chết $\ge 1\%$ mỗi map chắc chắn mắc kẹt tại cấp 99.

4. **Phân rã Test Suite 4 Cấp (Từ Quan sát 4 & 5)**:
   - Cần tối ưu thời gian phản hồi theo mô hình Kim Tự Tháp Kiểm Thử:
     - Tier 1 ($< 5\text{ s}$): Unit tests toán học, Static hygiene lint, Matrix drift check.
     - Tier 2 ($< 30\text{ s}$): Seeder verification, Quest DAG cycle check, Service integration.
     - Tier 3 ($< 60\text{ s}$): Security independent audit, Red Team penetration, Anti-dupe 2PC (Quyền VETO release).
     - Tier 4 (Nightly): Monte Carlo 1.000 players progression simulation, 1M CCU stress benchmark.

---

## 3. CAVEATS (GIỚI HẠN & GIẢ ĐỊNH)

1. **Giả định thời gian map endgame**: Tính toán mô phỏng giả định trung bình 1 map T16 tiêu chuẩn tiêu tốn 4 phút (15 maps/giờ). Nếu meta-build của người chơi quá nhanh (2 phút/map) hoặc quá chậm (8 phút/map), số lượng map mỗi ngày sẽ co giãn tương ứng, nhưng rào cản xác suất của tỷ lệ phạt $25\%$ vẫn giữ nguyên tính bất khả thi cho người chơi tử trận $\ge 1\%$.
2. **Phạm vi thẩm quyền Explorer**: Báo cáo chỉ thực hiện khảo sát, dẫn xuất công thức toán và chạy thử nghiệm mô phỏng độc lập trong thư mục tác tử. Không chỉnh sửa trực tiếp mã nguồn runtime dự án.

---

## 4. CONCLUSION (KẾT LUẬN & KIẾN NGHỊ HÀNH ĐỘNG)

1. **Bộ tham số toán học đã được chứng minh và đóng băng**:
   - Sử dụng công thức đường cong 7 phân đoạn trong mục 1.2 cho `game_design_matrix_seeder.py` và `LevelProgressionService`.
   - Sử dụng công thức $\eta = \exp(-0.60 \cdot (\Delta - 5))$ cho hàm `calculate_level_gap_multiplier`.
2. **Kế hoạch triển khai cho các Agent tiếp theo**:
   - `lead_systems_designer`: Cập nhật bảng seeder và thêm Node Keystone `GODHOOD_AVATAR_METAMORPHOSIS` vào `ascendancy_catalog.py`.
   - `lead_server_architect`: Hiện thực hóa `LevelProgressionService` (`server/world/level_progression_service.py`) và DTOs (`level_progression_types.py`).
   - `head_of_qa`: Viết unit tests khép kín (`tests/unit/test_level_progression.py`) và hoàn thiện script `tools/balance/simulate_level_progression.py` theo mã mẫu đã kiểm chứng.

---

## 5. VERIFICATION METHOD (PHƯƠNG PHÁP KIỂM CHỨNG ĐỘC LẬP)

Để kiểm chứng độc lập toàn bộ các kết quả trong báo cáo này, thực thi các lệnh sau trên Windows PowerShell:

1. **Kiểm chứng Đường Cong EXP 7 Phân Đoạn & Ràng Buộc Tỷ Lệ**:
   ```powershell
   python .agents/teamwork/explorer_survey_balance_1/scratch_curve_explorer.py
   ```
   *Điều kiện hợp lệ*: Total EXP $\approx 23.93$ tỷ; Cấp 1-20 chiếm $< 0.1\%$ ($0.0136\%$); Delta 99->100 $\ge 30\%$ tích lũy 1-99 ($33.00\%$); `Strict Monotonicity: True`.

2. **Kiểm chứng Mô Phỏng Monte Carlo 90 Ngày & Rào Cản Tử Trận 1%**:
   ```powershell
   python .agents/teamwork/explorer_survey_balance_1/test_sim.py
   ```
   *Điều kiện hợp lệ*: Cohort $p_{\text{death}} = 0.0\%$ hoàn thành cấp 100 trong $86.0$ ngày; Cohort $p_{\text{death}} \ge 1.0\%$ đạt $0.0\%$ tỷ lệ thành công.

3. **Kiểm tra Vệ Sinh Mã Nguồn & Báo Cáo**:
   ```powershell
   python tools/lint/check_code_and_doc_hygiene.py --strict
   ```

4. **Kiểm tra Cổng An Ninh Độc Lập**:
   ```powershell
   python tools/security/run_independent_security_audit.py --build-id "SURVEY-2026.1" --env STAGING
   ```
