История изменений

Что нового в СУТР Навигатор

v0.53.1

Удаление требования теперь срабатывает сразу

  • Исправлена ошибка, из-за которой удаление требования (из дерева, таблицы или карточки) будто не срабатывало — объект оставался виден, потому что сервер отдавал закэшированный снимок дерева/таблицы. Теперь любое изменение требования сразу сбрасывает этот кэш.
v0.53.0

Чистый импорт docx (без оглавления, тело одним текстом, зеркалирующий реимпорт) и UX-исправления требований

  • Импорт docx теперь пропускает автособираемое оглавление Word и собирает тело раздела в один текстовый объект (картинки и код внутри текста, рядом с подписями) — объектов стало в разы меньше, документ компактнее и читаемее.
  • Повторный импорт docx теперь зеркалит документ — объекты, которых больше нет в файле, убираются, а трассировки и история сохраняются.
  • Панель свойств требования открывается иконкой, а не кликом по строке, — текст требования теперь можно выделять и копировать.
  • Объекты с картинкой, кодом или таблицей показываются понятным значком вместо «Empty», а счётчик требований считает реальные требования.
  • Текстовые объекты отображаются обычным текстом, а заголовочный стиль остаётся только у разделов.
v0.52.1

Журналы аудита доступны только при праве просмотра спецификации

  • Журналы аудита теперь доступны только участникам с правом просмотра соответствующей спецификации; запросы без указания области отклоняются.
v0.52.0

Навигация по «Содержанию» больше не прячется под шапкой; импорт docx распознаёт код-блоки

  • При переходе из панели «Содержание» раздел больше не прячется под шапкой — учтена высота фиксированной панели.
  • Импорт docx распознаёт код — моноширинные параграфы (Courier New и т.п.) собираются в блоки кода.
v0.51.0

Журнал изменений требования и спецификации

  • Журнал изменений требования теперь доступен из интерфейса — кнопка «Журнал изменений» на странице требования; «Базовые версии» теперь видны всем участникам с правом просмотра.
  • Сводный журнал изменений спецификации — хронология «кто, что и когда менял» по всему документу с фильтрами по автору, действию и периоду.
v0.50.0

Регулируемая ширина «Содержания», надёжная навигация по разделам, исправление строк дерева, восстановление после ошибок

  • Клик по разделу в панели «Содержание» теперь с первого раза попадает в нужный раздел даже в больших документах.
  • Устранено наложение строк в дереве требований для объектов с код-блоками, таблицами и картинками.
  • Ширину панели «Содержание» теперь можно регулировать перетаскиванием края, и выбранная ширина запоминается.
  • Ошибки интерфейса больше не валят всё приложение: появляется страница ошибки с кнопкой «Повторить», а сбой боковой панели изолируется от остального экрана.
v0.49.0

Импорт docx: тело раздела как отдельные текстовые объекты; исправления картинок и «Атрибутов»

  • При импорте docx раздел теперь содержит только заголовок; абзацы, таблицы и картинки тела становятся отдельными объектами «обычный текст» (TEXT), а реимпорт обновляет их без дублей.
  • Импорт docx теперь распознаёт VML/OLE-картинки (например, диаграммы Enterprise Architect); несконвертированные изображения показываются явной заглушкой с указанием причины вместо «серого прямоугольника».
  • Исправлен краш «Application error» при открытии редактора «Атрибуты» на спецификациях, импортированных из бандла — схема атрибутов нормализуется к единому формату.
v0.48.0

Тип объекта «Текст» для обычного текста; убраны «Примечание»/«Пример»

  • Новый тип «Текст» хранит обычный текст: это не-требование (без кода, трассировки, верификации и валидации), но отображается обычным абзацем — не заголовком и не врезкой. Косметические «Примечание» и «Пример» убраны, а существующие строки этих типов переразмечены в «Текст»; набор типов теперь — Требование · Раздел · Текст · Допущение. Пикер, DSL (токен «:text»), импорт/экспорт (HTML, DOCX, PDF, ReqIF, bundle) и поиск распознают новый тип.
v0.47.0

Перенос изображений и диаграмм при импорте bundle (EMF/WMF → SVG)

  • Импорт bundle теперь переносит изображения: новая секция «assets» передаёт байты, общий резолвер конвертирует векторные метафайлы в SVG (EMF/EMF+ через emf2svg, WMF через wmf2svg) и загружает растровые изображения как есть, подставляя URL вместо ссылок «asset:<id>». Импорт Word использует тот же резолвер (потоково, без лишней памяти), а конвертер FSCU теперь переносит диаграммы, а не отбрасывает их. Предпросмотр проверяет ассеты без загрузки; неуспешная конвертация заменяется плейсхолдером, а не валит импорт.
