VALIDATION NOTE 01 · RELEASED 25 SEP 2026
1,000 checks.
One visible exception.
A deterministic cross-engine audit of Four Pillars calculations from 1900–2100, plus every 2024 solar term at two boundary offsets. Data, assumptions, and the late-Zi convention difference are public.
Deterministically selected midday dates.
All four pillars matched in the ordinary set.
Two checks around each 2024 term.
The published late-Zi day-change convention.
WHAT THIS RESULT MEANS
Reproducible,
not predictive proof.
Software can be checked for consistent calendar and pillar calculations. That does not establish that symbolic interpretations predict life events, health, wealth, or relationships.
The ordinary set agreed
For 1,000 seeded midday samples from 1900 through 2100, lunar-typescript 1.8.6 and stem-branch 0.8.0 returned the same Year, Month, Day, and Hour Pillars.
Term boundaries agreed
At two hours before and after every 2024 solar term, the engines agreed on the Year and Month Pillars. Exact rows remain downloadable.
No outcome validation
The study does not use biographies, events, medical records, income, or relationship outcomes. It cannot test predictive performance.
REPRODUCTION METHOD
Inputs before
interpretation.
The generator is versioned with the site. Anyone can inspect the sampling logic, download every row, and reproduce the comparison in an Asia/Shanghai runtime.
Engines and conventions
| Role | Implementation | Version | License | Convention |
|---|---|---|---|---|
| Production | 6tail / lunar-typescript | 1.8.6 | MIT | EightChar.setSect(1); day changes at 23:00 |
| Comparison | h4x0r / stem-branch | 0.8.0 | Apache-2.0 | Independent astronomy and calendar implementation |
Deterministic ordinary sample
state = 0x5a17 · repeat 1,000 times
state = (state × 1103515245 + 12345) & 0x7fffffff
year = 1900 + (state % 201)
month = ((state >>> 8) % 12) + 1
day = 14 + ((state >>> 16) % 2)
local time = 12:00:00 · compare Year, Month, Day, Hour PillarsSolar-term boundary sample
For each of the 24 solar terms returned for 2024, the audit compares a timestamp two hours before and two hours after the term. The Year and Month Pillars are the key term-boundary assertion. Exact four-pillar agreement is also recorded, with late-Zi differences labelled.
DECLARED DIFFERENCE
23:30 is not
an accidental mismatch.
At 1988-02-15 23:30, Ziheng’s configured production convention advances the Day Pillar at 23:00. The comparison implementation does not make that same change.
| Fixture | Year | Month | Day | Hour |
|---|---|---|---|---|
| Ziheng production | 戊辰 | 甲寅 | 辛丑 | 戊子 |
| Comparison oracle | 戊辰 | 甲寅 | 庚子 | 戊子 |
Interpretation: this fixture documents a school/convention choice. Ziheng publishes it so another calculator’s different result is not automatically called an error.
DOWNLOADS · CC BY 4.0 DATA
Audit every
comparison row.
Original dataset files may be reused with attribution. Software code remains under its upstream license; the dataset license does not relicense third-party software.
Ordinary sample CSV
Flat field-by-field comparison for spreadsheets, notebooks, or independent audits.
Download CSV ↓Full JSON dataset
Machine-readable metadata, engine versions, convention note, summary, and samples.
Download JSON ↓Solar-term checks
Every 2024 solar term at minus two and plus two hours, with exact-match fields.
Download CSV ↓LIMITATIONS
What remains
outside the test.
A calculation audit narrows software uncertainty. It does not settle every traditional school, validate incomplete birth records, or demonstrate real-world forecasting.
- The ordinary sample uses dates on the 14th or 15th at noon; edge cases are handled in dedicated boundary tests rather than estimated by the headline rate.
- The solar-term set covers 2024. Automated tests separately protect the published late-Zi fixture and production snapshots.
- Both implementations may share historical conventions or source assumptions. Agreement is not the same as independent astronomical certification.
- True solar time depends on longitude and the correct historical UTC offset. Use the public converter to inspect that correction separately.
- No data here justifies guaranteed health, money, legal, employment, or relationship claims.
SOURCES
Primary references
and code lineage.
Repository and astronomy links let readers inspect the implementation and formula beyond this site.
- 6tail, lunar-typescript, production Four Pillars implementation, MIT.
- h4x0r, stem-branch, independent comparison implementation, Apache-2.0.
- NOAA Solar Calculation Details, equation-of-time reference for the separate solar-time tool.
- Ziheng Calculation Methodology, published chart rules and interpretation limits.
FAQ
Read the number
at the right scope.
Does this prove BaZi predicts events?
No. This is a software calculation study. It tests whether two implementations produce the same four pillar labels for declared inputs and rules.
Why not report 100% accuracy?
“Accuracy” would imply an established external truth for every convention. The study reports calculation agreement, shows the fixtures, and isolates the published late-Zi disagreement.
Can I reuse the data?
Yes. The generated dataset is released under CC BY 4.0 with attribution to Ziheng. Third-party code remains under its own licenses.
Ziheng Editorial. “BaZi Calculation Validation Study: 1,000 Cross-Engine Checks.” 25 September 2026. https://getziheng.club/en/research/chart-validation-study/Open free BaZi chart →