Project

General

Profile

Actions

Пользовательские требования

Требования сформулированы с позиции заказчика (пользователя продукта).
Формат: User Story + статус реализации.
Источники: frontend-issues.md, backend-issues.md, narrator-ai-issues.md, feature-roadmap.md, architecture-review.md


Сводка по доменам

Домен Реализовано Открыто Всего
Story Management 14 2 16
AI Narrator 17 2 19
Characters & World 8 1 9
Auth & Accounts 5 4 9
Export & Analytics 3 0 3
Collaboration 0 2 2
Quality (NFR) 22 6 28
Итого 69 17 86

1. Story Management (Управление историей)

Реализованные

  • REQ-SM-01 ✅ Как писатель, я хочу создавать проекты с главами и блоками текста, чтобы структурировать историю.
  • REQ-SM-02 ✅ Как писатель, я хочу перетаскивать блоки (drag-and-drop) для изменения порядка.
    FR5, F5
  • REQ-SM-03 ✅ Как писатель, я хочу редактировать текст блоков inline и сохранять по Ctrl+S.
  • REQ-SM-04 ✅ Как писатель, я хочу видеть подтверждение перед удалением блока.
    F11
  • REQ-SM-05 ✅ Как писатель, я хочу вставлять блоки в середину главы, а не только в конец.
    Narrator issue #28
  • REQ-SM-06 ✅ Как писатель, я хочу разделять блоки (split) и объединять (merge).
    Narrator issue #23, #28
  • REQ-SM-07 ✅ Как писатель, я хочу видеть историю версий блока и восстанавливать предыдущие.
    FR12
  • REQ-SM-08 ✅ Как писатель, я хочу мягкое удаление проектов/глав с возможностью восстановления.
    Architecture D3
  • REQ-SM-09 ✅ Как писатель, я хочу изменять размер панели чата (drag-to-resize).
    FR6, F24
  • REQ-SM-10 ✅ Как писатель, я хочу управлять сессиями чата: переключать, создавать, удалять.
    FR7, F25, F26
  • REQ-SM-11 ✅ Как писатель, я хочу видеть количество слов при наведении на блок.
    F30
  • REQ-SM-12 ✅ Как писатель, я хочу видеть подсветку блоков, изменённых AI.
    F34, F35
  • REQ-SM-13 ✅ Как писатель, я хочу видеть табы чатов (как в Cursor/браузере) для быстрого переключения.
    F33
  • REQ-SM-14 ✅ Как писатель, я хочу кликабельные quick-action кнопки в пустом чате.
    F32

Открытые

  • REQ-SM-15 🔴 Как писатель, я хочу видеть diff-отображение AI-правок в стиле Git с возможностью частичного принятия.
    F36, NAI-7
  • REQ-SM-16 🔴 Как писатель, я хочу экспорт в EPUB и PDF (помимо TXT/DOCX).
    FR10 follow-up

2. AI Narrator (AI-ассистент)

Реализованные

  • REQ-AI-01 ✅ Как писатель, я хочу чтобы AI писал прозу по моему запросу, создавая блоки текста 800-2000 слов.
    Narrator #12, #13
  • REQ-AI-02 ✅ Как писатель, я хочу чтобы AI автоматически создавал персонажей, лор и события при генерации прозы.
    Narrator #21
  • REQ-AI-03 ✅ Как писатель, я хочу чтобы AI НЕ изобретал детали мира, а спрашивал меня.
    Narrator #20
  • REQ-AI-04 ✅ Как писатель, я хочу видеть процесс работы AI в реальном времени (стриминг).
    Narrator #1, #22, #27
  • REQ-AI-05 ✅ Как писатель, я хочу останавливать AI в любой момент (Stop button).
    Narrator #4
  • REQ-AI-06 ✅ Как писатель, я хочу чтобы AI привязывал события к таймлайну.
    Narrator #29, F41
  • REQ-AI-07 ✅ Как писатель, я хочу чтобы AI соблюдал причинно-следственную связь (персонаж не реагирует на неизвестное).
    Narrator #30, NAI-9
  • REQ-AI-08 ✅ Как писатель, я хочу чтобы AI отслеживал местоположение персонажей.
    Narrator #26
  • REQ-AI-09 ✅ Как писатель, я хочу чтобы AI расширял слишком короткие блоки (auto-expand).
    Narrator #12
  • REQ-AI-10 ✅ Как писатель, я хочу давать AI пользовательские инструкции (стиль, правила).
    FR9
  • REQ-AI-11 ✅ Как писатель, я хочу получать AI-подсказки для улучшения блоков (improve, expand, alternatives, plot hooks).
    FR13
  • REQ-AI-12 ✅ Как писатель, я хочу чтобы AI не дублировал себя и не зацикливался.
    Narrator #16, #17
  • REQ-AI-13 ✅ Как писатель, я хочу чтобы AI знал, какую главу я сейчас редактирую.
    Narrator #24
  • REQ-AI-14 ✅ Как писатель, я хочу чтобы AI не создавал дубликатов персонажей при опечатках (fuzzy matching).
    Narrator #15, NAI-11
  • REQ-AI-15 ✅ Как писатель, я хочу чтобы AI извлекал упомянутые сущности из моего запроса для контекста.
    F37
  • REQ-AI-16 ✅ Как писатель, я хочу чтобы AI обновлял сущности напрямую, а не создавал новые блоки.
    F40
  • REQ-AI-17 ✅ Как писатель, я хочу чтобы AI учился на моих правках (Project Style Memory).
    NAI-3