v0.46.2

Исправление: создание спецификации с кодом через подчёркивание; показ ошибок валидации

  • Код спецификации теперь может содержать подчёркивания (например, LLR_TEST), как и коды требований. Диалог создания спецификации показывает ошибки сервера/валидации, а не «молча ничего не делает» при неверном коде.
v0.46.1

Исправление: импорт разделов и примечаний (bundle/Word)

  • Импорт bundle теперь переносит тип строки (REQUIREMENT/SECTION/NOTE/…) и не требует код для не-требований. Раньше заголовки Word-документа (например, оглавление) импортировались как «Требование», а большие документы падали на предпросмотре с ошибкой «"code" is required». Теперь заголовки импортируются как разделы с корректным типом.
v0.46.0

Импорт спецификаций из Word (.docx) в приложении

  • Документы требований Word (.docx) теперь импортируются из интерфейса: выбор шаблона (первый — ГосНИИАС/БУТС), предпросмотр разобранной структуры и асинхронный импорт с конвертацией диаграмм Enterprise Architect (EMF→SVG) и созданием спецификации с разделами, требованиями, иерархией и трассировкой. Поверх движка docx-import и существующего bundle-импорта.
v0.45.0

Импорт спецификаций из Word (.docx) через CLI (самообслуживание)

  • Новый шаблонный движок (@rms-navigator/docx-import) и документированный CLI импортируют Word-описание проекта ПО в спецификацию: заголовки → разделы, требования низкого уровня §6 с восстановлением родителя/трассировки, таблицы, пользовательские атрибуты, диаграммы Enterprise Architect (EMF) → SVG. Первый шаблон — ГосНИИАС/БУТС. См. docs/admin-guide/ru/word-import.md. Импорт из UI — следующим шагом.
v0.44.2

Хотфикс: админский сброс пароля участника пространства

  • Действие «Сбросить пароль» в списке участников пространства возвращало 404: фронтенд вызывал POST /api/v1/admin/users/:userId/reset-password, но маршрут бэкенда смонтирован под префиксом /api/v1/users и фактически обслуживался по /api/v1/users/admin/users/:userId/reset-password. Обе стороны приведены к единому пути POST /api/v1/users/:userId/reset-password — владелец/админ пространства снова может сгенерировать временный пароль участнику.
v0.44.1

Полные названия типов спецификаций для всех 31 типа

  • В выпадающем списке типов спецификации теперь у каждого типа корректное название — 22 типа помимо SRS/SDD/HLR/LLR/IRS/STP/STD/SVP (результаты тестирования, планы PSAC/SDP/SCMP/SQAP, стандарты, каталоги комплектации и среды ЖЦ, итоговое заключение, а также аппаратные и системные артефакты КТ-254 / Р-4754А) больше не показываются сырыми ключами — в русской и английской локали.
v0.44.0

Управление тестами и покрытие по требованиям (слой верификации)

  • Новый модуль управления тестами добавляет слой верификации (КТ-178С §6.4): тест-кейсы (нормального диапазона / робастности, §6.4.2) с трассой на требования, импорт прогонов из структурированного JSON или JUnit XML и пересчёт статуса верификации каждого требования из реальных прогонов (PASS / FAIL / PARTIAL / NOT_VERIFIED). Покрытие по требованиям (§6.4.4.1) показывает долю требований с проходящим тестом и пробелы; импортированная сводка структурного покрытия (§6.4.4.2) хранится и отображается. RMS учитывает и анализирует покрытие — он не исполняет тесты и не вычисляет структурное покрытие сам.
  • Исполняемый скрипт тест-кейса можно привязать к единице конфигурации в CMS, а колонка «Результат» матрицы верификации теперь питается статусом последнего реального прогона.
v0.43.0

FMEA/FMES и питание деревьев неисправностей интенсивностями

  • Листы FMEA (объект / функция × вид отказа × последствие local / next / end × серьёзность × интенсивность λ × обнаруживаемость × парирование, со связью на функцию системы и парирующее требование) сворачиваются в сводку FMES с группировкой по конечному последствию и суммированием интенсивностей (Σλ). Базовое событие дерева неисправностей можно связать с записью FMES и брать λ из неё (Р-4761 §4.2 / §4.3 / D) — пересчёт FMES синхронизирует интенсивности связанных узлов. Необязательный RPN (серьёзность × частота × обнаружение) предлагается как инженерная метрика с явной пометкой «не метод Р-4761».
v0.42.0

