Engine Validation
How we prove the BaZi engine is correct — not just claim it. Every calculation layer below is locked by an automated regression suite. Any future change that breaks a verified case blocks deployment.
Verification Layers
Tests are layered from astronomy to derived rules. Sources of truth: astronomical computation (VSOP87 solar model, minute-precision solar terms), independent rule implementations (a second algorithm written separately, cross-checked), and dual-engine agreement (two full engines must produce identical pillars).
Public Validation Corpus
50 independently reproducible cases. These expected values were not generated by the production engine alone — each case was cross-validated by two independent engines plus astronomical anchor dates. Anyone can take any case below, enter it into any BaZi calculator (ours or a competitor's), and compare.
Expected values generated by dual-engine cross-validation (library calendar engine + astronomical engine, UTC-anchored day pillar) — not by the production engine alone.
How the chart is calculated Worked Examples →
10 full derivation chains BaZi Calculator →
Run your chart — free
How Truth Is Established
- No circular verification. We never use another astrology site's output as the expected answer — sites often copy each other's bugs. Instead: astronomical computation, independent rule implementations, and cross-engine agreement.
- Minute-precision boundaries. Solar-term switches are tested at one minute before and after the exact astronomical moment — not by calendar day, where most errors hide.
- Century-scale day pillars. 1900–2100 scanned with three independent algorithms (UTC-anchored arithmetic, library calendar, Julian-day method) all agreeing.
- Edge cases first. Kashgar 1 AM solar-time rollback, Sydney Southern-Hemisphere DST, luck-cycle start age of zero, 23:00 late-Zi boundary — cases normal users rarely hit, but which silently break naive engines.
Report generated: 2026-09-06T17:56:29.763Z · Suite runs on every engine release; a single failed assertion blocks deployment.