ProfitGate
Дорожная карта продукта

Дорожная карта ProfitGate

Весь проект в одной странице: 5 волн от честной базы до подписанного паритета с прототипом, по 6 трекам. Статус единый для всех и обновляется онлайн по мере хода работ - чекбоксы и проценты считываются из общего источника статуса.

5 волн 6 треков (A-F) 22 задачи 9 стадий роя + Phase 7B (маппинг) Условный GO после Волны 1

Общий прогресс

0 из 22 выполнено · 0 в работе · 0%
выполнено в работе в плане Статус ведется централизованно
⚠️

Вердикт аудита: NO-GO на закрытие фазы как «паритет»

Условный GO наступает после Волны 1 (закрытие 6 блокеров) и честной переразметки матрицы паритета. По доказательной оценке прототип воспроизведен сейчас примерно на 35%, соответствие функциональной модели - около 55%.

Рой агентов сейчас

где находится обработка волны в текущий момент
Загрузка статуса…
DISCOVER DEFINE SPEC PLAN EXECUTE VERIFY REVIEW RELEASE GATE DONE

На стадиях формулировки работает консилиум: несколько ролей пишут позиции → спорят → синтез с явным списком разногласий, в споре всегда участвует голос другой ИИ-модели. Перед и после каждой стадии стоит независимый Verifier: проверяет правила перехода, доказательства, тесты и подпись; закрывается при уверенности ниже 95%.

Сегмент SPEC

DISCOVER → DEFINE → SPEC

→ вы утверждаете спеку

Сегмент PLAN

PLAN, до 5 раундов со сходимостью

→ вы утверждаете план и задачи

Сегмент BUILD

EXECUTE → VERIFY → REVIEW → RELEASE GATE → DONE

→ готовый кусок за DONE-gate
A · Фронтенд B · Безопасность C · Тесты D · Бэкенд E · Данные / доки F · Инфра

Волны

