Перейти к содержанию

План реализации и критерии готовности

Scope и стартовые defaults приняты в реестре решений, поэтому проектирование БД можно начинать без ожидания экспертов или поставщиков. Методические, лицензионные, коммерческие и юридические уточнения отделены в pre-pilot gate: они не блокируют внутреннюю разработку, но блокируют внешний пилот.

Админ-панель, admin role и административный API не входят ни в один milestone MVP. Их возможный будущий модуль описан отдельно в post-MVP backlog.

Milestone 0 — зафиксированный baseline

  • KarmaCode и текущее ТЗ приняты как продуктовый baseline;
  • natal-v1, строгий режим неизвестного времени и стартовая orb policy приняты;
  • три заменяемых v0-движка описаны с versioned contracts;
  • принят passwordless e-mail OTP через Resend, без Telegram;
  • платёжная модель поддерживает несколько тарифов, в MVP активен один месячный тариф;
  • AI изолирован provider-agnostic портом; до выбора модели работает fixture adapter;
  • внешний 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 + golden/property/integration tests;
  • numerology-pythagorean-v0, human-design-standard-v0 и destiny-matrix-22-v0 как реализации общего заменяемого контракта;
  • evidence normalization и бесплатные versioned labels;
  • внутренние deterministic fixtures для всех движков и сравнительные natal fixtures.

Exit: одинаковый input/version даёт одинаковый result hash на dev/CI/Linux image; silent Swiss fallback запрещён, а версия методики и набора данных сохранена с результатом.

Milestone 3 — деньги и доступ

  • каталог Product/Price с одним активным seed-тарифом и возможностью добавить другие;
  • 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;
  • AiProvider registry, FixtureAiProvider, generation queue/cache и строгая schema validation;
  • двухшаговый 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 seed/onboarding data, каталог и consultation request/status;
  • отдельный order консультации и первичный ручной settlement workflow.

Календарь, чат, видеосвязь, Telegram и автоматический split не входят в milestone.

Exit: клиент проходит сквозные goal и consultation flows, роли не раскрывают чужую карту/заметки, время согласуется через данные заявки и её состояния, а финансовые edge cases соответствуют versioned policy.

Milestone 6 — готовность к внешнему пилоту

  • закрыты все пункты pre-pilot checklist с owner и evidence;
  • 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 выключаема без порчи данных.

Главные риски и принятый контроль

Риск Контроль сейчас
Временные методики трёх систем заменяемые versioned engines v0, immutable artifacts, pre-pilot review
Лицензия Swiss Ephemeris внутреннее использование сейчас, отдельный обязательный license gate
Ошибочное историческое время 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
Нет админ-панели в MVP telemetry, alerts, runbooks, controlled scripts; будущий модуль отдельно
Vendor outage/cost async jobs, cache, limits, adapters и graceful degradation