How we calculate and how we write
Everything on Lunonis starts with an astronomical computation. Here is exactly what we compute, how we check it, how the horoscope texts are written from it, and where the limits are.
Positions: our own ephemeris, checked against Swiss Ephemeris
Planetary positions come from our own engine (astro-core), built on the open-source astronomy-engine library. Positions are geocentric and tropical, measured from the true equinox of date, the standard of Western astrology. Houses are Placidus for birth charts (whole-sign near the poles, where Placidus breaks down) and whole-sign solar houses for Sun-sign horoscopes.
Every build is tested against reference values from Swiss Ephemeris, the library most astrology software uses: the Sun, Moon and planets must agree within one arcminute, the Ascendant and Midheaven within one arcminute, and Placidus house cusps within two. Moon phases are checked against NASA’s published lunation times.
Sky facts: what we compute for every period
For each horoscope period (a UTC day, a Monday–Sunday week, a month, a year) we compute the Moon’s signs, new and full moons, eclipses, planetary stations and retrograde periods, sign changes and the exact major aspects between the planets (conjunction, sextile, square, trine, opposition). Times are UTC and good to about a minute; stations, where a planet barely moves, to a few minutes.
A void-of-course Moon is the span from the Moon’s last exact major aspect to the Sun or a planet (Mercury to Pluto) until it enters the next sign. Each Sun sign then gets the same sky with its solar houses, counting its own sign as the 1st house. These facts are shown at the top of every horoscope page, so you can check the text against them.
Texts: written by AI from the computed facts only
The horoscope texts are written by a language model (OpenAI). It receives the computed facts for the sign and period and nothing else, with rules: use only those facts, never invent or recalculate a position, date or aspect; no predictions about health, money, legal matters, pregnancy or death; no lucky numbers, colours or tarot. The model never computes anything.
Every text then passes automated checks before it is published: the expected sections in the expected order, word counts within bounds, the right script for the language, and no AI meta-talk, placeholders or markdown. A text that fails is discarded and written again. The event guides on the sky calendar are written by hand from the computed numbers.
What a person reviews, and what not
People write and maintain the computations, the tests, the prompt and the rules above, and read samples of the texts. We do not hand-edit every daily horoscope: there are twelve signs in eleven languages every day, and saying otherwise would not be true.
Horoscopes in languages that a native speaker has not reviewed yet are published for readers but kept out of search engines until they are. A Sun-sign horoscope is general by nature; a personal forecast reads the same sky against your own birth chart.
Last updated: 23 October 2026