прогресс из общего источника статуса
0
Честная база
0,5-1 день · без кода
0/3
EKF2-48
E
Переразметить матрицу паритета: убрать сплошной «pass», поставить честные грейдыв работе
02:Ф1 · 06:E1
E
Карантин пустых эталонов-скриншотов + рубрика грейдовв работе
06:E3
C
Заложить скелет поведенческого теста (test.fixme)в работе
02:Ф2 · 06:C1
Выход: честная матрица из 32 экранов, рубрика грейдов, каркас вратаря.
1
Закрытие 6 блокеров фронтенда и доступа
4-6 дней · снимает NO-GO
0/6
EKF2-49GO
A
Защита команд от ложного успеха CMD-01в работе
02:Ф0 / Ф5
A
Живые ссылки на главной HOME-01в работе
02:Ф0 / Ф4
A
Действия по строкам, а не только по первой ROW-01в работе
02:Ф5
A
Навигация: +16 экранов, админ-группа NAV-01в работе
02:Ф0 / Ф4
A
Доступ и роли: middleware.ts + RBAC AUTH-01в работе
02:Ф6 · 06:B1 · A+B
C
Наполнить вратарь и завести Playwright в CI TEST-01в работе
02:Ф9 · 06:C2/F1 · C+F
Выход: снят NO-GO. Основные сценарии работают, тесты в CI реально что-то ловят.
2
Backend-блокер, токены, потоки, безопасность
5-7 дней · бренд-цвет до съёмки эталонов
0/6
EKF2-50
D
Temporal-воркер + ApprovalSLA + 24ч-постфактум согласованийв работе
06:D1
A
Бренд-цвет и токены (#C00000), убрать мёртвый бирюзовый - до съёмки эталоновв работе
02:Ф3
A
Бизнес-потоки, формы, состояния, статусыв работе
02:Ф5 / Ф7
C
Покрытие Go, Postgres-тесты в CI, домен 98%в работе
06:C4
B
Обновить Go 1.26.4, gosec, security-заголовкив работе
06:B3
F
Сканеры уязвимостей + Dependabot + линтерыв работе
06:F2 / F3
Выход: единый источник дизайна, backend держит бизнес-логику, можно снимать эталоны.
3
Богатые экраны, графики и визуал
4-6 дней · съёмка эталонов и визуальная регрессия
0/4
EKF2-51
A
Богатые экраны closing / sanctions / returns / warehouse + AIв работе
02:Ф4 · 06:D2 · A+D
A
Графики echarts + визуальная регрессия + адаптивв работе
02:Ф8
D
Разбить god-file router.go, де-дуп audit, state-машинав работе
06:D3 / D4
E
README под Phase 7B, чистка мёртвого кода и жаргона, CSVв работе
06:E2 / E4
Выход: экраны как в прототипе, графики на месте, визуальный сьют зелёный по порогу.
4
Финальная приёмка
1,5-2 дня + доводка · честный зелёный паритет
0/3
EKF2-52
A
Полный e2e + доступность + негативный контрольв работе
02:Ф9 · 06:C6 · A+C
A
Матрица → честный зелёный: каждая строка несёт имя теста + ссылку на скриншотв работе
02:Ф10 · 06:E1 · A+E
F
SBOM + подпись образов + SHA-pinning + rollback миграцийв работе
06:F4
Выход: подписанный паритет с уверенностью ≥95% строго из доказательств.
Источник статуса: status.json

Phase 7B - умный маппинг источников

отдельный эпик EKF2-46/47, идёт параллельно волнам
7B
Детальное изучение источников и умный маппинг
ветка codex/phase-7b-smart-mapping-execution · бэкенд решает, ИИ объясняет
0/10
EKF2-46/47
D
Доменная модель статусов маппинга + детерминированные риск-блокировки (деньги/приватность/качество)в работе
smartmapping.go · 90.8% тестов
D
Бэкенд-шлюз к ИИ: OpenRouter (gemini-3.5-flash), fail-closed, ZDR, без фолбэковв работе
adapter/openrouter · 94.7% тестов
D
Хранилище и миграция БД: кандидаты, пакеты доказательств, бюджет-лимитыв работе
adapter/postgres + migration 20260602
D
Сборщик доказательств + входной гейт качества данных (Task 3A)в работе
usecase/smartmapping/evidence_builder.go
D
ИИ-предложитель маппинга + API + RBAC, политики, реестр промптов (Task 4/4A)в работе
spec: 2026-06-02 · не начато
E
Полный слой проверки качества данных DQ/dbt (Task 8)в работе
spec: 2026-06-02 · не начато
E
Контролируемые выборки L3/L4: согласование scope, хранение, удаление (Task 8A)в работе
spec: 2026-06-02 · не начато
A
Кокпит доказательств - экран маппинга (только чтение бэкенд-моделей) (Task 7/10)в работе
spec: 2026-06-02 · не начато
D
Готовность stage-адаптера + stage-only флаги (Task 9)в работе
spec: 2026-06-02 · не начато
C
Финальное тестирование, внешние ревью, CI-гейт, PR (Task 11)в работе
spec: 2026-06-02 · не начато
Выход: аудируемые решения по маппингу источников на бэкенде, доказательство решает - ИИ объясняет. Прод-решения и деньги во фронте не считаются.

Как сверяется визуальная часть

прототип - эталон, проверка машинная

Почему «прототип есть, а проблема на проблеме». Корень не в копировании, а в том, что проверка была слепой: тест-вратарь parity.spec.ts - дымовой, он структурно не ловил расхождений с прототипом, а матрица стояла сплошным «pass». Зелёный свет ничего не значил. Новая модель чинит саму проверку.

  • Эталон - сам прототип: скриншот снимается с prototype/fm-ls-profit/bundle.html.
  • Попарный пиксельный диф: Playwright toHaveScreenshot, 32 экрана, desktop 1440×1000 + iPhone 15, в пределах порога.
  • Страж непустых: пустой или слишком маленький скриншот отвергается.
  • md5-уникальность: не сравниваем все экраны с одним эталоном.
  • Порядок: бренд-цвет и токены (Волна 2) фиксируются до съёмки эталонов (Волна 3).
  • Никаких безусловных «pass»: каждая зелёная строка несёт имя теста + путь к скриншоту.

В рое это обязательный критерий приёмки: независимый Verifier на каждом фронтенд-шаге не пропустит шаг без визуального доказательства. Сборка идёт через mock-fidelity (скриншот прототипа = макет).