Skip to content

Открытые вопросы ​

В основном не решено · последний пересмотр 11 октября 2026

В Shiffty решено несколько вещей — отрасль, форма приложения, инструменты, на которых оно будет построено, включая солвер для первой версии, то, где работает агент, кто обеспечивает вход и кто на кого работает; всё остальное — вопросы, на которые нужно ответить, прежде чем что-либо создавать.

Что уже решено ​

  • Только ритейл (25 сентября 2026). Никаких ресторанов, складов и универсального планирования персонала. См. Обзор.

  • Одно приложение для управляющих и сотрудников, на телефонах — пока через Capacitor (2 октября 2026). См. Архитектуру.

  • API на NestJS и приложение на Nuxt, организованные по CleanSlice — на этих инструментах построены другие наши продукты (2 октября 2026). См. Архитектуру.

  • YALPS как солвер для первой версии (2 октября 2026). Позже, скорее всего, Google OR-Tools отдельным сервисом в Kubernetes — это намерение, а не решение. См. Агент и солвер. Создан в API 19 октября 2026 за интерфейсом, который могут взять на себя HiGHS или OR-Tools; не развёрнут. С 10 ноября 2026, по просьбе владельца, неделю решает HiGHS, а YALPS остаётся запасным; заменит ли HiGHS его насовсем, не решено (Агент и солвер).

  • Агент работает на Agentfy — через его партнёрский серверный чат и один MCP-сервер, который запускает Shiffty (5 октября 2026). Встраиваемый виджет Agentfy не используется, а чат рисуется внутри приложения Shiffty. См. Интеграцию с Agentfy.

  • Один агент на магазин; одна компания — одна команда Agentfy (5 октября 2026). Управляющий и сотрудники магазина говорят с одним и тем же агентом, каждый от своего имени. См. Интеграцию с Agentfy.

  • В первой версии сотрудник относится ровно к одному магазину; управляющий может вести несколько (5 октября 2026). Заменено 11 октября 2026 пунктом ниже: теперь и у управляющего один магазин.

  • Агент магазина создаётся автоматически, когда создаётся магазин (5 октября 2026). Для этого оператор Agentfy должен это включить; см. что должно быть верно сначала.

  • Собственный вход Shiffty, а не Neon Auth (6 октября 2026). Почта и пароль, которые хранит API Shiffty, как в других наших продуктах. См. Экраны.

  • Владелец, его магазины, управляющие магазинов и люди каждого управляющего (11 октября 2026). См. Кто на кого работает ниже.

  • Графики показываются в часовом поясе магазина, а не того, кто смотрит (11 октября 2026). У каждого магазина есть часовой пояс; дни, «сегодня» и время его графика — время магазина, где бы ни был тот, кто смотрит. См. Структура данных.

  • Одна сетка графика для всех, с фильтром (14 октября 2026). Неделя магазина показывает его управляющих и сотрудников в одной таблице, сначала управляющих, а фильтр выбирает, чьи строки показаны, — по роли, по управляющему, которому подчиняются, по человеку и по участку. Часы, итоги и предупреждения остаются по всему магазину, что бы ни было отфильтровано. Это отменяет прежнее решение владельца (11 октября 2026) держать графики команды и управляющих раздельно, на двух вкладках, никогда не складывая. См. Экраны.

  • Никакого ассистента в приложении, пока он не готов; никакой замены Agentfy (14 октября 2026). С 14 по 19 октября 2026 вкладка Assistant каждой роли говорила «In development» и что всё делается вручную на других вкладках; ссылки, которые открыли бы ассистента, были скрыты, и не показывались ни демо по сценарию, ни чат. Локальная замена Agentfy в API и её таблицы удалены, и это остаётся в силе; настоящая интеграция остаётся. Часть об ассистенте заменена 19 октября 2026 пунктом ниже.

  • Ассистент снова включён, насовсем (19 октября 2026). Владелец вручную прошёл всю цепочку с локальным Agentfy и снова включил ассистента. Он показывается, когда API говорит, что он доступен человеку, — Shiffty подключён к Agentfy, чат включён и агент его магазина готов, — а иначе вкладка Assistant говорит почему и кто может это исправить. Демо по сценарию удалено, запасного варианта по сценарию нет. После входа человек попадает на вкладку Assistant, когда она доступна, а иначе на Schedules (владелец, управляющий) или My shifts (сотрудник); владелец, у которого до 20 октября 2026 ассистента не было, всегда попадал на Schedules, а теперь тоже попадает на вкладку Assistant, когда его ассистент доступен. Создано, проверено только с локальным Agentfy, не развёрнуто. См. Интеграцию с Agentfy и Экраны.

  • Что может ассистент и как (19 октября 2026). В итоге ассистент магазина делает всё, что вошедший управляющий или сотрудник может сделать в приложении, с правами этого человека и по тем же правилам, что и приложение, включая деактивацию людей или удаление смен там, где человеку это можно. Он не одобряет и не отклоняет запросы на изменения и не публикует графики — пока; когда добавится солвер, агент будет строить графики и решать по запросам, а до тех пор инструментов для этого нет. Ассистента для владельца или для всей компании нет: один агент на магазин, а владелец делает свои дела в приложении (заменено 20 октября 2026, ниже). Инструменты пишутся вручную, каждый размером с задачу, а не генерируются из API. Первый шаг — один каталог инструментов и девять инструментов чтения — создан, не развёрнут. См. Инструменты агента.

  • Ассистент для владельца (20 октября 2026). Это заменяет «ассистента для владельца или для всей компании нет» от 19 октября 2026 (выше). Владелец получает собственного ассистента — один агент на компанию, рядом с агентами магазинов — со всем, что владельцу можно делать в приложении: все магазины, управляющие тоже. Каждое изменение — карточка, которую подтверждает владелец, с повторной проверкой при подтверждении; для чтения карточка не нужна. Публиковать неделю можно только владельцу, как карточку, которую владелец подтверждает; ассистент управляющего по-прежнему не может публиковать. Кто спрашивает и что ему можно, берётся только из вошедшего владельца, никогда не от модели. Создано, проверено тестами, сверено только с локальным Agentfy, не развёрнуто. См. Инструменты агента и Интеграцию с Agentfy.

  • Солвер строит недели и взвешивает запросы; публикация остаётся за людьми (19 октября 2026). Владелец добавил солвер, который вызывает агент: он предлагает неделю для команды магазина и взвешивает запрос на изменение, а агент может подготовить одобрение или отклонение управляющего. Это снимает «никаких инструментов для одобрения и отклонения, пока нет солвера» из пункта выше — как инструменты уровня propose: управляющий подтверждает каждую карточку в приложении, и подтверждение выполняет обычное одобрение или отклонение или записывает неделю в черновик. Публикация недели остаётся действием человека, без инструмента; как и отмена решения. Создано в API, проверено на демо-магазинах из начальных данных; три его инструмента в каталоге агента; не развёрнуто. См. Агент и солвер и Инструменты агента.

  • Агент читает описания людей в ограничения для солвера (20 октября 2026). Агент превращает то, что описание человека прямо говорит о том, когда или где он работает, в ограничения для солвера — каждое со словами, из которых оно взято, — и управляющий видит каждое, и каждое пропущенное, на карточке до подтверждения; неверное прочтение поправляет управляющий. Поля доступности в профиле человека могут появиться позже; не решено. Создано в API и приложении, проверено, один раз проверено с локальным Agentfy; не развёрнуто. См. Агент и солвер.

  • Права управляющего в своём магазине (19 октября 2026, вариант 1 владельца). В своём магазине и только для его сотрудников — никогда для другого управляющего и никогда для себя — управляющий деактивирует и снова активирует человека, меняет его управляющего на другого управляющего того же магазина, приглашает сотрудников и отзывает эти приглашения, правит описание и часы работы магазина (новые часы не принимаются, если смены оказались бы вне их; часовой пояс остаётся за владельцем). У владельца остаются все права, и каждое изменение записывает, кто его сделал. Создано в API и приложении, не развёрнуто; с того же дня ассистент предлагает каждое из этих действий карточкой, которую подтверждает управляющий (шаг 3). См. Структура данных.

