Перейти к содержимому
ВЕЛАНТРА

Как мы считаем

Ниже собрано всё, что можно перепроверить: чем считаются положения планет, откуда берётся часовой пояс места рождения, что происходит с отчётом перед отправкой и где проходит граница метода.

У каждого утверждения на этой странице указан файл или скрипт, которым его можно проверить. Утверждения без такого подтверждения сюда не попадают — и одно такое мы отсюда убрали, об этом ниже честно написано.

Обновлено:

Положения планет

Астрономия в наших расчётах не самодельная. Положения считает библиотека astronomy-engine, и результат можно сверить с любым планетарием.

  • Положения планет считает библиотека astronomy-engine. В расчёт идут 10 планет, асцендент, середина неба и 12 домов.

    Проверить: apps/backend/src/utils/astrology.ts, зависимость astronomy-engine ^2.1.19 в apps/backend/package.json

  • Аспектов пять: соединение, секстиль, квадрат, трин и оппозиция. Орбисы фиксированные и разные для разных аспектов: 8° у соединения, трина и оппозиции, 7° у квадрата, 6° у секстиля.

    Проверить: массив ASPECTS в apps/backend/src/utils/astrology.ts

  • Профессиональные астрологические программы обычно считают по Swiss Ephemeris. 1 октября 2026 года мы сверили с ней свой расчёт на 53 условных картах: города России от Москвы до Анадыря, Европа, Индия, Иран, южное полушарие, места за полярным кругом, ночи перевода часов и пояса с получасом. Планеты разошлись с эталоном не больше чем на 18 угловых секунд, Луна — на 2,4 секунды, асцендент, середина неба и границы домов — меньше чем на одну секунду. Знаки, дома и ретроградность планет совпали во всех 53 картах. Сверка разовая: каждый заказ отдельно с эталоном не сверяется. Она проверяет только числа расчёта. Текст разбора проверяется иначе — об этом раздел «Что происходит с отчётом перед отправкой».

    Проверить: apps/backend/src/scripts/sverka-swiss/ — набор карт nabor.json, скрипты и отчёт rezultaty/2026-10-01-svod2/otchet.md; эталон — Swiss Ephemeris 2.10.03 через pyswisseph, встроенная теория Moshier, без файлов эфемерид

  • Чего эта сверка не видит. Историю часовых поясов и мы, и эталон берём из одной базы IANA, поэтому ошибку в самой базе сверка не покажет. Для части зарубежных городов наша программа знает пояса до 1970 года хуже этой базы. В отдельном наборе крайних случаев из 64 карт так разошлась одна: Амстердам, 1930 год, 20 минут. Остальные 63 совпали.

    Проверить: раздел «Что сверка не ловит» в apps/backend/src/scripts/sverka-swiss/README.md; карта rv47 в rezultaty/2026-10-01-svod2/otchet-rv.md

Часовой пояс места рождения

Это место, где ошибаются чаще всего. Расчёт идёт по всемирному времени, и местное время рождения надо в него перевести. Пояса в России менялись многократно, поэтому сегодняшнее смещение к дате рождения может не иметь никакого отношения.

  • Часовой пояс берётся не сегодняшний, а тот, что действовал в месте рождения в сам момент рождения — с точностью до часа и минуты, с учётом ночи перевода часов и поясов с получасом и 45 минутами (Индия, Иран, Непал). Историческое смещение берётся из системной базы часовых поясов, а не из таблицы «регион → часы». Если указанного времени в ночь перевода не было (часы перевели вперёд), берётся смещение до перевода; если оно было дважды (часы перевели назад) — первое, летнее.

    Проверить: функция localToUtc в apps/backend/src/utils/moment-rozhdeniya.ts и birthMoment в apps/backend/src/utils/geocode.ts

  • Города всего мира — 225 тыс. населённых пунктов из открытой базы GeoNames (geonames.org, лицензия CC BY 4.0): у каждого координаты и свой часовой пояс, поэтому Милан считается по поясу Италии, а Екатеринбург — по уральскому. Отдельно заведены советские названия — Ленинград, Свердловск, Горький, Куйбышев: клиенты, рождённые до 1991 года, пишут город так, как он назывался тогда.

    Проверить: apps/backend/data/world-cities.tsv.gz и apps/backend/src/utils/world-cities.ts (выгрузка GeoNames 28.09.2026), свой список с советскими названиями — массив CITIES в apps/backend/src/utils/cities.ts

  • Город нужен ради координат, а не ради названия. Начните вводить и выберите вариант из подсказки — тогда берётся точка из справочника, а не догадка по написанию.

    Проверить: подсказки в компоненте CityInput, разрешение города через resolveCity