Трассировка требований на исходный код как ссылку на CMS

  • Требование (или НУ/LLR) теперь можно трассировать на единицу конфигурации исходного кода в CMS — репозиторий + путь + привязанная ревизия + опциональный символ / диапазон строк — с переиспользованием существующих типов связей (по умолчанию IMPLEMENTS). RMS хранит только ссылку, никогда копию кода (КТ-178С §5.5(c), §7.2.1); для SVN-репозиториев содержимое читается по запросу в режиме только чтения. Новый коммит, затрагивающий путь со ссылкой, консервативно помечает соответствующие ссылки как подозрительные.
v0.41.0

Экспорт матрицы валидации/верификации

  • Из спецификации теперь можно выгрузить матрицу валидации или верификации (XLSX/CSV) прямо из диалога экспорта: строка на требование с колонками Функция × ID × источник с разделением «Пункт ТЗ» / «Пункт КБ» (по роли документа) × уровень гарантии / FDAL (из распределения DAL) × метод / свидетельство / результат (из пользовательских атрибутов). В варианте верификации при пустом атрибуте метод берётся из встроенного поля требования. Набор колонок задаётся пресетом: базовый по умолчанию либо шаблон заказчика БРУД-М, который дополнительно содержит колонку «Рассмотрение и анализ трассируемости».
v0.40.1

Роль документа (ТЗ / квалификационный базис) у спецификаций

  • Спецификацию теперь можно пометить как ТЗ (техническое задание) или документ квалификационного базиса (КБ) — задаётся в форме создания или диалоге «Роль документа» (отображается бейджем в шапке). Вышестоящие источники трассировки требования разделяются на «Пункт ТЗ» / «Пункт КБ» — основа для матрицы валидации.
v0.40.0

Подписи и перекрёстные ссылки таблиц/рисунков в редакторе

  • У таблиц и рисунков теперь есть подпись, а вставить ссылку на них можно с панели или через слэш-меню (выбор объекта по подписи). В редакторе ссылка показывается плейсхолдером («Таблица ?» / «Рисунок ?») и подставляет реальный сквозной номер при экспорте.
v0.39.1

Автонумерация таблиц и рисунков с перекрёстными ссылками на экспорте

  • У таблиц и рисунков теперь есть стабильный идентификатор и подпись; единый проход в порядке документа на экспорте присваивает сквозные номера по видам («Таблица N» / «Рисунок N») и разрешает перекрёстные ссылки на них — во всех форматах HTML, Markdown, DOCX и PDF, со сквозной нумерацией по всей спецификации. Номера вычисляются на экспорте, поэтому вставка таблицы в середину не перенумеровывает сохранённый контент.
v0.39.0

Явный индикатор загрузки при открытии больших спецификаций

  • При открытии спецификации с тысячами требований теперь показывается явный индикатор загрузки (спиннер + сообщение + строки-скелетоны) во всех представлениях — список, таблица, markdown — вместо пустого экрана, выглядевшего как пустой документ. Карточки статистики во время загрузки показывают плейсхолдер вместо вводящего в заблуждение «0».
v0.38.1

Панель-оглавление по разделам спецификации

  • В спецификации появилась боковая панель-оглавление по разделам (Section) с уровнями вложенности и вычисляемыми номерами (4.1.1). Клик по разделу прокручивает к нему; текущий раздел подсвечивается при прокрутке, ветви сворачиваются и разворачиваются. Строится на клиенте из уже загруженных данных — без дополнительных запросов.
v0.38.0

Код требования наследует групповой префикс от раздела

  • При создании требования внутри раздела его групповой код (для per-section префиксов вида LLR_FSCU_A429_002) теперь наследуется автоматически от ближайшего родительского раздела, а не задаётся вручную у каждого требования. Явно указанный групповой код по-прежнему имеет приоритет; группа фиксируется при создании, так как код неизменяем.
v0.37.2

Настраиваемый лимит атрибутов (единая точка истины)

  • Лимит пользовательских атрибутов (раньше зашит как 20 и в бэкенд-валидаторе, и в редакторе) вынесен в единую общую константу и поднят до разумного значения по умолчанию — 50. Бэкенд-валидация и редактор читают одно и то же значение и больше не могут разойтись.
v0.37.1

Документы: управление папками восстановлено внутри подпапок

  • Внутри папки теперь можно создавать элементы прямо в неё (кнопка «Создать» передаёт родительскую папку) и управлять каждой строкой через меню «…» (Открыть / Дублировать / Удалить). Раньше эти действия были доступны только в корне документов, поэтому вложенные папки нельзя было создать или удалить.
v0.37.0

