The FengSpark Journal

Why We Verified All 73,019 Days

One calendar day, quietly wrong, changes your entire chart — the hexagram, the palaces, sometimes the whole birth year. So before launching our lunar tools, we checked every single day of two centuries. We found exactly four errors.

← All writings
Lunar CalendarZi Wei Dou ShuPlum BlossomVerificationThe FengSpark Study02 Jul 2026

There is a category of mistake in metaphysics software that never announces itself. The page loads, the chart renders, the stars have names, the verdict sounds wise — and the entire reading is built on the wrong day.

Zi Wei Dou Shu is cast from your lunar birth date. So is Shao Yong's Plum Blossom Oracle. But you, like every human being with a passport, know your birthday in the Gregorian calendar. Between the two lies a conversion most software either skips or approximates — and the approximation is invisible to the user, because a wrong lunar date still produces a perfectly plausible chart. Just not yours.

We know this temptation intimately, because our own divination engine's documentation contained a quiet confession: Gregorian values are used here as an approximation when a lunar conversion is unavailable. Honest — and unacceptable for a public tool. So before launching, we built the conversion properly and then did something slightly obsessive to it.

The two-century proof

The Chinese lunisolar calendar compresses beautifully: each year's month lengths and leap-month position fit in a single encoded integer. Two hundred and one integers cover 1900 to 2100. The catch is that a single wrong digit silently shifts every date for part of a year — and encoded tables are copied between codebases like folklore, errors included.

So we refused to trust the table. We compared it against an independent reference for every single day from 31 January 1900 to 31 December 2099 — all 73,019 of them.

The sweep caught exactly four wrong digits, in the entries for 1954, 1978, 1996 and 2057. Four errors that would have misdated anyone born or divining in those windows. We corrected them from ground truth and ran the sweep again: zero mismatches across two centuries. The exhaustive comparison now lives in our permanent test suite, alongside library-free anchors — nine Chinese New Year dates across the decades, the Dragon Boat and Mid-Autumn festivals, and the first days of the leap months of 2020, 2023 and 2025 — so the proof holds even where the reference is absent.

What a wrong day actually costs

Here is the part that makes calendar pedantry worth a reader's time. On 2 July 2026 at two in the afternoon, Shao Yong's time-casting formula — fed the raw Gregorian month and day, as approximating software does — produces the hexagram 坤为地, The Receptive. Fed the true lunar date for that same moment, it produces 坎为水, The Abysmal, with a different moving line and a different transformed hexagram.

Same moment. Same question. Different oracle. Not a nuance of interpretation — a different chapter of the Yi Jing entirely.

The boundary cases are crueller still. Born on 26 January 1990? Chinese New Year fell on the 27th, so your lunar year is not 1990 at all — it is 1989, the year of the Snake, with everything that changes downstream. Born in a leap month — say 閏二月 of 2023? Much software cannot even represent your birthday, let alone seat your Life Palace from it.

Exactness as ethics

Classical metaphysics asks for faith in the method. The least a practitioner — or a platform — owes in return is exactness in the arithmetic the method stands on. Shao Yong did not derive the 年月日時 formula so that a thousand years later it could be fed the wrong calendar for convenience.

Every FengSpark tool that touches the lunar calendar — the twelve palaces of /tools/ziwei, the falling petals of /tools/plum-blossom — now converts your Gregorian moment through the proven table before a single star is seated. The method note on each page says so, because a claim you cannot state publicly is not a standard, it is a hope.

Two centuries, checked day by day. It is the least the classics deserve.