Открытые

  • REQ-AI-18 🔴 Как писатель, я хочу выбирать между разными AI-моделями (GPT vs Claude) и сравнивать результаты.
    F38
  • REQ-AI-19 🔴 Как писатель, я хочу чтобы AI использовал multi-agent orchestrator для сложных задач.
    NAI-12

3. Characters & World (Персонажи и мир)

Реализованные

  • REQ-CW-01 ✅ Как писатель, я хочу создавать/редактировать/удалять персонажей с трейтами и фрагментами.
    FR4
  • REQ-CW-02 ✅ Как писатель, я хочу создавать/редактировать/удалять события на таймлайне.
    FR4
  • REQ-CW-03 ✅ Как писатель, я хочу создавать/редактировать/удалять лор-записи с категориями и тегами.
    FR4
  • REQ-CW-04 ✅ Как писатель, я хочу видеть локации как страницу проекта.
    F29
  • REQ-CW-05 ✅ Как писатель, я хочу чтобы сущности имели темпоральные рамки (что когда действительно).
  • REQ-CW-06 ✅ Как писатель, я хочу чтобы AI использовал лор с учётом таймлайна.
    Narrator #25
  • REQ-CW-07 ✅ Как писатель, я хочу inline-редактирование на страницах сущностей.
    FR4, F28
  • REQ-CW-08 ✅ Как писатель, я хочу видеть health-отчёт по персонажам без фрагментов, блокам без событий и т.д.
    NAI-1

Открытые

  • REQ-CW-09 🔴 Как писатель, я хочу задавать правила для книги (Book Rules) в структурированном виде, которые AI обязан соблюдать.
    FR17

4. Auth & Accounts (Авторизация и аккаунты)

Реализованные

  • REQ-AU-01 ✅ Как пользователь, я хочу регистрироваться и входить по email + пароль.
    FR1
  • REQ-AU-02 ✅ Как пользователь, я хочу подписки с лимитами (Free / Pro / Enterprise).
    FR2
  • REQ-AU-03 ✅ Как пользователь, я хочу настройки профиля, темы и языка.
    FR3
  • REQ-AU-04 ✅ Как пользователь, я хочу сброс пароля.
    AUTH3
  • REQ-AU-05 ✅ Как пользователь, я хочу чтобы мои данные были защищены (авторизация на все endpoints).
    B1, B2, S1

Открытые

  • REQ-AU-06 🔴 Как пользователь, я хочу входить через Google OAuth.
    AUTH1
  • REQ-AU-07 🔴 Как пользователь, я хочу подтверждение email при регистрации.
    AUTH2
  • REQ-AU-08 🔴 Как пользователь, я хочу видеть пользовательское соглашение и политику конфиденциальности.
    AUTH4 — Critical для продакшена
  • REQ-AU-09 🔴 Как пользователь, я хочу лендинг-страницу продукта.
    PROD1

5. Export & Analytics (Экспорт и аналитика)