Редактор пользовательских атрибутов теперь доступен из спецификации

  • В спецификации появилось действие «Атрибуты» (нужно право на редактирование), открывающее редактор схемы пользовательских атрибутов — добавление, переупорядочивание и удаление атрибутов типов текст / число / список / да-нет для требований спецификации. Редактор уже существовал, но не имел точки входа в интерфейсе; теперь он подключён в шапке спецификации.
  • Редактор полностью локализован (RU/EN) — все подписи, названия типов и счётчик атрибутов.
v0.36.0

Большие спецификации: оконный рендеринг (10k+ требований)

  • Дерево требований теперь виртуализировано: в DOM рендерятся только видимые строки, поэтому спецификации с тысячами требований открываются и прокручиваются мгновенно.
  • Общий кэш рендеринга с ключом id:version — содержимое строки (HTML/KaTeX/изображения) рендерится один раз и переиспользуется при прокрутке без лишних перерисовок.
  • Высоты строк оцениваются и берутся из кэша до отрисовки, что устраняет «прыжок» прокрутки при изменении размеров строк после монтирования.
  • Фоновый предрендеринг в idle-время прогревает кэш для невидимых строк — контент готов до того, как пользователь до него доскроллит; полное содержимое сохраняется везде, из ответа сервера ничего не убрано.
v0.35.0

Типы не-требований — Раздел / Примечание / Допущение / Пример, с полноценной валидацией допущений

  • У каждой строки теперь есть тип: Требование (по умолчанию), Раздел, Примечание, Допущение или Пример — редактируется инлайн через чип в колонке Code. Контекстное меню свернулось с четырёх пунктов вставки до двух (Вставить ниже, Добавить дочернее); тип задаётся на новой строке через чип.
  • Допущения стали полноценными артефактами согласно Р-4754А §5.4.2(d): у каждого есть статус валидации (Открыто / Валидировано / Опровергнуто), оно может быть целью трассировки через новую связь «Основано на» и отображается на отдельной вкладке «Допущения» спецификации со статусом и числом зависимых требований. Допущения исключены из анализа покрытия/пробелов требований, но получают собственное представление валидации.
  • Конвертация требования в не-требование теперь открывает диалог с учётом сертификации, перечисляющий всё затрагиваемое — связи трассировки, записи формальной инспекции, электронные подписи, комментарии, дочерние требования, замечания по безопасности — и предупреждает, если строка входит в базовую версию, что конвертация является изменением, требующим управления изменениями (КТ-178С §7.2.4), для которого рекомендуется сообщение о проблеме (§7.2.3). Связи помечаются подозрительными или удаляются по вашему выбору, транзакционно на сервере.
  • Markdown DSL расширен токенами :section, :note, :assume, :example; старые :noreq и # CODE Title продолжают парситься для обратной совместимости, а конвертация требования в не-требование в редакторе сохраняет его идентичность (связи помечаются подозрительными, а не теряются).
  • Экспорты учитывают тип: HTML/PDF/DOCX отрисовывают Разделы как заголовки, а Примечания/Допущения/Примеры как стилизованные блоки (со статусом валидации допущения); CSV/XLSX получают колонки Kind и Validation; ReqIF несёт custom-атрибуты KIND и VALIDATION-STATUS для round-trip.
v0.34.0

Хотфикс: «Вставить ниже» теперь строго рядом, даже если у соседей одинаковый sortOrder

  • Серверный reflow при вставке: если у соседей одинаковые sortOrder (например, после массового импорта со sortOrder=1 у всех), новая строка визуально оказывалась далеко от источника, потому что вторичная сортировка по code asc выталкивала её за все ties. Сервис create() теперь переупорядочивает sortOrder соседей в уникальные последовательные значения, и новая строка попадает ровно в позицию(afterReq) + 1.
  • Backend-тест явно покрывает сценарий с одинаковыми sortOrder, чтобы регрессия ловилась на PR, а не в проде.
  • Без изменений во фронтенде — скролл и подсветка из 0.33.0 уже дают правильный визуальный результат, когда сервер возвращает новую строку в правильной позиции.
v0.33.0

Загрузка изображения через файл-пикер + автоскролл к новой строке после Insert

  • Редактор: вставка изображения теперь всегда из файла (file picker) — URL-prompt убран. Slash-команда / кнопка тулбара используют существующий useAttachments uploadFn, подключён во всех редакторах требований (инлайн, диалог создания, table add-row, tree add-row, full-page).
  • Новая ручка бэкенда POST /api/v1/spaces/:id/images/upload для загрузки изображений в пространство (без записи Attachment).
  • После «Вставить ниже» / «Добавить дочернее» из контекстного меню новая строка кратко подсвечивается, и таблица/дерево скроллят её в видимую область только при необходимости (block: 'nearest') — соседство с исходной строкой сохранено серверной логикой afterId (никаких "в конец списка").
  • «Добавить дочернее» автоматически разворачивает родителя, чтобы новый дочерний элемент был сразу виден.