Движок матрицы судьбы

Матрица считается формулами по дате рождения, без обращений к нейросети. Значит, её можно проверить целиком и на всех датах сразу, что мы и делаем.

  • Движок сверен с методикой и проходит 33 проверки. Отдельно проверяется, что на всех датах с 1900 по 2030 год ни одна позиция не выходит за диапазон 1–22, а кармический хвост даёт ровно те 26 комбинаций, что опубликованы в методике.

    Проверить: прогон packages/shared/scripts/matrix-verify.mjs — 33 строки OK, скрипт падает при расхождении

  • Скрипт умеет отличать устаревшие записи в базе от новых и пересчитывает сохранённые позиции от даты рождения, а не доверяет тому, что лежит в базе.

    Проверить: раздел «распознавание устаревших записей» в том же скрипте

Карта Дизайна человека

Бодиграф — результат астрономического расчёта, а не таблица соответствий по дате. Проверять его удобно тем, что схема бинарна: центр либо закрашен, либо нет.

  • Движок сверен с каноническими границами системы: ворота 41 начинаются на 02°00′ Водолея — это же момент Rave New Year, на каждую сторону приходится 13 активаций вместе с обоими лунными узлами, а сторона Дизайна отстоит ровно на 88° движения Солнца.

    Проверить: прогон apps/backend/src/scripts/hd-selftest.ts — проверки падают при расхождении, код возврата 1

  • До 19 августа 2026 года на сайте стояла фраза о сверке со Swiss Ephemeris, хотя такой сверки тогда не было. Мы её сняли. Настоящую сверку сделали 1 октября 2026 года, она описана в разделе «Положения планет». В неё вошла натальная карта: планеты, асцендент и дома. Расчёт бодиграфа в неё не входил: он пользуется той же библиотекой astronomy-engine, а границы ворот проверяет скрипт из пункта выше.

    Проверить: история правки в комментарии к apps/backend/src/scripts/hd-selftest.ts; что именно сверялось — apps/backend/src/scripts/sverka-swiss/README.md

Что происходит с отчётом перед отправкой

