ekspertiza-dokumentov-dlya-s/brief.md

210 lines
23 KiB
Markdown
Raw Permalink 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.

# Экспертиза документов для советов
Собери СТАТИЧНЫЙ макет всего процесса: кликабельные экраны без серверной логики, наполненные правдоподобными примерами. Без пометок «макет», «демо» и «демонстрационная версия» на экране.
Это ИНТЕРФЕЙС решения, а не паспорт в виде сайта: первым открывается главный рабочий экран сотрудника (то, с чем он работает каждый день), дальше — экраны остальных шагов процесса. Таблицы, списки и графики сразу заполнены примерами (8–15 строк), пустых состояний «ничего не найдено» при открытии быть не должно. Сведения паспорта (предпосылки, эффект, риски) — одной последней вкладкой «О решении», не первой.
# ТЗ НА ИНТЕРФЕЙС
## Что собираем
Автоматизированная сверка документов на назначение руководителей SEO-1 с нормативной базой и подготовка заключения
## Кто пользуется
- Эксперт: загружает документы, запускает проверку, верифицирует выводы ИИ, готовит итоговое заключение
- Руководитель: просматривает итоговое заключение и согласовывает документы
## Экраны (первым открывается первый)
### 1. Загрузка и обзор материалов
Вход в процесс: загрузка пакета документов и первичное ознакомление
На экране:
- Список загруженных файлов (пояснительная записка, подтверждающие документы)
- Статус загрузки: 'Ожидает проверки' / 'Готово к анализу'
- Кнопка запуска анализа
- Список источников для сверки (ТК РК, Закон об АО, внутренние правила)
Действия:
- Загрузить документы
- Запустить анализ ИИ
- Просмотреть содержимое файлов
### 2. Результаты анализа ИИ
Отображение выводов системы по сверке процесса и квалификации
На экране:
- Таблица нарушений: Тип нарушения, Описание, Ссылка на пункт нормативного акта
- Статус проверки: 'Сверка процесса' / 'Проверка квалификации'
- Индикатор противоречий в документах
- Журнал действий ИИ (лог анализа)
Действия:
- Открыть ссылку на пункт закона
- Отметить пункт как 'Ложное срабатывание'
- Перейти к подготовке заключения
### 3. Формирование заключения
Верификация выводов экспертом и создание итогового документа
На экране:
- Редактируемый текст заключения
- Чек-лист подтвержденных нарушений (отфильтрованные из списка ИИ)
- Кнопка 'Вернуть в ручной режим' (при необходимости)
- Статус: 'Черновик' / 'Готово к согласованию'
Действия:
- Редактировать текст заключения
- Утвердить список нарушений
- Отправить на согласование руководителю
### 4. Согласование руководителем
Финальное утверждение документов
На экране:
- Итоговое заключение эксперта
- Список подтвержденных нарушений
- Статус согласования: 'Ожидает решения' / 'Согласовано' / 'Отклонено'
- Дата и время согласования
Действия:
- Согласовать документы
- Отклонить с комментарием
## Данные
- Документ: Название файла, Тип (Пояснительная записка, Подтверждающий документ), Дата загрузки, Статус
- Нарушение: Описание несоответствия, Тип (Процесс отбора, Квалификация, Противоречие), Ссылка на пункт нормативного акта, Статус верификации (Подтверждено, Ложное срабатывание)
- Заключение: Текст заключения, Список подтвержденных нарушений, Статус (Черновик, Готово, Согласовано), ID заявки
## Путь сотрудника
- Эксперт загружает документы на экране 'Загрузка и обзор материалов'
- Эксперт переходит на экран 'Результаты анализа ИИ' и проверяет выводы
- Эксперт формирует итоговое заключение на экране 'Формирование заключения'
- Руководитель просматривает и согласовывает документы на экране 'Согласование руководителем'
## Что делает ИИ
- Сверка процесса отбора с внутренними документами и законодательством (экран 'Результаты анализа ИИ')
- Проверка соответствия кандидата квалификационным требованиям (экран 'Результаты анализа ИИ')
- Формирование списка нарушений со ссылками на пункты нормативных актов (экран 'Результаты анализа ИИ')
## Что проверяет и решает человек
- Эксперт проверяет выводы ИИ на предмет ошибок при противоречиях в документах
- Эксперт готовит итоговое заключение на основе верифицированных данных
- Руководитель принимает решение о согласовании документов
# КОНТЕКСТ (для понимания процесса; на экраны целиком не выносить)
# ПАСПОРТ ИИ-РЕШЕНИЯ
| Поле | Значение |
|---|---|
| Наименование | Экспертиза документов для советов |
| Исполнитель | владелец процесса – сборка на платформе Vibe AI |
| Пользователь | эксперт, руководитель |
| Дата внедрения | – |
## 1. Предпосылки
- Необходимость читать большое количество внутренних документов и законодательных актов
- Необходимость сравнивать документы на соответствие нормативным требованиям
## 2. Входные данные и источники
- Трудовой кодекс Республики Казахстан
- Закон об акционерных обществах
- Правила трудового распорядка
- Правила поиска и подбора персонала
- Корпоративный стандарт по управлению человеческими ресурсами фонда
## 3. Процессы для внедрения ИИ
- Сверка пояснительной записки с фактическим процессом отбора
- Проверка соответствия кандидата квалификационным требованиям
- Поиск несоответствий и противоречий в документах
## 4. Шаги процесса
- Эксперт получает документы на назначение руководителей уровня SEO-1 с материалами
- Эксперт знакомится с пояснительной запиской и подтверждающими документами
- Система сверяет процесс отбора с внутренними документами и законодательством
- Система проверяет соответствие кандидата квалификационным требованиям должностной инструкции
- Система формирует список нарушений со ссылками на пункты нормативных актов
- Эксперт проверяет выводы и готовит итоговое заключение
- Руководитель согласовывает документы
## 5. Результат
- Заключение с подтверждением согласования документа
- Заключение со списком нарушений и ссылками на пункты законов и внутренних документов
## 6. Ожидаемый эффект
- Ускорение времени рассмотрения материала
- Повышение качества проверки за счет снижения риска человеческих ошибок
## 7. Экономический эффект
- 20 экспертиз в месяц на всех экспертов
- 50 часов в месяц (оценка Төре)
## 8. Контроль и риски
- Возможность ошибки ИИ при противоречиях в разных внутренних документах
- Необходимость проверки выводов экспертом
## 9. Меры по снижению
- Проверка результата человеком перед использованием.
- Журнал действий ИИ и возможность вернуть ручной режим.
## 10. Формат реализации
- ИИ-агент на платформе Alem; при необходимости — простой веб-экран на Vibe AI.
- Экраны макета: Загрузка и обзор материалов; Результаты анализа ИИ; Формирование заключения; Согласование руководителем.
Схема процесса (mermaid):
flowchart TD
S0["Эксперт получает документы на назначение руководителей уровня SEO-1 с материалами"]
S1["Эксперт знакомится с пояснительной запиской и подтверждающими документами"]
S0 --> S1
S2["Система сверяет процесс отбора с внутренними документами и законодательством · ИИ"]
S1 --> S2
S3["Система проверяет соответствие кандидата квалификационным требованиям должностной инструкции · ИИ"]
S2 --> S3
S4["Система формирует список нарушений со ссылками на пункты нормативных актов · ИИ"]
S3 --> S4
S5["Эксперт проверяет выводы и готовит итоговое заключение"]
S4 --> S5
S6["Руководитель согласовывает документы"]
S5 --> S6
## Объём работы
Собирай ровно то, что написано в задании. Не добавляй лишние разделы, журналы и настройки. Для статичной страницы достаточно index.html. Если запрошен статичный макет, не добавляй серверную часть на этом этапе.
Если задача требует общего хранения, настоящей регистрации или рабочего приложения, реализуй серверную часть и базу данных средствами Vibe AI. Создай необходимые файлы, таблицы и обработчики, даже если владелец не перечислил их отдельно. Не подменяй общее хранение localStorage или демонстрационным списком. Собственная база приложения не требует интеграции с системами КТ и отдельного утверждения дизайна в экспрессе. При доработке существующего проекта это правило заменяет прежнее ограничение одним HTML-файлом.
Проверь сохранение записи, чтение из другой сессии, обработку ошибок и ограничения доступа. Личные данные доступны только уполномоченному пользователю, секреты не попадают в браузерный код. Не придумывай доступы или готовые интеграции. Если публикация серверной части недоступна, укажи конкретную причину и не объявляй функцию работающей. Закончив, опубликуй приложение и сообщи фактический адрес и результаты проверки; сохраняй прежний адрес, если платформа это позволяет.
## Имена файлов
Если серверная часть не нужна, скрипт интерфейса называй script.js, стили — style.css. Не создавай в корне проекта файлы app.js, main.js, index.js, server.js, bot.js, app.py, main.py, server.py и package.json со scripts.start: платформа примет проект за серверное приложение и не опубликует статичный сайт. Эти имена — только для настоящего сервера.
## Дизайн — дизайн-система KT AI
Весь интерфейс собирай на дизайн-системе KT AI, которая уже лежит в папке проекта `design-system/`.
Перед первой строкой вёрстки прочитай `design.md` и `design-system/AGENTS.md` и следуй им.
Подключай файлы ДС относительными путями и в этом порядке: `./design-system/kt-ai-fonts.css`,
`./design-system/kt-ai-tokens.css`, `./design-system/kt-ai-components.css`, `./design-system/kt-ai-page.css`.
Тема по умолчанию — светлая: `<html lang="ru" data-theme="light">`; не ставь `dark` и не ставь `auto`
(auto уходит в тёмную по системной теме). `lang` — язык интерфейса из задания: казахский — `kk`, английский — `en`, иначе `ru`. Переключатель темы можно оставить, но открываться страница должна светлой.
Цвета, отступы и размеры — только токенами `var(--kt-ai-…)`, иконки — из `design-system/icons/kt-ai-lucide-sprite.svg`.
Плашки показателей — `.kt-ai-kpi` (`.value`, `.label`, `.hint`) в полосе `.kt-ai-kpi-strip`; таблицы — по правилам ДС (frameless, `.kt-ai-table-wrap`, числа вправо, `tabular-nums`);
графики — чистый SVG/div высотой 190–220px, столбцы 20–28px с радиусом 2px, цвета только `var(--kt-ai-chart-blue|green|orange|pink|red|salmon)`, подсказки значений — `data-kt-tip` + `./design-system/kt-ai-chart-tip.js`.
Имена токенов не выдумывай — только существующие в `design-system/kt-ai-tokens.css`: --kt-ai-fg / -fg-muted / -fg-faint, --kt-ai-bg / -bg-soft, --kt-ai-card-bg / -card-border, --kt-ai-border / -border-strong, --kt-ai-primary, --kt-ai-radius-xl / -3xl, --kt-ai-font-sans / -mono, --kt-ai-chart-blue / -green / -orange / -pink / -red / -salmon, --kt-ai-status-ok-fg / -warn-fg / -risk-fg.
Несуществующий токен (`--kt-ai-text-primary`, `--kt-ai-bg-surface`, `--kt-ai-font-family`) молча не применится — страница выйдет в Times New Roman без рамок.
Классы ДС (`.kt-ai-kpi`, `.kt-ai-card`, `.kt-ai-table`, `.kt-ai-btn`, `.kt-ai-chip`, `.kt-ai-input`) в своём `<style>` не переопределяй — ДС рисует их сама; свой `<style>` — только сетка и отступы. `<body class="kt-ai-app">`.
Перед публикацией проверь сам: в HTML не меньше десятка классов `kt-ai-*`, каждый `var(--kt-ai-…)` есть в tokens.css, свои hex-цвета — только внутри логотипа. Иначе это не дизайн-система, а перекраска.
Фильтры и пустое состояние тоже из ДС (`.kt-ai-select`, `.kt-ai-filter-chip`, `.kt-ai-empty`): каждый выведенный фильтр обязан менять все представления, которые задевает — таблицу, показатели, график и текст объяснения.
Таблицы, списки, журналы, дашборды и формы собирай из готовых классов ДС (`design-system/COMPONENTS.md`),
архетип экрана выбирай по `design-system/docs/ARCHETYPES.md`. Каркас страницы — из `design.md`, с обычными `<link>`.
Шаблон `design-system/templates/kt-ai-app-shell.html` целиком не копируй: его скрипты-загрузчики (`data-kt-ai-base-resolver`,
`data-kt-ai-boot`) тянут CSS с корня сайта по абсолютному пути `/design-system/…`, а сайт публикуется в подпапке — стили не загрузятся.
Подключай только файлы, которые реально лежат в `design-system/` (проверь `ls design-system`): файла `kt-ai-components.js` там нет.
Шапка страницы: слева логотип Казахтелекома — `<img src="https://code.vibe42.kz/tore/aitu/kt-logo.svg" alt="Казахтелеком" height="28">`, рядом название приложения.
Свой стиль не выдумывай, Bootstrap/Tailwind/Material/Google Fonts не подключай, сырые hex-цвета не пиши.
Папку `design-system/` закоммить вместе с проектом — иначе опубликованная страница останется без стилей.
## Телефон — основной экран
Сотрудники открывают приложение в мессенджере на телефоне. Всё рабочее — поиск, фильтры, кнопки действий, формы, переключатели — должно быть видно и работать при ширине 375px, без горизонтальной прокрутки страницы. Дизайн-система на экранах уже 640px скрывает поиск верхней панели (классы `.kt-ai-search` и `.kt-ai-search-field`): рабочий поиск по данным ставь в области контента над списком или таблицей обычным полем `.kt-ai-input`, а не этими классами.
## Без пометок «демо»
Не пиши на экране «Демо-данные», «демонстрационная версия», «тестовые данные», «макет» и похожие пометки. Если настоящих данных нет — наполни приложение правдоподобными примерами. Не утверждай, откуда взяты данные.
## Ничего не додумывай
НИЧЕГО НЕ ДОДУМЫВАЙ (правило продукта): источник — задание (в нём — слова сотрудника). Сведений о работе, которых там нет, не добавляй и не «уточняй» за сотрудника: компании и бренды, системы и интеграции, отделы и роли, адреса, числа, цены, сроки, показатели, источники данных. Чего нет — того не пиши. Предлагать своё можно, только если сотрудник сам просит предложить, придумать, подобрать, найти или изучить. Примеры в таблицах и на графиках — обычные и нейтральные, они только показывают устройство экрана. Чего-то не хватает — оставь поле пустым или добавь пустое состояние, а не выдуманный факт.
## Большие файлы — частями, скрипт — простой
Файл длиннее ~250 строк не пиши одной записью: создай его с первой частью и дописывай следующими правками (по экрану или блоку за раз). Запись слишком большого файла одним сообщением обрывается.
Скрипт пиши просто: обычные функции и циклы, без хитрых однострочников; методы строк (padStart, toFixed, slice) вызывай у значений нужного типа, к элементу обращайся после проверки, что он найден. После сборки перечитай скрипт: парные скобки, каждый экран рисуется без исключений, первый экран при открытии сразу показывает наполненные таблицы.
Интерпретатора JavaScript в песочнице нет — не ищи его и не пиши свои проверяльщики: синтаксис опубликованной страницы проверит Tõre и сообщит, если что-то не так.