v0.32.0

Хотфикс: стабильность редактора — Enter в Дереве, столбец Linked, контекстное меню Insert

  • Редактирование в Дереве: Enter в описании больше не переключает панель свойств
  • Столбец Linked: несколько связей теперь каждая на своей строке
  • Контекстное меню Таблицы Insert/Add Child: наследует groupCode исходной строки — спецификации с code-template принимают новое требование
  • Ошибки мутации создания требования выводятся через toast (раньше падали молча)
v0.31.0

Необязательный столбец «Linked» со списком кодов связей

  • В Таблице есть необязательный столбец со списком кодов связанных требований (исходящие и входящие, направление, маркер suspect)
  • Данные подгружаются только когда столбец видим (бэкенд ?include=links, без миграции схемы)
  • Скрыт по умолчанию; включается через меню видимости столбцов
v0.30.0

Редактор: закреплённая панель управления таблицей (без дрейфа при скролле)

  • Управление таблицей теперь закрепляется сверху редактора при работе с таблицей
  • Устранён дрейф плавающего меню при прокрутке таблицы внутри требования
v0.29.0

Дерево приведено к паритету с таблицей

  • Единый источник данных для дерева и таблицы (без двойной загрузки)
  • Панель свойств больше не мигает при редактировании
  • Инлайн-добавление требования и видимые маркеры разделов в дереве
  • Дерево использует всю ширину экрана
v0.28.0

Представления требований: общий слой

  • Общие бейджи статуса/DAL — дедуплицированы в дереве, таблице и панели свойств
  • Единая точка входа RequirementEditCell для инлайн-правки (скаляр и rich-text)
  • Переиспользуемая логика добавления требования (хук) и полностью локализованные строки строки добавления
v0.27.0

Стабильность редактора: тестовая оснастка + правки таблицы

  • Storybook-оснастка компонентов с интеракционными и a11y-тестами в CI
  • Ресайз столбца больше не сжимает соседние — появляется горизонтальный скролл
  • Ячейки Derived/Safety: иконка — индикатор, редактирование по двойному клику
v0.26.0

Количественный анализ деревьев неисправностей

  • Деревья неисправностей считают вероятность верхнего события, минимальные сечения и вероятности узлов (Р-4761 D.11) по интенсивности отказов λ, времени миссии и логике вентилей (И/ИЛИ/Приоритетное И с ФТП/Блокировка)
  • Задавайте время миссии на дереве, λ/время воздействия на базовых событиях, k для Приоритетного И и условные вероятности; узлы без данных помечаются, чтобы результат был честным
v0.25.0

Нативный редактор деревьев неисправностей (FTA)

  • Стройте деревья неисправностей прямо в СУТР — вентили (И/ИЛИ/Приоритетное И/Блокировка) и события (основное/неразрабатываемое/дом/условное) по Р-4761 D.4, с авто-диаграммой сверху вниз
  • Нативное дерево закрывает раздел FTA в PSSA без вложения; интенсивность отказов λ хранится на основных событиях (количественный анализ — в следующем релизе)
v0.24.0

Составная PSSA: доказательство по разделам (нативно или документом)

  • Оценки безопасности показывают чек-лист разделов (функции, требования безопасности, FMEA, распределение DAL, общий режим, допущения, FTA, вероятности) с индикатором готовности по каждому разделу
  • Каждый раздел — либо Нативно (данные СУТР), либо Документ (приложенный файл): переключайте режим и загружайте доказательство по разделу; FTA и распределение вероятностей по умолчанию — Документ, до появления нативных моделей
v0.23.0

Руководство: системная инженерия, интеграции и обновлённые скриншоты

  • Новый раздел «Системная инженерия» (Р-4754А / Р-4761): системные проекты, функции и FHA, распределение FDAL→IDAL, оценка безопасности, интерфейсы/ICD и межуровневая трассируемость «Система ⇄ ПО» (КТ-178С §5.5 а)
  • Новые разделы об интеграции с LLM через MCP и с СКВ (SVN/Git/Redmine), а также карта соответствия целям (Приложение A), связывающая возможности с таблицами КТ-178С А-1…А-10
  • Все скриншоты руководства пересняты на актуальном UI с реальными данными FSCU-R
v0.22.0

