academylessonsui complete is not system complete

AI Academy

Active
AI Academy/Building Grand Service with AI/Контроль архитектуры и технического долга

Почему рабочий интерфейс ещё не означает готовую систему

На реальном кейсе Academy разбираем разницу между UI complete, feature complete, infrastructure complete и production ready.

Not started24 min

Первый MVP AI Academy был полезным и рабочим: страницы открывались, курс отображался, уроки читались, progress action работал, Continue Learning появлялся после просмотра. Для пользователя это выглядело как настоящая feature. Но инженерно это еще не означало production ready. Под интерфейсом progress временно хранился в server-only cookie-backed adapter, а PostgreSQL migration существовала только как подготовленный артефакт.

Это нормальная стадия разработки, если она честно названа. Проблема начинается тогда, когда агент пишет «готово», не раскрывая, что storage не постоянный, auth не production, migration не подключена к runner, а Docker не содержит Postgres. В AI-assisted разработке честность отчета — часть качества кода.

UI complete
  • Страницы выглядят готовыми.
  • Пользовательский путь можно пройти.
  • Есть локальный state или fallback.
  • Не гарантирует production persistence.
Production ready
  • Есть реальный storage.
  • Есть production identity.
  • Есть migration runner.
  • Есть проверки failure modes и rollback path.

Четыре уровня готовности

  1. 1
    UI complete

    Интерфейс работает, route доступен, пользователь понимает, что делать.

  2. 2
    Feature complete

    Основные пользовательские сценарии работают, включая empty, repeat и not-found states.

  3. 3
    Infrastructure complete

    Под feature есть реальный storage, auth, migrations, env и runtime wiring.

  4. 4
    Production ready

    Система проверена в условиях деплоя, имеет понятный rollback и не скрывает known gaps.

В Academy Phase 1 уровень был между UI complete и feature complete. После аудита persistence был сделан правильный следующий шаг: не устанавливать ORM внезапно, а выделить `AcademyProgressRepository`, оставить cookie adapter как demo fallback и сделать production default disabled. Это не «меньше работы», а более честное инженерное решение.

Опасный финал

Фраза «всё готово» опасна, если она смешивает UI, feature и infrastructure. В финальном отчете нужно явно писать, какой уровень готовности достигнут.

  • Что реально реализовано?
  • Что работает только через fallback?
  • Что подготовлено, но не подключено?
  • Какие production gaps остаются?
  • Какие проверки это подтверждают?

Practice

A real WorkerHubs scenario for this lesson.

Разделить feature по уровню готовности

Возьми любую feature и разложи ее на implemented, mocked, fallback и missing. Не пытайся сделать отчет красивее реальности.

Найди рабочие пользовательские сценарии.
Найди временные adapters или mocks.
Найди инфраструктуру, которая только запланирована.
Сформулируй честный production gap.

Resources