Constitution

Scope MVP v0.1

Границы MVP — что входит и что исключено.

📐 Scope MVP v0.1 — Foundation

Версия: v0.1.0
Дата: 2026-06-11
Статус: Утверждён

Обзор

MVP v0.1 — фундамент платформы SprosOS Seed. На этом этапе мы закладываем архитектурную основу, реализуем 9 bounded contexts в минимально работоспособном виде и подключаем первого клиента EcoYar.

Цель v0.1 — proof of capability: показать, что цикл Signal → Evidence → JTBD → Offer → Experiment → Measurement → Opportunity работает хотя бы для одного клиента.

9 Bounded Contexts MVP

Identity (IAM)

  • Регистрация и аутентификация пользователей
  • Управление организациями и рабочими пространствами
  • Роли: admin, analyst, operator, viewer

Research Inbox

  • Приём сигналов из внешних источников (парсер Метрики вручную)
  • Классификация и тегирование сырых сигналов
  • Очередь на обработку

Evidence Graph

  • Хранение структурированных свидетельств
  • Связи между свидетельствами (подтверждает, опровергает, уточняет)
  • Поиск и фильтрация свидетельств

JTBD (Job To Be Done)

  • Реестр JTBD-гипотез
  • Версионирование концепций (JTBDConcept)
  • Привязка evidence к JTBD

Product / Offer

  • Реестр продуктов
  • Реестр офферов с версионированием
  • Привязка офферов к JTBD

Experiment

  • Реестр экспериментов
  • Варианты эксперимента (ExperimentVariant)
  • Статусная модель: draft → active → completed → cancelled

Activation Lite

  • Базовое отслеживание воронки: Visit → Lead
  • Источники трафика (TrafficSource)
  • Кампании (Campaign)

Measurement Lite

  • Базовые метрики: конверсия, стоимость лида, количество визитов
  • MetricAggregate по периодам
  • Привязка к экспериментам

Opportunity Backlog

  • Карточки возможностей (OpportunityCard)
  • Оценка impact и effort
  • Приоритизация на основе evidence

Что входит

  • ✅ Tenancy foundation (Organization → Workspace → Project)
  • ✅ Research inbox с ручным вводом сигналов
  • ✅ Evidence graph с базовыми связями
  • ✅ JTBD registry с версионированием
  • ✅ Product/Offer registry
  • ✅ Experiment registry
  • ✅ Activation lite (manual lead import)
  • ✅ Measurement lite (ключевые метрики)
  • ✅ Opportunity backlog
  • ✅ Constitution-driven development (весь这套 документов)
  • ✅ ADR-логирование первых решений
  • ✅ Архитектурная документация

Что НЕ входит

Подробный список — в NON_GOALS.md. Ключевые исключения:

  • ❌ Автоматические коннекторы (кроме ручного импорта)
  • ❌ Полноценный Experiment Engine (статистика)
  • ❌ Интеграция с 1С и PHPShop (manual import)
  • ❌ SaaS self-service
  • ❌ ML/AI классификация

Критерии готовности MVP

  1. Рабочий цикл: Signal → Evidence → JTBD → Offer → Experiment → Measurement → Opportunity — все шаги проходимы для EcoYar
  2. Tenancy: Минимум одна организация с одним workspace и одним проектом
  3. Данные EcoYar: Загружены первые сигналы из Метрики, построены первые 5 JTBD-гипотез, созданы 3+ оффера, запущен 1 эксперимент
  4. Измерения: Конверсия по эксперименту считается
  5. Документация: Вся конституция заполнена, ADR зафиксированы
  6. Tests: Unit tests для core domain logic
  7. Review: Архитектурное ревью пройдено

Техстек

КомпонентТехнология
Backend runtimePython 3.11+
Web frameworkFastAPI
DatabasePostgreSQL 16 (с pgvector)
ORMSQLAlchemy 2.0 + async
MigrationsAlembic
ValidationPydantic v2
APIREST + OpenAPI (авто FastAPI)
AuthJWT + python-jose + bcrypt (passlib)
Background jobsRedis + ARQ / Dramatiq
FrontendNext.js + TypeScript (apps/web)
Testingpytest
ContainerDocker + Docker Compose
SecretsPydantic Settings + .env
Package managerpip / poetry (Python), npm (Next.js)

Сборка проекта

sprosos-seed/
├── apps/
│   ├── api/          # Backend API (modular monolith, FastAPI + Python)
│   │   ├── app/
│   │   │   ├── domain/       # Доменная логика (9 bounded contexts)
│   │   │   ├── infrastructure/ # DB, connectors, config
│   │   │   └── api/          # REST endpoints (v1)
│   │   └── requirements.txt
│   └── web/          # Frontend (Next.js + TypeScript)
├── docs/             # Документация
├── infra/            # Docker, скрипты
│   ├── docker/
│   └── scripts/
├── .cursor/          # Cursor AI rules
└── .openclaw/        # OpenClaw skills

Примечание о расхождении: Изначально tech stack был описан как TypeScript (Hono, Drizzle, pnpm). В процессе bootstrap был выбран Python (FastAPI, SQLAlchemy, PostgreSQL) для backend. Документация приведена в соответствие с фактическим стеком. При изменении стека — обновить ADR.