Список подозрительных связей и документация по распределению DAL

  • Вкладка «Пробелы» показывает список подозрительных связей с причиной
  • Баннер матрицы поясняет разницу FDAL/IDAL; в руководстве описано, как задать распределение
v0.21.0

Улучшения вкладок трассируемости

  • Вкладка «Покрытие» показывает покрытие трассируемостью и верификацией
  • Вкладка «Система ⇄ ПО»: DAL-бейджи, сворачиваемые списки пробелов и экспорт RTM в XLSX/CSV
  • Вкладка «Матрица»: подсказка о пустом состоянии и индикатор независимости
v0.20.0

Полная проверка пробелов трассируемости

  • Вкладка «Пробелы» теперь показывает все нераспределённые функции, неверифицированные требования, непрослеженные требования к системе, орфанные HLR и подозрительные связи
  • «Пробелов не обнаружено» — только когда чисто по всем категориям
v0.19.0

Межуровневая трассируемость (Система ⇄ ПО)

  • Новая вкладка «Система ⇄ ПО» в трассируемости проекта: матрица требований к системе × HLR к ПО (КТ-178С §5.5 а)
  • Двусторонние связи, процент покрытия, выявление непокрытых/орфанных требований, подсветка подозрительных связей
v0.18.0

Сравнение версий требования

  • Сравнение любых двух версий требования бок о бок
  • Сводка изменившихся полей (статус, приоритет, DAL, флаги)
  • Пословное сравнение текста требования — удалённые слова зачёркнуты, добавленные выделены
v0.17.1

Массовое приглашение + руководство по bundle-импорту

  • Мульти-инвайт — выбирайте нескольких существующих пользователей из автокомплита и/или вводите email-адреса; общие роль и команда применяются ко всей группе
  • Существующие пользователи добавляются в Space напрямую, без отправки письма; на неизвестные email-адреса уходит обычное приглашение со ссылкой
  • В основе — GET /api/v1/users/search и POST /api/v1/spaces/:id/invitations/bulk; результат по каждому получателю (приглашено / добавлено / пропущено / ошибка) показывается в UI
  • Новая статья в руководстве администратора "Импорт проекта из JSON-бандла" со схемой, справочником полей, минимальным примером и указанием на конвертер; ссылка с страницы "Импорт проекта"
v0.17.0

Импорт проекта одним JSON: миграция из Word за один приём

  • POST /api/v1/import/bundle — идемпотентный импорт проекта целиком из одного JSON: Space, системный проект, функции, оценки безопасности, спецификации, требования и trace links
  • Идемпотентный upsert по externalId — повторный запуск того же бандла ничего не дублирует; previewOnly=true прогоняет транзакцию с откатом для проверки
  • Шаблоны кодов с группами — Specification.codeTemplate вида "FSCU_REQ_SYS_{GROUP}_{NNN:03}" с независимыми счётчиками по функциональным группам (CNST, INIT, …)
  • Конвертер docx FSCU-R (scripts/import-fscu/) — разбирает системные требования, ТВУ к ПО, матрицу трассируемости и таблицы FHA в валидный bundle.json; исходные документы проекта хранятся вне репозитория
  • UI импорта проекта — новая страница /import с загрузкой bundle через drag-and-drop, предпросмотром без записи и сводкой по каждой сущности (создано / обновлено / пропущено, с предупреждениями и ошибками)
v0.16.0

Интеграция с SCM: трассировка коммитов SVN

  • Управление SCM-репозиториями — добавление и настройка SVN-репозиториев на уровне Space с проверкой подключения
  • Связь коммитов с ЗИ — автоматический парсинг commit message для привязки ревизий к Заявкам на Изменение
  • История коммитов и diff-viewer — просмотр коммитов по ЗИ с изменёнными файлами и unified diff по запросу
  • Поддержка Webhook — приём коммитов в реальном времени через SVN post-commit hooks с HMAC-верификацией
v0.15.0

Интеграция с Redmine для СП и ЗИ

  • Синхронизация с Redmine — автоматический polling Сообщений о Проблеме и Запросов на Изменение из Redmine с настраиваемым интервалом (по умолчанию 5 минут)
  • Маппинг проектов и статусов — настройка проекта Redmine, ID трекеров и маппинга статусов на уровне Space через UI
  • Авто-создание пользователей — пользователи из Redmine создаются автоматически по email; администраторы могут сбросить пароль для предоставления доступа
  • Сброс пароля администратором — администраторы Space могут генерировать временные пароли с одноразовым показом
v0.14.0

