План реализации и критерии готовности¶
Актуализация 09.09.2026¶
Приоритет имеют актуальные решения и перечень модулей. Натальная карта остаётся точным расчётом; нумерология и Human Design включены как LLM-сценарии с точными вспомогательными функциями. Алгоритмы выбирает команда. OpenRouter выбран шлюзом переключения моделей, токен получен. Приняты free/paid и скидка 40% на первый месяц; цена и квоты ещё открыты. Оферта и privacy пока заменяются заглушками для разработки. Матрица судьбы и админ-панель остаются pending.
Ниже сохранены детали предыдущего baseline. Формулировки о natal-only, ожидании алгоритмов от заказчика, неполученном токене, OpenRouter только для eval и неутверждённой скидке заменены решениями от 09.09.2026. Это изменение документации, а не отчёт о готовой реализации.
Scope и стартовые defaults приняты в реестре решений, поэтому проектирование БД можно начинать без ожидания экспертов или поставщиков. Методические, лицензионные, коммерческие и юридические уточнения отделены в pre-pilot gate: они не блокируют внутреннюю разработку, но блокируют внешний пилот.
После звонка 04.09.2026 заказчик подтвердил потребность в админ-панели, но уточняет у Кирилла, входит ли она в
текущий договор/MVP. До письменного изменения scope admin role, UI и административный API не входят ни в один
milestone. Возможный модуль описан отдельно в backlog.
Milestone 0 — зафиксированный baseline¶
- KarmaCode и текущее ТЗ приняты как продуктовый baseline;
natal-v1, строгий режим неизвестного времени и стартовая orb policy приняты;- приняты натальная карта и prompt-сценарии нумерологии/HD с точными вспомогательными функциями;
- принят passwordless e-mail OTP через Resend, без Telegram;
- платёжная модель поддерживает бесплатный лид-магнит и несколько цен; коммерческий baseline — один месячный paid tier, параметры которого ещё утверждаются;
- AI изолирован provider-agnostic портом; до выбора модели работает fixture adapter, для сравнительного eval выбран OpenRouter;
- внешний pilot gate отделён от текущих engineering-решений.
Exit: выполнен — документы согласованы, а логическая/физическая модель подготовлена в проекте БД и ожидает согласования перед Prisma migrations.
Milestone 1 — foundation и бесплатный funnel¶
- физическая Prisma schema и миграции (foundation-срез identity/onboarding/operations готов; остальные модули — следующими миграциями);
- Resend OTP, sessions, роли
client|practitioner, consent, draft→user claim и birth profiles; - place resolver + historical timezone snapshot;
- calculation orchestration, job/outbox и analytics attribution;
- server-side API бесплатного результата, технические логи и метрики.
Exit: гость вводит данные, расчёт завершается идемпотентно, OTP-вход забирает draft, пользователь видит только свои versioned facts; повторы и сбой worker безопасны.
Milestone 2 — натальная карта и точные функции¶
natal-v1и сравнительные fixtures;- нумерологическая арифметика по выбранным таблицам;
- точные HD-входы: design date через бисекцию и Swiss, положения тел и versioned разметка;
- версии входов и стабильные хэши точных результатов; Матрица остаётся pending.
Exit: точные функции проверены на fixtures и пригодны для передачи в LLM-сценарии.
Milestone 3 — деньги и доступ¶
- каталог
Product/Priceс бесплатным entitlement и одним активным месячным seed-тарифом; точные цена, квоты, и состав функций загружаются после решения заказчика; скидка 40% на первый месяц уже принята; - orders, YooKassa initial payment и verified webhook;
- saved method, renewal worker, cancel-at-period-end, past-due/grace/expiry;
- entitlement checks, refunds, immutable ledger и reconciliation.
Exit: sandbox-сценарии из платёжного документа автоматизированы; redirect не выдаёт доступ; duplicate webhook, retry и timeout не создают двойного списания или entitlement. Операционные ошибки видны через alerts и runbooks без административного API.
Milestone 4 — AI-разбор и прогноз¶
- versioned evidence mappings
axes-v1; AiProviderregistry,FixtureAiProvider, generation queue/cache и строгая schema validation;- OpenRouter adapter с переключением моделей; токен получен;
- prompt jobs нумерологии и HD, проверка точных полей и сохранение LLM-артефактов;
- двухшаговый evidence→narrative pipeline для core reading, tensions, route и period forecast;
- safety gates, cost telemetry и provider/model snapshot в каждом артефакте.
Exit: evaluation fixtures проходят hard gates; каждый опубликованный тезис имеет evidence; повторное чтение не вызывает provider; смена adapter/model не требует миграции домена; outage не ломает бесплатную часть.
Milestone 5 — retention и консультации¶
- goals/requests, check-ins и statistics;
- Resend e-mail preferences, transactional templates и reminders;
- открытая регистрация practitioner-профиля после OTP-входа, каталог и consultation request/status;
- отдельный order консультации и первичный ручной settlement workflow.
Календарь, чат, видеосвязь, Telegram и автоматический split не входят в milestone.
Exit: клиент проходит сквозные goal и consultation flows, роли не раскрывают чужую карту/заметки, время согласуется через данные заявки и её состояния, а финансовые edge cases соответствуют versioned policy.
Milestone 6 — готовность к внешнему пилоту¶
- закрыты все пункты pre-pilot checklist с owner и evidence;
- заменены заглушки оферты/privacy; закрыты pending по Матрице и админ-панели;
- export/delete workflows, backup/restore, alerts и runbooks проверены;
- метрики ТЗ/PRD доступны через telemetry pipeline или ограниченный операционный export, не через admin API;
- пройдены load/abuse/security checks и end-to-end pilot rehearsal.
Exit: команда может определить, где потерялся конкретный funnel event/payment/job, восстановиться из backup, провести финансовую сверку без прямого редактирования production DB и предъявить evidence закрытия pre-pilot gate.
Стратегия тестов¶
- unit: математика, state machines, OTP, entitlement, prices и evidence rules;
- property/golden: расчёты и canonical hashes;
- repository integration: реальный PostgreSQL, transactions/constraints/locks;
- contract: frozen YooKassa/AI/geocoder/Resend payload fixtures и schema drift checks;
- end-to-end: draft→OTP→payment→interpretation, renewal/refund и consultation;
- security: auth enumeration, OTP abuse, object-level access, webhook spoof/replay, rate limit и PII log scan;
- operations: worker crash между внешним effect и commit, retry/dead-letter, reconciliation и backup restore.
Definition of Done use case¶
- правила, state transition и error codes описаны;
- authorization и audit определены;
- migration/rollback и idempotency constraint есть;
- логи/метрики не содержат ПДн, для неустранимой ошибки есть alert;
- happy path, дубль, forbidden, invalid input и внешний timeout покрыты тестами;
- OpenAPI и связанная документация обновлены;
npm run checkи production image проходят;- feature выключаема без порчи данных.
Главные риски и принятый контроль¶
| Риск | Контроль сейчас |
|---|---|
| Временные методики трёх систем | feature flags, заменяемые v0, immutable artifacts, scope/method review |
| Лицензия Swiss Ephemeris | Professional License до внешнего запуска; пока только internal/test |
| Ошибочное историческое время | IANA timezone snapshot, DST edge tests, manual disambiguation |
| Двойное списание/ложный доступ | idempotency, webhook GET verification, unique invoices, reconciliation |
| AI выдумывает факты/опасные советы | evidence refs, schema/safety gates, expert eval; provider не вычисляет facts |
| Смена AI-поставщика или модели | AiProvider, registry, config и immutable provider/model snapshot |
| Утечка чувствительных данных | data minimization, object auth, redacted logs, retention/deletion workflows |
| Не определён scope админ-панели | не расширять backend до ответа; затем отдельные роли, оценка и milestone |
| Vendor outage/cost | async jobs, cache, limits, adapters и graceful degradation |