Реализованы только вход, роли, приглашения, графики, запросы на изменения и чат ассистента, и только частично — см. Что создано. Размещённый Agentfy не подключён; ассистента проверяли только с локальным.

Кто на кого работает ​

Решено владельцем 11 октября 2026:

  • Один владелец, много магазинов; в магазине могут быть управляющие; у каждого управляющего — свои люди. Сотрудник подчиняется конкретному управляющему того же магазина или — с 23 октября 2026, по решению владельца, — никакому: магазин может вести сам владелец с несколькими сотрудниками, и тогда по запросам этих сотрудников решает владелец.
  • Компания — это бизнес владельца (например, сеть Morgan Retail). Списка компаний на выбор нет: у каждого человека ровно одно место — у владельца его компания, у всех остальных один магазин. Это заменяет «управляющий может вести несколько магазинов» (5 октября 2026).
  • Сами регистрируются только владельцы. Управляющие и сотрудники приходят по приглашению от владельца (с 19 октября 2026 управляющий тоже приглашает сотрудников в свой магазин); до 15 октября 2026 письма не отправлялись и владелец передавал ссылку сам — с тех пор она отправляется письмом (SHIF-25), и её по-прежнему можно передать.
  • Владелец входит только после одобрения администратором платформы (решение владельца проекта от 23 октября 2026). Регистрация — это заявка на вступление; пока её не одобрят, владелец не может войти, и ему говорят почему. Одобрение делает компанию активной и подключает её ассистента, который с тех пор и создаёт команду компании в Agentfy. В тот же день, в ответах на вопросы по изменению: отклонённый заявитель может подать заявку снова с той же почтой; администратор платформы может выключить одобренную компанию (никто из неё не входит, ничего не удаляется) и включить обратно; письмо администраторам о новой заявке говорит только, кто её подал. Приглашения не изменились. Создано; см. Что создано.
  • Существующие тестовые данные можно было удалить, а демо-компания заново создаётся сид-скриптом на машине разработчика.