Между «текст сгенерирован» и «файл ушёл покупателю» стоит автоматический контроль. Он появился после того, как в отчёты просачивались технический мусор и оборванные разделы. В конце сентября 2026 года к нему добавился сверщик фактов: расчёты были верны, а пересказ расчёта в тексте — не всегда.

  • Готовый отчёт проходит автоматическую проверку на брак: технический мусор в тексте, оборванные и слишком короткие разделы, пустые расчёты, дубли позиций в таблице, планета не в том знаке или доме. Список признаков меняется вместе с проверкой, поэтому их число мы не называем.

    Проверить: коды дефектов уровня blocker в apps/backend/src/modules/pdf/pdf-quality-gate.ts

  • Сверщик фактов сравнивает фразы готового текста с расчётом из того же документа. Это программа, а не нейросеть: правила записаны кодом, и один и тот же текст всегда получает один и тот же результат. У разных разборов сверяется разное — смотря что в документе посчитано:

    • Разбор натальной карты, Полная натальная карта — программа сверяет с расчётом: знаки и дома планет; градусы и аспекты; сколько планет в знаке, стихии и доме, какие дома пустые; фазу Луны при рождении.
    • Детская натальная карта — программа сверяет с расчётом: знаки и дома планет; градусы и аспекты; сколько планет в знаке, стихии и доме, какие дома пустые; фазу Луны при рождении.
    • Экспресс-вопрос. Знаки планет в ответе автоматика с расчётом не сверяет: таблицы положений в экспресс-ответе нет.
    • Прогноз на год — программа сверяет с расчётом: знаки и дома планет вашей натальной карты; градусы и аспекты; в прогнозе — сроки транзитов Юпитера, Сатурна и дальних планет: когда аспект точен и когда планета ретроградна. Остальной прогноз автоматика не сверяет.
    • Совместимость (синастрия) — программа сверяет с расчётом: знаки и дома планет в карте каждого из вас; сколько планет в знаке, стихии и доме, какие дома пустые; фазу Луны при рождении.
    • Ваш год: соляр — программа сверяет с расчётом: знаки и дома планет натальной и солярной карт; где в году планета ускоряется, а где замедляется.
    • Разбор матрицы судьбы, Матрица судьбы, полная расшифровка — программа сверяет с расчётом: есть ли названные арканы в вашей матрице; ещё — названия арканов по их номерам. Позицию аркана автоматика не сверяет.
    • Разбор совместимости пары, Совместимость по матрице судьбы — программа сверяет с расчётом: у кого из вас стоит названный аркан; правда ли «общий» аркан есть у обоих; числа центра, талантов, предназначений и кармического хвоста каждого из вас; ещё — названия арканов по их номерам.
    • Нумерологический разбор, Нумерологический портрет — программа сверяет с расчётом: есть ли среди ваших чисел те, что текст называет числом жизненного пути, души, судьбы или имени. Какое число на какой позиции, автоматика не сверяет.
    • Денежный код, базовый разбор, Финансовый код, полный разбор с циклами по годам — программа сверяет названия арканов по их номерам. Денежное число и позиции матрицы в тексте автоматика с расчётом не сверяет.
    • Карта предназначения — программа сверяет названия арканов по их номерам. Позиции предназначения в тексте автоматика с расчётом не сверяет.
    • Разбор Дизайна человека, Полный Дизайн человека — программа сверяет с расчётом: тип Дизайна человека, который называет текст.
    • Премиум + прогноз на год — программа сверяет с расчётом: знаки и дома планет вашей натальной карты; градусы и аспекты; сколько планет в знаке, стихии и доме, какие дома пустые; фазу Луны при рождении. Прогноз на 12 месяцев автоматика не сверяет.
    • Совместимость по Дизайну человека. Тип каждого из пары автоматика с расчётом не сверяет.

    Проверить: функция сверитьФакты в apps/backend/src/modules/pdf/sverka-faktov.ts, сверка градусов и аспектов в aspect-check.ts, знаки, дома, числа и тип — в pdf-quality-gate.ts; какие коды стоят за каждой строкой — apps/web/src/lib/avtoproverka.ts

  • У любого разбора сверщик ищет ещё две вещи: подсказку из задания, которая попала в текст вместо факта, например «(название аркана из расчёта)», и опечатки в терминах: «Скорпий», «сектиль», «аппозиция».

    Проверить: найтиПодсказкиЗаглушки и словарь ОПЕЧАТКИ в apps/backend/src/modules/pdf/sverka-faktov.ts

  • Сверщик видит только то, что можно проверить по таблице расчёта. Смысл толкования он не оценивает. Если из фразы неясно, о ком или о чём она, сверщик молчит: он настроен так, чтобы не останавливать хороший разбор по ошибке. Поэтому ловит он не всё.

    Проверить: правило записано в шапке apps/backend/src/modules/pdf/sverka-faktov.ts; оговорки по каждому разбору — в списке выше

  • Что программа исправляет сама. Без нейросети — только то, где верный вариант один: опечатку в термине по словарю и фразу «родились в полнолуние» или «в новолуние», когда до точной фазы больше суток. Такая фраза меняется на «накануне» или «вскоре после». С остальными находками раздел переписывается: нейросеть получает замечание и текст раздела, потом проверка идёт заново. Таких кругов не больше четырёх. Правка не принимается, если раздел стал заметно короче или ошибок в нём прибавилось. Так исправляются пустой раздел, технический мусор, обещания, неверный род читателя, оборванное предложение, строчная буква в начале, сломанная пунктуация, выдуманный эпитет, не тот дом, не то число в матрице пары и находки сверщика с цитатой.

    Проверить: автоправкаТекста в apps/backend/src/modules/pdf/sverka-faktov.ts; круг правки — довестиДоКачества в pdf-generator.ts; коды починки — pdf-self-repair.ts

  • Что сразу уходит человеку. Неверный знак планеты, ошибку в таблице расчёта и недостающий раздел переписыванием текста не исправить. Такая находка сразу оставляет разбор у редактора. Туда же попадает находка, которая вернулась после правки, и всё, что осталось после четырёх кругов.

    Проверить: список НЕ_ЧИНИТСЯ_ТЕКСТОМ и набор ужеПробовали в apps/backend/src/modules/pdf/pdf-generator.ts

  • Отдельно программа ищет в тексте то, чего в разборе быть не должно: запугивание, обещание результата, медицинские советы, разговоры о порче и «чистке кармы», выдуманных клиентов и выдуманную статистику. Эти находки разбор не останавливают. Редактор видит их пометками в карточке заказа.

    Проверить: apps/backend/src/modules/pdf/krasnye-linii.ts — находки идут в замечания (warnings), а не в блокеры

  • Не прошедший проверку отчёт клиенту не уходит: он остаётся на модерации, а мы получаем список претензий. Прошедший проверку платный разбор сам тоже не уходит. Платный разбор смотрит редактор Велантры и отправляет его кнопкой «Одобрить», а если что-то не так — на пересборку. Поэтому платный отчёт приходит в течение суток. Бесплатные материалы уходят после автоматической проверки, без человека.

    Проверить: ветка проверки качества в apps/backend/src/modules/pdf/pdf-delivery.service.ts, «Одобрить» для платных — нуженЧеловек в auto-delivery.ts

