Files
QuizPlease/Agent/Task/TASK-0001.md
T
horooko 723657f2f7 docs: add task status tracking to agent workflow
- Add Status section requirement in Agent.md guidelines
- Define valid status values (Planned, Ready, In Progress, Done, Blocked)
- Update TASK-0001 with Ready status
- Add Status section to TASK_TEMPLATE.md with Planned default

Обновлена документация агента и отслеживание статусов задач:
- Добавлено требование раздела Статус в руководствах Agent.md
- Определены допустимые значения статусов (Planned, Ready, In Progress, Done, Blocked)
- Обновлён TASK-0001 со статусом Ready
- Добавлен раздел Статус в TASK_TEMPLATE.md с значением Planned по умолчанию
2026-05-27 03:58:04 +07:00

2.5 KiB
Raw Blame History

TASK-0001: Composition Root и зависимости

Статус

Ready

Цель

Настроить корневую точку композиции проекта через VContainer так, чтобы orchestration-логика жила в plain C# классах, а MonoBehaviour использовались только как View-компоненты сцены.

Что сделать

  • Создать GameLifetimeScope.
  • Зарегистрировать сервисы и контроллеры через VContainer как managed dependencies.
  • Зарегистрировать BootstrapEntryPoint как entry point приложения.
  • Зарегистрировать BootStatesController как IStatesController<BootStateCode> и при необходимости как self.
  • Зарегистрировать SplashState, LoadState, MenuState.
  • Зарегистрировать scene View через RegisterComponent(...).
  • Зарегистрировать settings asset через [SerializeField] и RegisterInstance(...).

Технические требования

  • Использовать VContainer.
  • Сервисы регистрировать через builder.Register<Impl>(Lifetime.Singleton).As<IInterface>().
  • Не использовать RegisterInstance(...) для сервисов и controller-объектов.
  • RegisterInstance(...) использовать только для settings/config assets.
  • Не использовать FindObjectOfType, Singleton.Instance и static-хранилища состояния.
  • MonoBehaviour не должны содержать orchestration-логику boot flow.

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

  • В сцене есть один GameLifetimeScope.
  • Все boot flow зависимости собираются через VContainer.
  • View-компоненты подключаются через ссылки из сцены, а не через поиск объектов.
  • Entry point запускается контейнером.
  • Сервисы и state machine не создаются вручную через new внутри MonoBehaviour.

Заметки

Scene View допустимо регистрировать как компоненты, потому что они физически живут в сцене. Settings asset допустимо регистрировать через RegisterInstance(...), потому что это данные, а не сервис с жизненным циклом.