API-токены и MCP-сервер для интеграции с LLM

  • API-токены — создание Bearer-токенов с ограничением по scopes для программного доступа с гранулярными правами (чтение/запись по типам ресурсов)
  • MCP-сервер (SSE) — встроенный сервер Model Context Protocol для работы LLM-клиентов с требованиями, спецификациями и оценками безопасности
  • 20 MCP-инструментов — полный CRUD для требований, спецификаций, trace links, системных проектов, функций, оценок безопасности и анализа трассируемости
  • Страница интеграций — генерация конфигурации в один клик для Claude Code, Claude Desktop, Cursor, Windsurf и VS Code Copilot
  • UI управления токенами — создание, просмотр и отзыв токенов в Настройках с выбором scopes и одноразовым показом токена
v0.13.0

Поддержка системной инженерии (КТ-254 / Р-4754А / Р-4761)

  • Системные проекты — группировка аппаратных и программных спецификаций в проекты системного уровня с классификацией DAL и отслеживанием статуса жизненного цикла
  • Функции системы и FHA — иерархическое дерево функций с серьёзностью отказов, назначением FDAL и распределением DAL по спецификациям (FDAL → IDAL) с поддержкой архитектурного смягчения
  • Оценки безопасности — жизненный цикл оценок FHA/PSSA/SSA/CCA с управлением замечаниями, привязкой к требованиям и рабочим процессом утверждения
  • Системные интерфейсы — управление интерфейсами аппаратура↔ПО с распространением suspect-меток при изменении интерфейсов
  • Матрица трассируемости — кросс-доменная панель трассируемости: функции × спецификации с покрытием распределения DAL, анализом пробелов и обнаружением suspect-связей
  • Экспорт системного уровня — матрица трассируемости (XLSX/CSV), таблица распределения DAL и сводка оценок безопасности (HTML)
  • Визуализация Risk Matrix — диаграмма распределения серьёзности функций FHA с интерактивной фильтрацией
  • Типы аппаратных спецификаций — HWRS, PHCI, HDVS, HVP, HCMP, TOP для соответствия КТ-254 и фильтр домена (ПО/Аппаратура/Система) в списке спецификаций
v0.12.0