Реализованные

  • REQ-EA-01 ✅ Как писатель, я хочу экспортировать историю в TXT и DOCX.
    FR10
  • REQ-EA-02 ✅ Как писатель, я хочу видеть статистику: слова, главы, персонажи, прогресс по дням.
    FR14
  • REQ-EA-03 ✅ Как писатель, я хочу видеть мини-статистику прямо на канвасе.
    FR14

6. Collaboration (Совместная работа)

Открытые

  • REQ-CO-01 🔴 Как писатель, я хочу делиться проектами с другими пользователями (роли: owner, editor, viewer).
    FR11
  • REQ-CO-02 🔴 Как писатель, я хочу видеть присутствие других пользователей в проекте в реальном времени.
    FR16

7. Quality — Non-Functional Requirements (Нефункциональные)

Реализованные

  • REQ-NF-01 ✅ Система должна обрабатывать ошибки API с уведомлением пользователя.
    F4, F5, FE8
  • REQ-NF-02 ✅ WebSocket должен автоматически переподключаться.
    F10
  • REQ-NF-03 ✅ Система должна работать на мобильных устройствах (responsive layout).
    FR15
  • REQ-NF-04 ✅ Стримы должны иметь timeout (5 минут).
    F7
  • REQ-NF-05 ✅ Должна быть защита от race condition при быстрой отправке команд.
    F3
  • REQ-NF-06 ✅ Должна быть защита от дублирования запросов.
    Narrator #17
  • REQ-NF-07 ✅ API endpoints должны валидировать UUID.
    S3, A4
  • REQ-NF-08 ✅ API должно иметь rate limiting (60 req/min global, 10 req/min AI).
    S2
  • REQ-NF-09 ✅ Ошибки OpenAI не должны раскрывать API ключ.
    S4
  • REQ-NF-10 ✅ Должна быть единая CORS конфигурация.
    S5
  • REQ-NF-11 ✅ Должен быть health check endpoint.
    B6
  • REQ-NF-12 ✅ Должны быть индексы на FK в PostgreSQL.
    D1, D2
  • REQ-NF-13 ✅ Должна быть Error Boundary в React.
    F2
  • REQ-NF-14 ✅ Должно быть структурированное логирование запросов.
    B10
  • REQ-NF-15 ✅ Должен быть graceful shutdown.
    R1
  • REQ-NF-16 ✅ Ретраи при ошибках OpenAI (429, 500, 502, 503).
    R2
  • REQ-NF-17 ✅ Stores должны очищаться при смене проекта.
    FE2
  • REQ-NF-18 ✅ mergeBlocks/splitBlock должны сохранять junction-связи.
    R3
  • REQ-NF-19 ✅ ARIA labels для доступности.
    F16
  • REQ-NF-20 ✅ Мемоизация компонентов (React.memo).
    F19
  • REQ-NF-21 ✅ Чат не должен зависать при недоступном сервере (10с timeout).
    F31
  • REQ-NF-22 ✅ Валидация temporal данных (validFrom <= validUntil).
    A5

Открытые

  • REQ-NF-23 🔴 Мобильный UI требует глубокой доработки: hover→touch, bottom-sheet NarratorPanel, touch targets >=48px.
    F39
  • REQ-NF-24 🔴 N+1 запросы в CharactersService требуют оптимизации.
    A3
  • REQ-NF-25 🔴 Temporal data consistency: блоки могут ссылаться на невалидные трейты.
    Backend D1
  • REQ-NF-26 🔴 fullStory endpoint загружает весь граф проекта — нужна пагинация/lazy loading.
    Architecture P2
  • REQ-NF-27 🔴 Abort mid-tool может оставлять orphaned entities.
    Architecture B1
  • REQ-NF-28 🔴 Нет shared types между frontend и backend.
    Architecture A1

Фичи для будущих версий (Backlog)

  • REQ-BL-01 🔮 Аудио-ввод через Whisper API. FEAT1
  • REQ-BL-02 🔮 Story Health Report в контексте AI. NAI-1 (реализовано backend, можно расширять)
  • REQ-BL-03 🔮 Project metadata: жанр, формат, целевой объём, акты. NAI-8

Последнее обновление: 2026-02-16

Updated by Hardelele User about 9 hours ago · 1 revisions