Quá trình audit hệ thống Tử Vi Đẩu Số (Backend Engine, Topology, Vận Hạn) đã phát hiện và xử lý dứt điểm các lỗi nghiêm trọng sau. Animator frontend chỉ chạy theo traceLog của API, không tự phát sinh dữ liệu.
1. Lỗi thuật toán an vòng 14 chính tinh nghiêm trọng
Triệu chứng
Sao Tử Vi và toàn bộ 13 chính tinh còn lại thường xuyên bị an sai cung. Lá số sinh ra không khớp với các trình an sao chuẩn.
Nguyên nhân
Thuật toán tinhCungTuVi trong tuvi-ansao.cjs dùng bảng tra cứu zig-zag thay vì công thức toán học. Mảng tra cứu lệch so với nguyên lý Đẩu Số đối với phần lớn Cục và ngày sinh. Khi Tử Vi sai, cả chùm Tử Vi, Thiên Phủ và Sát Phá Tham sai theo.
Patch
- Gỡ hoàn toàn bảng lookup zig-zag.
- Thay bằng công thức chuẩn: tìm X bù nhỏ nhất để (Ngày + X) chia hết cho Cục số, thương Y; từ Dần đếm thuận Y − 1; X lẻ thì lùi X, X chẵn thì tiến X.
- Sửa
anChumTuViđếm nghịch từ Tử Vi: Thiên Cơ (−1), Thái Dương (−3), Vũ Khúc (−4), Thiên Đồng (−5), Liêm Trinh (−8).
2. Lỗi topology cách cục «Giáp Mệnh» false positive
Triệu chứng
Hệ thống báo nhận diện cách cục Tử Vi Tả Hữu giáp ngay cả khi không hợp lệ (ví dụ sinh tháng 4, Tả Hữu đồng cung Mùi, Mệnh tại Ngọ).
Nguyên nhân
Check topology: 'GIAP' trong tuvi-core.cjs gom sao của hai cung liền kề vào một mảng rồi dùng .includes(). Nếu hai sao cùng nằm một bên cung, hàm vẫn trả true.
Patch
Trong checkPatterns(), với GIáp 2 sao: bắt buộc mỗi sao nằm ở một cung phân biệt hai bên, không chấp nhận đồng một phía.
3. Lỗi thuật toán Lưu Nguyệt
Triệu chứng
Cung Lưu Nguyệt (các tháng trong năm) không đổi động theo từng lá số.
Nguyên nhân
buildLuuNienForYear trong tuvi-routes.cjs dùng công thức tĩnh monthChiIndex = (m + 2) % 12 — Tháng Giêng luôn cứng vào Dần. Engine nhầm «Can Chi của tháng âm lịch» với «Cung Lưu Nguyệt hạn» của Đẩu Số.
Patch — Thuyết Đẩu Quân
- Khởi Tháng Giêng: từ cung Lưu Thái Tuế đếm nghịch theo tháng sinh, rồi đếm thuận theo giờ sinh.
- Từ cung Tháng Giêng, đếm thuận mỗi cung một tháng (Tháng 2 … 12).
4. Lỗi mapping Tứ Hóa Thiên Can
Triệu chứng
Một số sao nhận Tứ Hóa lệch với tuổi Canh và Nhâm giữa tuvi-core.cjs, tuvi-schools.cjs và frontend tuvi-reading.js.
Patch
- Canh: Nhật – Vũ – Âm – Đồng (Thái Dương Lộc, Vũ Khúc Quyền, Thái Âm Khoa, Thiên Đồng Kỵ).
- Nhâm (Trung Châu): Lương – Vi – Phủ – Vũ (Thiên Lương Lộc, Tử Vi Quyền, Thiên Phủ Khoa, Vũ Khúc Kỵ). Nam phái giữ Khoa = Tả Phụ.
5. Thân cư — công thức đúng, hiển thị thiếu cung vị
Kiểm chứng
tinhCungThan = (1 + tháng + giờ) mod 12 khớp đếm cổ điển (Giêng tại Dần, thuận giờ). Thân cư Dần khi tháng + giờ ≡ 1. Giờ Tý/Ngọ → Mệnh đồng cung Thân.
Lệch UX / dữ liệu
- UI chỉ in địa chi (
Thân cư: Dần) — dễ nhầm Chi «Thân» 申; thiếu Thân cư cung vị đời. menhChu/thanChu/amDuongtừng luôn trống vìlapLaSokhông tính.
Patch
Gắn cungThan.cungVi; tính Mệnh chủ / Thân chủ / Âm Dương; UI hiện dạng Thân cư: Mệnh · Dần.
Tổng kết
Vòng audit đã vá các lỗi thuật toán cốt lõi. Lá số từ Backend Engine đồng bộ hơn với toán lý Tử Vi Đẩu Số; luồng Animator chỉ playback traceLog nên không lệch tĩnh/động.