Markdown-вид для спецификаций

  • Markdown-вид — просмотр и редактирование всей спецификации как единого markdown-документа с кастомным DSL для требований
  • Кастомный DSL с тремя типами блоков: заголовки (# REQ-XXX), требования (:req) и заметки (:noreq) с полным round-trip редактированием
  • Monaco Editor с подсветкой синтаксиса для DSL-тегов, быстрым сохранением Ctrl+S и защитой от потери несохранённых изменений
  • Scoped-редактирование — правый клик на заголовке секции для редактирования только этого поддерева в markdown, уменьшая конфликты при командной работе
  • Bulk sync endpoint — атомарное создание, обновление, удаление и перемещение требований в одной транзакции с оптимистичной конкурентностью
  • Real-time осведомлённость — индикаторы присутствия и предупреждения о конкурентных изменениях при редактировании другими пользователями
v0.11.0

Расширения редактора и экспорт в DOCX

  • Замечания по тексту — выделение фрагмента текста и добавление замечания с ответами, устранением и боковой панелью
  • Поля шаблонов — редактируемые поля в фиксированной структуре документа для шаблонов КТ-178С (SRD, SDD, SVP)
  • Проверка качества требований — встроенные подсказки по неоднозначным словам, пассивному залогу, отсутствию "shall" и длинным предложениям
  • Встраиваемые представления требований — живые отфильтрованные таблицы, списки или канбан-доски требований прямо в документе
  • Переиспользуемые сниппеты — общие текстовые блоки, на которые ссылаются из нескольких документов, с централизованным редактированием
  • Экспорт в DOCX для документов и спецификаций с полным рендерингом форматированного текста (заголовки, таблицы, списки, блоки кода)
v0.10.0

Совместное редактирование и улучшения таблицы

  • Совместное редактирование в реальном времени с WebSocket-уведомлениями и оптимистичным контролем конкурентности (версионные сохранения)
  • Диалог разрешения конфликтов — при одновременном редактировании одного требования можно сравнить версии и выбрать действие
  • Индикаторы присутствия — отображение подключённых пользователей и текущего редактора для каждой строки требования
  • Перетаскивание для изменения порядка требований в табличном виде с сохранением сортировки
  • Форматируемое поле обоснования, пользовательские атрибуты, фиксация столбцов и полнотекстовый поиск по требованиям
v0.9.0

Документы жизненного цикла КТ-178С

  • 13 шаблонов документов жизненного цикла КТ-178С (PSAC, SDP, SVP, SCMP, SQAP, SReqS, SDS, SCS, SCI, SECI, SAS, HDD, SVD) с отслеживанием полноты по секциям
  • Автозаполнение PSAC и SAS — автоматическое заполнение секций документов из данных проекта (DAL, требования, инспекции, CR)
  • Генерация SCI — индекс конфигурации ПО из конфигурационных элементов с привязкой к базовой линии, контрольными суммами и расположением в библиотеках
  • Генерация SECI — индекс конфигурации среды разработки с инвентаризацией инструментов и статусом квалификации
  • Панель готовности к сертификации — взвешенная оценка на основе требований, инспекций, CR, базовых линий и полноты документов жизненного цикла
v0.8.0

Инфраструктура сертификации

  • Идентификация конфигурационных элементов с постоянными номерами CI (CI-00001) и отслеживанием жизненного цикла
  • Контрольные категории CC1/CC2 на основе уровня DAL — CC1 для DAL A-C (строгий контроль), CC2 для DAL D-E (стандартный)
  • Электронные подписи с подтверждением пароля, хешированием содержимого SHA-256, проверкой целостности HMAC и контролем соответствия политикам
  • Библиотеки конфигурации (DEVELOPMENT / CONTROLLED / ARCHIVE) с проверкой целостности контрольными суммами SHA-256
  • Управление релизами с полным жизненным циклом (DRAFT → AUTHORIZED → RELEASED → ARCHIVED) и валидацией готовности
v0.7.1

Внутренние ссылки на документы и аудит планов

  • Внутренние ссылки на документы через [[ — поиск и вставка ссылок на другие документы прямо в редакторе
  • Аудит планов: обновлены 7 планов Stage 1, отражены 15+ уже реализованных, но не отмеченных фич
v0.7.0

Импорт и экспорт

  • Экспорт в ReqIF 1.2 с требованиями, связями трассировки, иерархией и перечислениями
  • Импорт ReqIF с валидацией XML, маппингом атрибутов, сохранением иерархии и созданием связей
  • Экспорт в PDF для документов требований и матриц трассируемости с обложкой, оглавлением и стилями для печати
  • Асинхронный экспорт PDF через очередь фоновых задач для больших спецификаций с отслеживанием прогресса
v0.6.0

Шаблоны и анализ влияния

  • Шаблоны требований с предустановленными значениями для КТ-178С (Безопасность, Производительность, Интерфейс, Производные)
  • Дерево анализа влияния с восходящими зависимостями и нисходящими эффектами
  • Нетребования — заголовки разделов и примечания в иерархии требований
  • Уведомления о подозрительных связях при изменении трассированных требований
v0.5.0

Формальные инспекции

  • Создание формальных инспекций требований с участниками, ролями и сроками
  • Элементы инспекции с вердиктами одобрения/отклонения и комментариями
  • Шаблоны проверочных перечней для стандартных процедур КТ-178С
  • Хронология инспекции с аудиторским следом всех действий
v0.4.0

Управление базовыми версиями

  • Создание замороженных снимков спецификаций на ключевых версиях
  • Процесс одобрения базовых версий — отправка, одобрение или отклонение с комментариями
  • Сравнение базовых версий между собой или с текущими требованиями
  • Детальное сравнение изменённых требований с отображением конкретных изменений по полям
v0.3.1

UX и связность

  • Единое поле содержимого — заголовок и описание объединены в один редактор
  • Страницы спецификаций теперь используют стандартный сайдбар и заголовок
  • Дерево требований отображает полное содержимое с форматированием и формулами
  • Пробел больше не переключает выделение строк при редактировании
v0.3.0

Трассируемость

  • Связи трассировки между требованиями с типизированными отношениями (Удовлетворяет, Производное от, Верифицировано и др.)
  • Матрица трассируемости с межспецификационными связями
  • Анализ покрытия: полностью трассированные, частично трассированные и требования-сироты
  • Обнаружение подозрительных связей — автоматическая пометка при изменении связанных требований
v0.2.0

Расширенная таблица

  • Изменяемые столбцы с перетаскиванием и автоподгонкой по содержимому
  • Ячейки с форматированным текстом и встроенной разметкой
  • Редактирование по месту — клик на ячейку для изменения
  • Сохранённые представления таблицы с настраиваемыми колонками и фильтрами
v0.1.0

Базовая платформа

  • Управление документами с редактором форматированного текста и структурой папок
  • Пространства для организации проектов и команд
  • Спецификации с типизированными требованиями (SRS, HLR, LLR и др.)
  • История версий и журнал аудита для каждого требования
  • Аутентификация с регистрацией по email и JWT-токенами
    RMS Navigator — Requirements Management