supersam/docs/superpowers/plans/2026-03-13-demo-workflow-re...

69 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Demo Workflow Refresh Implementation Plan
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Обновить demo-режим под согласованную модель ролей, статусов заказа, статусов согласования доставки и этапных уведомлений.
**Architecture:** Демо-данные остаются главным источником состояния в UI, но статусная модель выносится в константы и сервисные хелперы, чтобы моковые сценарии, таблицы, карточка заказа и панель уведомлений использовали одну и ту же бизнес-логику. UI не получает новые backend-зависимости: меняются только локальные данные, чистые функции и React-компоненты.
**Tech Stack:** React 18, Vite, Vitest, demo state via hooks, existing UI kit.
---
## Chunk 1: Workflow Model
### Task 1: Зафиксировать новую статусную модель в тестах и константах
**Files:**
- Modify: `src/services/orderService.test.js`
- Modify: `src/constants/orderStatuses.js`
- Create: `src/constants/deliveryWorkflow.js`
- [ ] Добавить тесты на новую основную линейку статусов, метрики и доступные переходы.
- [ ] Прогнать только `orderService` тесты и убедиться, что они падают по старой модели.
- [ ] Вынести статусы, комментарии и переходы в workflow-константы.
- [ ] Повторно прогнать `orderService` тесты.
## Chunk 2: Demo State
### Task 2: Перевести моковые заказы, пользователей и уведомления на новую схему
**Files:**
- Modify: `src/data/mockAppData.js`
- Modify: `src/services/orderService.js`
- Modify: `src/hooks/useOrders.js`
- [ ] Добавить роль водителя и новые demo-заказы с разными этапами процесса.
- [ ] Добавить в заказы статус согласования доставки, пояснения и этапные уведомления.
- [ ] Обновить сервисные функции создания заказа, смены статуса, метрик и уведомлений.
- [ ] Прогнать таргетированные тесты на демо-логику.
## Chunk 3: UI
### Task 3: Поднять интерфейс под новую модель
**Files:**
- Modify: `src/pages/DashboardPage.jsx`
- Modify: `src/components/orders/OrderDetailPanel.jsx`
- Modify: `src/components/orders/OrdersTable.jsx`
- Modify: `src/components/dashboard/ProductionQueuePanel.jsx`
- Modify: `src/components/logistics/BotControlPanel.jsx`
- Modify: `src/constants/roles.js`
- [ ] Обновить реестр, канбан и производственную панель под новые статусы.
- [ ] Показать в карточке заказа комментарий к статусу, статус согласования доставки и доступные переходы по роли.
- [ ] Подтянуть новую роль водителя и актуальные подписи разделов.
- [ ] Актуализировать демо-уведомления на экране обзора.
## Chunk 4: Verification
### Task 4: Полная проверка
**Files:**
- No code changes expected
- [ ] Запустить `npm test -- --watchAll=false`.
- [ ] Запустить `npm run lint`.
- [ ] Запустить `npm run build`.
- [ ] Кратко зафиксировать, что именно изменилось в demo-режиме и что ещё осталось вне объёма.