Lab · Bát Tự · Báo cáo kỹ thuật

Báo cáo Audit & Vá Lỗi Engine Bát Tự (Tứ Trụ)

Thập Thần · Quan hệ · Thần Sát · TST · Đại Vận · T8/2026 · bản Markdown

Audit services/bazi đã phát hiện và vá các lỗi thuật toán dưới đây. Can Chi trụ qua tiết khí / JDN vẫn là phần vững; lệch chủ yếu ở lớp Thập Thần (bảng tra), quan hệ, vài thần sát, giờ thực và khởi vận.


1. Thập Thần — TEN_GODS_MAPPING đảo Thực / Thương nghiêm trọng

Triệu chứng

getTenGodDirect / bảng mapping lệch so với getTenGod() (công thức âm dương).

Nguyên nhân

Với mỗi Nhật Chủ, cặp Can «ta sinh» gán ngược Thực Thần ↔ Thương Quan (ví dụ Giáp–Bính ghi Thực thay vì Thương).

Patch

Đồng bộ mapping: cùng âm dương = Thương Quan, khác = Thực Thần. Tài / Quan / Ấn giữ nguyên.


2. Hợp / Xung / Hại — lookup cặp hỏng vì .sort()

Triệu chứng

Nhiều Lục Hợp, Lục Xung, Lục Hại, Thiên Can Hợp không hiện.

Nguyên nhân

[a,b].sort().join('-') rồi «reverse» cũng đã sort — cùng một chuỗi; khóa bảng là thứ tự cố định (Tý-Sửu), không phải thứ tự từ điển.

Patch

lookupUnorderedPair(table, a, b) thử cả a-bb-a. Áp dụng trụ, Lưu Niên, chi tiết Đại Vận.


3. Thần Sát — Kiếp Sát / Vong Thần / Cô Thần / Quả Tú

Kiếp Sát và Vong Thần từng giống nhau và lệch tam hợp. Cô Thần / Quả Tú lệch mùa.

Patch: KS 申子辰→巳 / 寅午戌→亥 / …; VT đối xung. Cô/Quả theo mùa cổ điển (寅卯辰→巳/丑, …).


4. True Solar Time cộng hai lần

calculateFourPillars đã chỉnh giờ bằng getTrueSolarTimeForBazi, rồi còn truyền longitude vào getHourCanChi.

Patch: Chỉ truyền giờ/phút đã chỉnh; không truyền longitude lần hai.


5. Đại Vận khởi vận — đếm cả Trung khí

Khoảng cách lấy mọi tiết khí (isStart), gồm cả khí → tuổi khởi vận thấp hơn lý thuyết. Tử Bình chỉ đếm tiết (trong engine: type: 'minor').

Patch: isStart && type === 'minor'; timezone lá số; tuổi tối thiểu 1.


6. Lưu Niên / luận Đại Vận chi tiết


Tổng kết

Sáu nhóm lỗi trên đã vá. Rủi ro còn lại: Dụng Thần heuristic, một số thần sát chưa gắn vào analyzeShenSha, chính sách ngày khi giờ Tý / TST qua nửa đêm.

→ Mở Bát Tự · Về công cụ · Markdown · Audit Tử Vi

sw·362684