Почему: так устроены магазины, которые мы имеем в виду, — владелец решает об управляющих, управляющий — о своих людях, — и прототипы для трёх ролей нарисованы именно так. Что управляющий может утверждать и для кого, следует из этого и будет создано позже, вместе с запросами на изменение.

Рынок ​

  • Почему мы, а не Deputy и похожие инструменты? См. обзор рынка, обзор конкурентов и Deputy и наш подход. Автоматическое составление графика — уже стандарт, а крупные вендоры уже заявляют обмен сменами на естественном языке с утверждением управляющего. Нам нужна причина, понятная управляющему магазином, а не список функций, и она нужна раньше, чем Deputy или похожий инструмент добавит чат для сотрудников.
  • С какого сегмента ритейла начать? Отрасль решена: только ритейл. Открыто другое: отдельные магазины или небольшие сети, продуктовые или другие форматы.
  • С какой страны начать? Естественные кандидаты с учётом нашего опыта — Украина и соседние страны, и обзор конкурентов показывает, что диалоговых инструментов для графиков там пока нет. Трудовые нормы и привычки в мессенджерах различаются по странам, поэтому этот выбор определит первую версию.
  • Кто платит и сколько? Цена пока не определена. Инструменты для малого бизнеса стоят $2–9 за пользователя в месяц или $30–120 за точку, поэтому цену придётся обосновывать сэкономленными часами управляющего.

