How Astralium keeps charts accurate: golden samples and regression
Golden samples and automated regression keep chart structure repeatable and checkable: fixed inputs vs a locked baseline across six disciplines and the export packet. Readings and timing sit outside verification.
TL;DR: Astralium checks chart structure with golden samples and automated regression: for the same input, the wheel and export data must stay stable, follow a stated convention, and be checkable side by side. Readings, useful gods, and timing calls are outside that scope.
Below: the verification method, three public cases, conventions per discipline, and a self-check. Whether to trust your chart depends on what you verify—not on what we say here.
Chart structure, not the reading
Charting sites run into two different problems that often get talked about as one: charts that are miscalculated—wrong hour, wrong calendar conversion, star positions that don't line up—and readings that are disputed—different traditions, useful gods, timing methods. Mixing the two makes any claim of accuracy meaningless. Our automated checks address only the first: for a fixed birth or cast input, the engine's structural output must stay stable and reviewable.
Specifically:
- Calendar math: Gregorian/lunar, solar terms, zi-hour day change, true solar time, time zones, daylight saving
- Chart structure: palaces, stars, stems/branches, six relations, shi/ying, Qi Men nine palaces
- Packet shape: the AI-copyable text stays aligned with the on-screen chart
Outside that scope: preset lucky/unlucky judgments, useful-god picks, timing calls, auto-written readings, and any “was this reading right” test. See our philosophy and why we don't interpret.
Golden sample → recompute → locked baseline → mismatch holds the release
Fixed input (golden sample) → engine recompute → compare to locked baseline → mismatch holds the release
Golden samples: for each discipline, we keep deliberately chosen birth or cast inputs plus expected output snapshots—calendar math, palaces/stars, stems/branches, and similar structural fields. They hit edges that break easily: zi-hour day boundaries, true solar hour shifts, solar-term handoffs, time zones, daylight saving, Jyotish nakshatra borders.
Automated regression: whenever a calculation rule or piece of logic changes, the full golden-sample set reruns. If output drifts from the locked baseline, the change does not ship until we know why, update the baseline, and document what changed. Same principle as our online charting picker post: rule changes must be checkable and documented.
Pre-release checks go beyond the wheel. The packet—the text you copy for AI—is held to the same standard in regression: field completeness, stable sections, the same facts as on screen. Packet format changes follow the same rule as engine changes: compare against fixed samples, update with a record. We don't publish the full template, but you can copy the same birth and compare side by side—see our AI-readable chart packet post and Part V below.
Why we don't publish the full golden-sample library: the full set and line-by-line rule tables are internal regression assets—publishing them hands over implementation detail and still wouldn't replace checking your own chart. Most charting sites keep this internal for the same reason—that alone isn't evidence either way. Spot-check evidence we do publish: three reproducible public cases (Part III), documented conventions (Part IV), and a three-step self-check (Part V).
Three cases you can recast right now
These three use public birth dates and places—no real user data. Pick one, enter the same details here, and check whether the fields below match. Further reading: true solar time; Zi Wei chart vs birthday-only AI: accuracy comparison.
| Case | Birth data & place | Result on this site (summary) | How to check |
|---|---|---|---|
| True solar time crosses an hour boundary | 1994-03-21 07:02, Beijing (~116°E) | Clock time falls in the Chen hour; after longitude and equation-of-time correction, ~06:40, in the Mao hour | Cast the same birth and place here; check the corrected time and hour in the packet |
| Zi Wei: cast chart vs birthday-only AI | 1994-03-21 07:20, Taipei, male | This site: true solar time ~07:26, Life Palace in Hai with Tian Fu (favorable), Fire-6 bureau; AI given only the birthday often places Life Palace in Mao with Tan Lang instead | Cast the same chart here, or see the accuracy comparison and homepage demo |
| BaZi: day pillar changes at zi hour | 2000-01-01 23:30, male; default rule changes the day pillar at 23:00 | Four pillars: 己卯 · 丙子 · 己未 · 甲子 | Cast the same input in BaZi here; check the day/hour pillars and the rule note in the packet |
Which calculation rules each discipline uses
After you cast, the packet states which convention was used. If your practitioner follows a different rule set, treat theirs as authoritative—but you should still know which one this site assumes, so you can tell whether a difference is a matter of method or an actual error. When we change a convention, we note it in product release notes, rerun golden samples, and update the locked baseline.
- BaZi: default midnight rule—day pillar changes at 23:00; true solar time is longitude correction only, no equation of time
- Zi Wei: longitude and equation of time
- Qi Men: default chai bu; zhi run optional in the tool, labeled in the packet
- Jyotish: Lahiri (Chitrapaksha) ayanamsa at birth time; whole-sign houses; mean Rahu/Ketu
- Western: tropical zodiac; house system stated in the packet and settings
Runtime basis, regression reference, and cross-checks per discipline:
| Discipline | Runtime basis | Regression / cross-check | Convention notes |
|---|---|---|---|
| Zi Wei | Open-source core + in-house layout and export | Golden-sample regression; full rerun after rule changes | Longitude and equation of time; rules stated in the packet |
| BaZi | Calendar library + in-house pillar rules | Golden samples (zi hour, solar-term edges) vs locked baseline | Default: day pillar changes at 23:00; true solar is longitude-only |
| Western astrology | Astronomical position library | Fixed coordinate snapshots vs baseline | Tropical zodiac; house system stated in the packet |
| Jyotish | In-house ayanamsa, nakshatra, and dasha calculation | Golden samples + Swiss Ephemeris almanac cross-check | Charting uses our own engine and Lahiri ayanamsa, not a third-party API |
| Liu Yao | In-house Jing Fang Na Jia | Hand-verified casts + 64-hexagram generation consistency | You enter the coin-toss results yourself |
| Qi Men | In-house rotating-plate timing | Chai bu, zhi run, and solar-term-edge golden samples | Default chai bu; zhi run optional, labeled in the packet |
How to check a chart on your own
Read the wheel and rule notes in the packet → copy the full text and check completeness → cast the same birth elsewhere and compare side by side
- Wheel and rule notes: the packet should state true solar time, the zi-hour rule, the Qi Men ju method, and similar. If your lineage differs, use your own convention
- Copy the packet: check field completeness and whether it matches the screen—gaps or drift are usually obvious
- Side by side: cast the same birth on another site and paste both texts; or try the three public cases in Part III. Whether a gap comes from the input or the charting is usually easy to tell
These three steps work on any charting site, not just this one. Golden-sample regression is how we maintain structural consistency; whether to trust a chart still comes down to checking it yourself—don't take “most accurate” at face value, and don't dismiss a site just because it keeps its full golden-sample library private.
What “42 automated checks” actually means
You may see “42 automated checks” on the homepage or product pages. That is the current total of fixed comparison items we maintain—chart output, copyable packets, true solar time, pattern flags, and other steps that affect what you see. Roughly three groups:
- Chart output: golden samples per discipline (see table below), including tricky hours and edge inputs. After a rule change, they rerun in regression and must match the locked baseline
- Copyable packet: the text you copy for AI is checked on its own in regression—field completeness, stable sections, alignment with the on-screen wheel
- Settings and derived fields: true solar time, star brightness, pattern labels, and similar—so the page doesn't drift from what was actually computed
| Discipline | Golden samples (approx.) | What regression covers |
|---|---|---|
| Zi Wei Dou Shu | 5 fixed natal cases | Twelve palaces, major/minor stars, transformations, decadal/lunar flow fields |
| BaZi (four pillars) | 6 cases (early/late zi hour, solar-term edges) | Pillars, ten gods, hidden stems, luck cycles, synastry fields |
| Western astrology | Person A/B fixed-coordinate snapshots | Natal, synastry, composite, timing, sukuyo packet shapes |
| Jyotish (Vedic) | 6 cases (DST, nakshatra edges) | D1 placements, houses, divisional charts, dasha; cross-checked vs Swiss Ephemeris reference |
| Liu Yao (Na Jia) | 5 hand-verified casts + 64-hexagram consistency | Na Jia, six relations, shi/ying, changed hex, fu shen, void, day/month relations |
| Qi Men Dun Jia | 15 cases (7 chai bu + 8 zhi run, term boundaries) | Ju, nine palaces, heaven/earth plates, doors/stars/spirits, dynamic chart fields |
The number grows as we add checks. It reflects regression coverage we maintain—not a guarantee on any one chart. Use Part V to check your own.
What's worth checking when you compare charting sites
Many charting sites are known for stacking disciplines side by side—Zi Wei, BaZi, astrology, Liu Yao, all in one place. How many disciplines a site offers and how carefully it maintains chart data are two different things. When comparing any site, including this one, two dimensions matter: whether the wheel follows a stated convention, and whether the text you copy away matches what's on screen. The table below lists common patterns on both.
| What to compare | Common pattern (multi-discipline aggregator sites) | This site's approach |
|---|---|---|
| What the site optimizes for | More sections, traffic, monetization (common pattern) | Repeatable, checkable chart and export for the same input |
| After a rule change | Whether output still matches earlier results is usually not publicly checkable | Golden-sample regression against a locked baseline; mismatch holds the release |
| What you copy away | May lack fields, drift from the wheel, or offer screenshots only | Structured packet from the same source as the on-screen chart |
| How to judge quality | Copy, number of disciplines offered, or subjective feel | Same birth, two copyable outputs pasted side by side |
The packet is worth checking on its own too—after casting, the structured text you copy should match the wheel; missing fields or drift usually show up quickly once you look. You can check this yourself: cast the same birth on another site and paste both copyable outputs side by side. What the packet includes: AI-readable chart packet. How to pick a site type: online charting picker.
Adding more disciplines and maintaining chart data quality are two separate jobs.
What this checking doesn't prove
A few things sit outside this checking entirely:
- Interpretation: even when structure checks pass, traditions, themes, and timing still depend on lineage and the reader. We don't ship preset lucky/unlucky judgments.
- Lineage conventions: early/late zi hour, Qi Men chai bu vs zhi run, house systems, ayanamsa choice—traditions don't fully agree on these. We document our convention and run golden-sample regression against it. If your tradition differs, treat yours as authoritative.
- Input accuracy: a wrong birth time, bad coordinates, or a mis-recorded coin throw—the engine reflects what was entered, not unstated intent.
- Test completeness: regression catches drift from a change early; it is standard engineering practice, not proof of zero errors. Fixes, new samples, and baseline updates are routine when something is off.
- AI reading: whether a model invents details or mixes systems is a usage question. See our accuracy comparison and full workflow.
What this means for you
When we say a chart “passes verification,” we mean structure matches the locked baseline, copyable text, and a documented convention—not that the reading is correct, and not a guarantee of your birth hour. Automated regression shows we maintain structural consistency seriously; whether to trust your chart still comes down to Part V or the public cases in Part III.
Astralium provides charting and structured export; themes, timing, and lucky/unlucky calls are for you, AI, or a practitioner you trust. Whether this fits your needs is something you decide from what you check, not from this post.
How does Astralium keep chart output accurate?
What is a golden sample?
Why don't you publish the full golden-sample set?
What does "42 automated checks" mean?
If verification passes, is the reading itself correct?
Traditions disagree on rules—which calculation method do you follow?
How is Astralium different from other charting sites?
What is Astralium?
To check for yourself, cast a chart and review the packet—all six disciplines use the same golden-sample regression process.