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

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

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

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

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

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

  • Положения планет считает библиотека 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

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

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

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

    Проверить: функции getAllCities() и getBirthUtcOffset() в apps/backend/src/utils/cities.ts

  • В справочнике 205 городов и 11 разных поясов, от UTC+2 до UTC+12. Отдельно заведены советские названия — Ленинград, Свердловск, Горький, Куйбышев: клиенты, рождённые до 1991 года, пишут город так, как он назывался тогда.

    Проверить: массив CITIES в apps/backend/src/utils/cities.ts, пересчёт 19.08.2026

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

    Проверить: подсказки в компоненте 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

  • Мы не пишем, что сверяемся со Swiss Ephemeris. Такой сверки у нас нет, и до 19 августа 2026 года эта фраза стояла на сайте без оснований. Мы её сняли и оставили то, что действительно прогоняется скриптом.

    Проверить: история правки в комментарии к apps/backend/src/scripts/hd-selftest.ts

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

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

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

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

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

    Проверить: коды починки в apps/backend/src/modules/pdf/pdf-self-repair.ts

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

    Проверить: ветка проверки качества в apps/backend/src/modules/pdf/pdf-delivery.service.ts

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

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

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

    Проверить: прогон 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

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

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

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

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

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

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

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