Public calculation lab

Bazi Calculation Benchmarks

Twenty-six synthetic cases make the engine's boundary behavior inspectable: what went in, what must come out, and which convention explains the result.

26

synthetic cases

6

boundary categories

0

customer records

Verification contract

Recalculated before release

Every case is computed by the production engine during the site build. A release fails if a pillar, correction receipt, UTC/DST offset, direction, reference Jie, or start timestamp drifts from its pinned expectation.

  1. 01

    Synthetic input

    A fixed date, zone, longitude, and gender exercise one boundary.

  2. 02

    Pinned facts

    The expected output is versioned in the repository, not fetched from a customer chart.

  3. 03

    Build gate

    The current engine recalculates the case and blocks publication on a mismatch.

calculation-benchmarks-v1 · reviewed 2026-09-05

Solar-term boundaries

6 cases

Year and month pillars switch at Lichun and the relevant Jie, not at January 1 or the first day of a Gregorian month.

Historical time zones

4 cases

The same wall-clock hour can carry a different historical UTC or daylight-saving offset depending on place and date.

True-solar crossings

4 cases

Longitude and Equation of Time corrections can move a record across an Hour Pillar or civil-day boundary.

Zi Hour and midnight

4 cases

After true-solar normalization, the current sect 2 contract starts Zi Hour at 23:00 and changes the Day Pillar at 00:00.

Unknown birth time

2 cases

An internal noon placeholder must not escape as an invented Hour Pillar, exact solar time, or exact Luck Pillar start.

Luck direction and nearby Jie

6 cases

Year-stem polarity and gender determine direction; the selected Jie and raw interval determine the start receipt.