Real data about you, and real data from the sky
Leyra is being built around two foundations: getting to know you as an individual, and grounding the sky layer in real astronomical data. The production path now checks NASA/JPL Horizons for the current Sun, Moon and visible planets, parses observer-centred ecliptic longitude into zodiac positions where available, and now has a guarded natal-sky pilot so birth date, time and place can be normalized into a per-user NASA/JPL birth-sky cache before readings use it.
Sunday, 31 May 2026
Current real-sky context: Full Moon moon, about 100% illuminated and waning; seasonal Sun context: Gemini; next full moon threshold: 31 May 2026. NASA/JPL Horizons current-sky positions are parsed and available: Sun 09°35' Gemini; Moon 05°35' Sagittarius; Mercury 27°25' Gemini; Venus 14°13' Cancer; Mars 09°01' Taurus; Jupiter 23°53' Cancer; Saturn 12°10' Aries. Close major aspects: Venus square Saturn (orb 2.1°); Sun sextile Saturn (orb 2.6°); Sun opposition Moon (orb 4.0°). Use at most one or two of these as real astronomical source signals, without exposing raw table rows. Birth-sky precision is incomplete or unresolved; do not claim natal positions, rising sign or houses. Rising-sign pilot is not available for this user; do not claim rising sign or houses. Whole-sign house pilot is not available; do not claim houses. Use sky data as symbolic weather only, never as fate or certainty.
NASA/JPL status: ok_parsed_positions
Cached bodies: Moon, Sun, Mercury, Venus, Mars, Jupiter, Saturn
Parsed positions: Sun 09°35' Gemini; Moon 05°35' Sagittarius; Mercury 27°25' Gemini; Venus 14°13' Cancer; Mars 09°01' Taurus; Jupiter 23°53' Cancer; Saturn 12°10' Aries
Close major aspects: Venus square Saturn (orb 2.1°); Sun sextile Saturn (orb 2.6°); Sun opposition Moon (orb 4.0°)
Cache generated: 2026-05-31 15:36:47Z
NASA/JPL Horizons daily cache is parsed into current observer-centred ecliptic zodiac positions, with deterministic moon/solar calculations retained as a safe fallback.
NASA/JPL data is real astronomical source data, but Leyra interprets it symbolically. The rising-sign pilot is calculated only from resolved birth time/place. update195 adds a whole-sign house pilot as a broad life-area lens; quadrant house cusps and deterministic chart claims remain blocked.
Birth and current positions, as a visual sky map
This is the first GUI layer for the NASA/JPL real-sky work: current positions remain visible as source data, while the birth-position ring is populated only when a parsed natal cache exists.
The map is a visual guide built from the sky data shown below. Tap a marker to see its position and reflective meaning.
Distance cue: distances are shown as broad lanes unless an exact Earth range is available.
Tap a planet or luminary
current/birth layer · position · longitude
Choose a marker on the sky map to see how Leyra treats it as a reflective cue. This is symbolic guidance, not a fixed prediction.
Distance cue: relative from the Earth/user point unless exact range is parsed.
| current | Position | Longitude | Distance cue |
|---|---|---|---|
| ☉ Sun | 09°35' Gemini | 69.580° | solar anchor - about 1 AU / 150 million km on average |
| ☾ Moon | 05°35' Sagittarius | 245.589° | closest natural satellite - about 384,400 km on average |
| ☿ Mercury | 27°25' Gemini | 87.409° | inner planet - exact Earth range varies and is not parsed yet |
| ♀ Venus | 14°13' Cancer | 104.214° | inner planet - can be one of the closer planets, exact range not parsed yet |
| ♂ Mars | 09°01' Taurus | 39.018° | neighbouring outer planet - exact range varies and is not parsed yet |
| ♃ Jupiter | 23°53' Cancer | 113.880° | outer giant - far beyond the inner planets, exact range not parsed yet |
| ♄ Saturn | 12°10' Aries | 12.160° | outer ringed giant - far-system cue, exact range not parsed yet |
Your birth-sky ring is only filled when your birth date, time and place have been saved and calculated.
Boundary: The visual map is a confidence and comprehension layer over parsed longitude evidence; it must not imply fixed fate, hidden precision or unsupported chart claims.
Current sky, translated into zodiac language
| Body | Zodiac position | Longitude | Latitude | Parser |
|---|---|---|---|---|
| Sun | 09°35' Gemini | 69.580° | -0.000° | parsed_observer_ecliptic_lon_lat |
| Moon | 05°35' Sagittarius | 245.589° | -4.988° | parsed_observer_ecliptic_lon_lat |
| Mercury | 27°25' Gemini | 87.409° | 2.131° | parsed_observer_ecliptic_lon_lat |
| Venus | 14°13' Cancer | 104.214° | 1.907° | parsed_observer_ecliptic_lon_lat |
| Mars | 09°01' Taurus | 39.018° | -0.636° | parsed_observer_ecliptic_lon_lat |
| Jupiter | 23°53' Cancer | 113.880° | 0.411° | parsed_observer_ecliptic_lon_lat |
| Saturn | 12°10' Aries | 12.160° | -2.257° | parsed_observer_ecliptic_lon_lat |
- Venus square Saturn (orb 2.1°)
- Sun sextile Saturn (orb 2.6°)
- Sun opposition Moon (orb 4.0°)
Real personal data, real sky data — only where proven
Birth details
Leyra can use date of birth for sign context, and optional birth time/place for deeper sky work where the user chooses to provide them.
Location normalization
Known places and explicit coordinates can now be normalized into a timezone and Horizons site coordinate. Unknown places are not guessed.
Natal sky cache
birth time and place are incomplete, so do not claim rising-sign, houses or full natal/current sky matching.
Birthplace capture now accepts either a recognised town/city or explicit coordinates in the form latitude, longitude. This lets Leyra make the birth-sky path more reliable without pretending to know an unknown place.
When a natal cache is not available, Leyra must not claim birth-sky planetary positions. Rising sign is allowed only when the update194 calculation has date, time, timezone and coordinates; update195 whole-sign houses are only a guarded broad life-area overlay.
Prepared before the reading asks for it
update196 adds a background natal-cache worker. When a user has birth date, birth time and a resolved place or coordinate pair, Leyra can refresh that user-specific NASA/JPL birth-sky cache outside the live reading request, then use it only when the parsed cache is present.
This keeps the product promise strong without making a reading wait on an external ephemeris call, and it keeps the public claim honest: no cache, no natal-position claim.
Birth moment + coordinates → a personal ascendant lens
Leyra now has a guarded tropical rising-sign/ascendant calculation path. It uses the resolved UTC birth moment, resolved latitude/longitude and local sidereal time. That gives the reading another genuinely individual layer for people who choose to provide birth time and place.
Rising sign may be used as one gentle personal lens only when calculated. Whole-sign houses may be used as a broad life-area pilot only when the rising-sign calculation is ready; quadrant house cusps and full chart claims remain blocked.
| Fixture | Status | Expected | Actual | Detail |
|---|---|---|---|---|
| J2000 London midday | pass | Libra | Libra | 24°01' Libra; longitude 204.025°; UTC 2000-01-01 12:00; London, UK; LST 280.333°; tropical ascendant 24°01' Libra |
| Cancer same-sign proof A | pass | Pisces | Pisces | 25°51' Pisces; longitude 355.846°; UTC 1990-07-01 11:00; London, UK; LST 84.110°; tropical ascendant 25°51' Pisces |
| Cancer same-sign proof B | pass | Leo | Leo | 01°22' Leo; longitude 121.360°; UTC 1985-07-04 21:45; Edinburgh, UK; LST 245.906°; tropical ascendant 01°22' Leo |
Rising sign → broad life-area map
update195 adds a guarded whole-sign house overlay. When the rising-sign pilot is ready, Leyra can map zodiac signs into twelve broad life areas. This is deliberately not quadrant house-cusp precision, and it is not used for fate claims.
birth_place_missing
| Fixture | Status | Rising | House | Expected | Actual | Detail |
|---|---|---|---|---|---|---|
| Pisces rising house map | pass | Pisces | 1 | Pisces | Pisces | House 1 is Pisces; identity and first response. |
| Pisces rising relationship axis | pass | Pisces | 7 | Virgo | Virgo | House 7 is Virgo; relationships and direct partnership. |
| Leo rising home axis | pass | Leo | 4 | Scorpio | Scorpio | House 4 is Scorpio; home, roots and emotional base. |
| Libra rising vocation axis | pass | Libra | 10 | Cancer | Cancer | House 10 is Cancer; calling, visibility and long-term direction. |
Personal readings should not be generic star-sign text
Consented personal context
Leyra uses profile basics, Inner Compass, Reflection Profile, daily check-ins, memory, active themes and boundaries only where the user has chosen to provide them.
NASA/JPL current sky
The live cache is designed to bring real current sky evidence into readings without slowing generation or exposing raw technical rows to the user.
Birth sky compared with now
birth time and place are incomplete, so do not claim rising-sign, houses or full natal/current sky matching.
Same star sign does not mean same reading
Leyra is designed so two people with the same sun sign can still receive different guidance. The shared sign is only one layer. Birth date, optional birth time/place, Reflection Profile, Inner Compass, daily check-ins, memory, themes, boundaries and current NASA/JPL-backed sky context all become consented signals that can change the reading.
Shared starting point
Two Cancer users may share a solar sign, but that should not force identical advice or repeated template openings.
Different personal signals
Guidance style, reassurance need, current themes, boundaries and memory should change the tone and practical focus.
Different sky readiness
Birth time/place and NASA/JPL natal cache status decide whether Leyra can safely use birth-sky comparison, or must stay with current sky and profile signals only.
What Leyra can honestly say it uses
NASA/JPL Horizons current sky
Live cache is using NASA/JPL Horizons and the parser has converted the current sky into zodiac positions: Sun 09°35' Gemini; Moon 05°35' Sagittarius; Mercury 27°25' Gemini; Venus 14°13' Cancer; Mars 09°01' Taurus; Jupiter 23°53' Cancer; Saturn 12°10' Aries.
Current zodiac longitudes
Sun, Moon and planet rows are converted from observer-centred ecliptic longitude/latitude into named zodiac positions for prompt evidence and admin proof.
Moon phase
Calculated in-app from a known new moon anchor and the mean synodic month as a safe fallback, with NASA/JPL Horizons positions used when the daily cache is available.
Solar season
Derived from the calendar date using a tropical zodiac season table. When parsed NASA/JPL positions are present, the current Sun position gives the stronger real-sky signal.
Birth details
Birth date, optional birth time and optional birth place are already saved/editable/exportable/deletable through the profile and privacy controls.
Birth sky and current sky matching
Birth place normalization, timezone conversion and NASA/JPL natal snapshot caching are now in place for admin-piloted users. Readings only claim natal positions when the per-user cache exists.
Rising sign / ascendant pilot
update194 adds fixture-tested tropical rising-sign calculation from the UTC birth moment, resolved coordinates and local sidereal time. It may be used as a gentle personal lens only when birth date, time and location resolve cleanly.
Whole-sign house pilot
update195 adds the whole-sign house calculation path, but it remains unavailable until a fixture-tested rising sign is available for the user.
Natal cache automation
update196 refreshes eligible user-specific NASA/JPL natal caches in the background, outside the reading request path, so personal sky evidence can be ready before paid readings need it.
Astronomy-grounded does not mean fate-based
- No fixed fate: The sky context is a symbolic lens. It must never be used to claim destiny, certainty, doom, health outcomes or unavoidable relationship events.
- No hidden precision: If birth time or place is missing, Leyra must say so internally and must not imply rising-sign, house or exact chart precision. Rising sign is only allowed when the update194 calculation is ready; update195 whole-sign houses are only a broad life-area overlay and never quadrant house-cusp precision.
- One gentle detail: Prompts may use one current sky detail naturally. They should not turn readings into technical astrological reports.
What still needs building before full chart-level claims
- Expand birth-place geocoding beyond the local gazetteer or require explicit coordinates for unknown places.
- Monitor update196 natal-cache automation and surface stale/missing caches for Pro users before paid traffic.
- Create admin fixture tests comparing generic sign-only output with NASA/JPL-backed personal sky output.
- Add production fixtures for known dates so zodiac parsing cannot regress silently.
- Check update195 whole-sign house overlays against external chart references before using them prominently in marketing.
- Add quadrant house cusps only after a separate fixture-tested house-system phase.