Проверка проблемы ​

  • Сколько времени управляющие тратят на составление графиков сегодня?
  • Как часто график меняется после публикации и кто этим занимается?
  • Во что обходится типичному магазину избыток или нехватка персонала?

Мы планируем ответить на эти вопросы в разговорах со знакомыми управляющими магазинов — начиная с тех, кто работал с нами на скользящих сменах.

Продукт ​

  • Агент или солвер. Наше рабочее допущение: агент переводит запросы в ограничения, а график строит солвер. См. Составление графика и Агент и солвер. Это нужно подтвердить прототипом.
  • Мессенджер как второй канал. Первый канал — наше собственное приложение. Смогут ли сотрудники писать ещё и из Telegram, Viber или WhatsApp, не решено. См. Ассистент сотрудника.
  • Инструменты ассистента: выборы, сделанные при создании шага 1 (19 октября 2026, на подтверждение владельцу). Разрешение разговора теперь хранит возможности («schedule.read», «requests.submit»), а не имена инструментов. store_people не показывает адреса почты людей. Отправка своего подтверждённого запроса остаётся прямым действием, как была. Два следующих шага упирались в права того дня: описание магазина и его часы менял только владелец, и деактивация людей, смена их управляющего и приглашения были тоже его. Владелец дал управляющим эти права для сотрудников их магазина 19 октября 2026 (выше), и с шага 3, созданного в тот же день, они стали инструментами. См. Инструменты агента.
  • Солвер: выборы, сделанные при его создании (19 октября 2026, на подтверждение владельцу). Правило 11 ч отдыха — жёсткое для смен, которые добавляет солвер, а вручную остаётся предупреждением. Веса цели — кассо-часы без кассира и пробелы без дежурного 10 000 за час, переработка 100 за час, изменённая смена 40, справедливость 8 и 1 — наш выбор, а не измерение. Решение, подтверждённое с карточки ассистента, записывается как решение управляющего («person»), а не «ассистента». План управляющего не трогает строки управляющих, которые принадлежат владельцу, поэтому пробелы без дежурного управляющего называются, но не закрываются. См. Агент и солвер.
  • Вход в демо. В плане на 18 октября вместо настоящего входа — переключатель ролей; останется ли так, нужно подтвердить — теперь, когда минимальный настоящий вход уже есть (6 октября 2026). См. Две недели до демо.
  • Всё техническое, кроме инструментов. Хостинг, языковая модель, уведомления и то, где хранятся данные сотрудников. См. Архитектуру.
  • Утверждение. В демо каждое изменение утверждает управляющий. Устроит ли это управляющих, ещё предстоит выяснить; автоматическое утверждение в план не входит.
  • Данные о посещаемости. Какие источники на самом деле есть у магазинов. См. Входные данные. С 14 октября 2026 обычное число чеков по часам можно ввести вручную; могут ли магазины его выгружать и как оно превратится в число людей, по-прежнему не решено; постоянное соотношение чеков на кассира в дневном виде (16 октября 2026) — один ответ, владельцу его ещё подтвердить.
  • Описания магазинов и людей и кто их видит (сделано 14 октября 2026, ждёт подтверждения владельца). У магазина и у каждого человека есть описание простым текстом — контекст для будущего ассистента; пока его ничто не читает. Три решения приняты при разработке и ждут владельца: человек никогда не видит собственного описания, а управляющий видит только описания сотрудников своего магазина, не других управляющих (приватность); управляющий описывает любого сотрудника магазина, а не только своих людей; почасовую нагрузку магазина правят не только владелец, но и управляющие магазина, потому что они знают его посещаемость. См. Структуру данных.
  • Одна сетка и её фильтр (сделано 14 октября 2026, ждёт подтверждения владельца). При разработке приняты три решения. Управляющий видит те же строки, что и раньше — управляющих своего магазина тоже, только для просмотра, — так что ничего не расширено; должны ли управляющие и дальше видеть строки других управляющих — вопрос к владельцу. Список недель магазина теперь показывает смены, часы и переработку всех вместе, потому что в сетке больше нет групп. При переходе к другому магазину роль и участок в фильтре сохраняются, а выбранные люди и управляющий сбрасываются: они относятся к прежнему магазину. См. Экраны.
  • Разделённые смены (сделано 14 октября 2026, ждёт подтверждения владельца). Теперь у человека может быть несколько смен в один день, например 12:00–14:00 и 18:00–20:00; смены одного дня могут соприкасаться, но не пересекаться. Открыто: правильный ли предел — три в день (выбран при разработке); нужен ли минимальный промежуток между сменами одного дня (сейчас его нет); и может ли человек взять выходной только на часть разделённого дня — сейчас выходной и замена берут каждую смену дня, а обмен и другие часы касаются одной смены. См. Структуру данных.
  • Причина при каждом отклонении (правило владельца, сделано 14 октября 2026). Управляющий или владелец, отклоняя запрос на изменение, обязан объяснить почему, от 3 до 500 символов (границы подтверждены владельцем 14 октября 2026), и сотрудник это видит. Открыто для владельца: должен ли коллега, который отказывается подменить или поменяться, тоже иметь возможность назвать причину — необязательную, ведь коллега не решает, — или всё остаётся как сейчас, без неё; и то, что Undo стирает причину, так что при новом отклонении её спрашивают снова. См. Структуру данных.
  • Кто одобрил изменение (правило владельца, сделано 14 октября 2026). График, «Мои смены», диалог смены и списки запросов говорят, кто одобрил изменение, или «Approved automatically». Решение записывает, как оно принято, — человеком, автоматически или ассистентом, — хотя сейчас решает только человек. Решено владельцем (14 октября 2026): управляющие видят, кто менял график — владелец и каждый управляющий магазина видят на сетке, кто одобрил каждое изменение, так что управляющий видит и «Approved by Alex Morgan» на смене другого управляющего; сотрудники видят это на своих сменах, в «Моих сменах». Открыто для владельца: должно ли что-то одобряться автоматически вообще и какие изменения; и то, что прошлые решения без человека считаются автоматическими (таких нет: до сих пор одобрение обязано было называть человека). См. Структуру данных.
  • Дневной вид и лист месяца (сделано 16 октября 2026, ждёт подтверждения владельца). При создании сделаны три выбора. Как люди считаются по часам: в человеко-часах — человек входит в час той частью, которую он там находится, минус перерыв с известным началом; перерыв без времени начала не вычитается, так что этот человек считается присутствующим всю смену. Нужно касс = чеки ÷ чеков на кассира в час, с округлением вверх, не меньше одной, пока магазин открыт, — новая настройка магазина, 80, пока не изменят, её правят владелец и управляющие магазина, как почасовую нагрузку. Договор за месяц = часы в неделю × дней в месяце ÷ 7, так что частично покрытая неделя считается по своим дням в месяце; выходные считаются только в неделях, у которых есть график. См. Структуру данных.

Риски ​

  • Трудовое право. Нормы различаются в зависимости от страны и договора. Кто несёт ответственность, если сгенерированный график их нарушит?
  • Данные сотрудников. Доступность, отсутствия и личные причины — чувствительная информация. Где хранятся данные и кто их видит, нужно определить до любого пилота.
  • Доверие. Управляющий, который не понимает, почему агент выбрал ту или иную смену, переделает всё вручную.

Следующий шаг ​

Следующий шаг — двухнедельный план демо: MVP только в браузере к 18 октября 2026 на заранее заполненных данных одного вымышленного магазина. Каждое изменение утверждал бы управляющий. Это заменяет ближайшее предложение начать с реальных данных магазина; проверка с реальным магазином остаётся дальнейшей работой, а не существующим пилотом.