Расчёты, где нейросети нет вообще

Два товара в каталоге считаются формулами от начала до конца. Это значит, что две сборки для одних и тех же данных дают одинаковый документ, и его можно проверить построчно.

  • Лунный календарь на год: 24 страницы, по строке на каждый день выбранного года, все новолуния и полнолуния года с точным временем для вашего города. Ни одного обращения к модели.

    Проверить: прогон apps/backend/src/scripts/lunar-sample-pdf.ts — сверяет числа с движком Луны и число страниц с карточкой товара

  • Лунный день начинается не в полночь, а с восхода Луны, поэтому календарь считается для координат вашего города. В календаре, посчитанном по Москве, у жителя другого региона смещается сам номер лунного дня.

    Проверить: apps/backend/src/utils/lunar-calendar.ts, разделы восхода и захода в собранном образце

Справочники, на которых стоят тексты

Часть содержания не считается, а написана заранее и лежит в репозитории. Объём этих справочников тоже проверяется подсчётом.

  • 78 карт Таро, у каждой своё описание: 734 тысячи знаков текста в двух справочниках, около 9 400 знаков на карту.

    Проверить: packages/shared/src/constants/major-arcana-content.ts (22 записи) и minor-arcana-content.ts (56 записей)

  • 22 аркана матрицы, у каждого описаны сильная и теневая стороны, зона комфорта и самореализация по отдельности. Поэтому одно и то же число в разных позициях читается по-разному.

    Проверить: packages/shared/src/constants/matrix-interpretations.ts

Границы метода

Проверяема здесь астрономия и арифметика, а не выводы. Об этом честнее сказать прямо, чем оставить читателя догадываться.

  • Точность расчёта означает только то, что расчёт сделан правильно. Она ничего не говорит о том, насколько верны интерпретации: научной доказанности выводов в этих системах нет ни у нас, ни у кого-либо ещё.

    Проверить: это оценочное утверждение, и мы помечаем его как оценочное

  • Разбор не является медицинской, психологической, юридической или финансовой помощью, не ставит диагнозов и не называет дат событий. Он описывает устройство карты и даёт формулировки, с которыми можно работать самому.

    Проверить: та же оговорка стоит в подвале каждого выдаваемого документа

Расчёты, к которым это относится