Repository navigation
Оформлятор 0.7.0
Warning
candidate / pilot, не stable/production. CI-сборка готова к скачиванию, но target/Office/recovery/P5 acceptance ещё обязательна.
Скачать
docomator-0.7.0-linux-x64.tar.gz— автономный application bundle;docomator-0.7.0-project-control.f2re.zip— пакет F2RE Project Control;- рядом опубликованы .sha256 и SHA256SUMS.txt.
Установка
sha256sum -c docomator-0.7.0-linux-x64.tar.gz.sha256
tar -xzf docomator-0.7.0-linux-x64.tar.gz
cd docomator-0.7.0-linux-x64
sudo ./install.shSource commit: f90a82f4bd4217b1bc27bbc5d4f85b7c3ff6ee10
Оформлятор 0.7.0
Текущая версия: 0.7.0.
Статус выпуска: candidate
Канал выпуска: pilot
Статус: кандидат на стабильный выпуск. Номер версии описывает состав продукта и не означает завершение эксплуатационной приёмки. Единственный машинный источник версии, статуса и канала — RELEASE_IDENTITY.json.
2026-09-04 — единый явный контекст раздела данных (0.7.0)
- Чтение/создание/изменение пользовательских полей требует явный
spaceId; отсутствие контекста больше не означаетdefault. - Legacy runtime API
/api/v1/knowledge/entities*удалён; сущности, значения и история доступны только через/api/v1/spaces/:spaceId/entities.... - UI больше не переписывает глобальный
fetchдля корректности пространства: сотрудники, импорт, шаблоны, публикации, выпуск, расписания и Database Admin строят scoped URL сами. - Каталог полей защищён от позднего ответа предыдущего раздела A → B; space-local browser preferences не используют скрытый
default. - Частичное редактирование поля теперь объединяет
validationс действующими ограничениями вместо полной замены:uiGroup, enum-настройки и другие параметры не теряются после изменения одного свойства. - Добавлены API, Chromium и static regression tests; миграция SQLite не требуется, renderer/LLM/security boundary не менялись.
2026-09-02 — результаты документов строго изолированы по разделам (0.6.8)
- Список, сводка, просмотр, скачивание, отметка просмотренного и удаление результатов теперь требуют явный
spaceId; глобальный persisted API/api/v1/document-results*удалён. DocumentResultRegistryпроверяет принадлежность результата черезdocument_generation_jobs.space_idдля каждого read/mutation. Раздел A не может прочитать, скачать, отметить или удалить результат B;view-allизменяет только выбранный раздел.- Generation API возвращает канонические ссылки
/api/v1/spaces/:spaceId/document-results/...; legacy job-download перенаправляет только на scoped result URL, а скачивание отдельного unit повторно проверяет тот же space. - Экран «Результаты» использует текущий «Раздел данных», не показывает единое корпоративное хранилище и игнорирует поздний ответ предыдущего раздела после переключения A → B.
- Shared trusted workspace из ADR-0006 сохранён: общий код и отсутствие IAM не изменены. Уточнено, что допущенный клиент может явно переключаться между разделами, но persisted data разных разделов не смешиваются в одном текущем контексте.
- Добавлены отрицательные API regression tests с двумя разделами и одинаковым названием шаблона, а также Chromium regression на переключение раздела во время задержанного result-list request.
- Миграция БД не требуется: принадлежность существующих результатов уже определяется их generation job. Renderer, шаблоны, LLM и security boundary не изменены.
- Release identity, workspace packages, lockfile и runtime defaults синхронизированы с
0.6.8.
2026-08-28 — упрощён выпуск и проверка документов (0.6.7)
- В мастере выпуска оставлена одна сквозная шкала «Шаблон → Сотрудники → Проверка → Результат»; внутренняя конкурирующая нумерация заменена смысловыми иконками, поэтому экран больше не предлагает пользователю две разные системы шагов.
- Основное действие теперь честно называется «Проверить и сформировать»: если обязательные данные заполнены, формирование начинается сразу после проверки; отправка адресатам не выполняется автоматически.
- При неполных данных экран проверки показывает одно доминирующее действие — сформировать только готовые документы; исходная кнопка настройки временно скрывается, поэтому два равнозначных primary-action больше не конкурируют.
- Изменение шаблона, аудитории, группы, выбранных сотрудников или режима после проверки сбрасывает подготовленный снимок и требует повторной проверки нового состава; неудачный запуск сохраняет подготовленный состав и предлагает безопасный повтор.
- Выбор шаблона и сохранённой группы использует единый searchable-select; длинные значения переносятся, а мобильная панель выбора остаётся внутри viewport.
- Chromium regression закрепляет отсутствие горизонтального overflow на 320 px, единственное primary-action на этапе проверки, invalidation устаревшего preflight, безопасный повтор запуска и однокликовый выпуск полностью готового набора.
- Release identity, workspace packages, lockfile и runtime defaults синхронизированы с
0.6.7; security boundary, storage schema и deterministic renderer не изменялись. - Исправлен release-helper: bump текущей версии больше не переписывает исторические упоминания предыдущего выпуска в
ROADMAPиNEXT_ITERATIONS; regression отдельно закрепляет обновление только current release binding.
2026-08-25 — исправлена рабочая область сопоставления шаблона (0.6.6)
- Предпросмотр DOCX/XLSX и панель настройки выбранного места разделены по горизонтали: документ занимает полную ширину сверху, сопоставление находится ниже и больше не сжимает страницу документа в узкую колонку.
- Предпросмотр получил собственную ограниченную по высоте прокрутку, поэтому длинный документ не уводит форму сопоставления на конец страницы.
- На широком экране поля сопоставления размещаются в две читаемые колонки; на средних и мобильных ширинах форма автоматически переходит в один столбец.
- Выпадающий список выбора поля в инспекторе ограничен шириной своего поля и больше не выходит за границу панели и не обрезается её прокруткой.
- Release identity, workspace packages, lockfile и runtime defaults синхронизированы с
0.6.6.
2026-08-24 — восстановлен сквозной шаблонный flow пространства (0.6.5)
- Поля сотрудников текущего пространства больше не скрываются в Visual Template Studio из-за выбранной UI-категории «Общие / Преподаватель / Студент»: категория задаёт приоритет и группировку, а не границу доступности данных.
- Пользовательские поля карточек, включая исторические
unassigned, остаются доступными для сопоставления шаблона в том же пространстве; при смене пространства каталог перечитывается. - Выпадающий выбор поля получил полноценную клавиатурную навигацию
ArrowUp/ArrowDown,Home/End,PageUp/PageDown,Enter,Escapeи автоматическую прокрутку активного пункта. Поиск остаётся ускорителем, но больше не является обязательным способом выбора. - Рабочая панель сопоставления расширена; сложная форма внутри инспектора переведена в один столбец, а на средних ширинах редактор раньше переходит в вертикальную компоновку без вложенной ловушки прокрутки.
- Добавлена regression-проверка, что пользовательское поле пространства остаётся доступным независимо от выбранной роли и выбирается с клавиатуры без поиска.
2026-08-24 — завершённый PIN-flow первого запуска (0.6.4)
- Экран
/accessпереработан в спокойный человеко-ориентированный PIN-flow: четыре цифры, экранная цифровая клавиатура, обычная клавиатура/вставка, крупные интерактивные зоны и явный прогрессN из 4. - Первый запуск показывает отдельное состояние «Придумайте код доступа» и одну основную кнопку «Сохранить и открыть»; повторный ввод, имя пользователя и пароль не требуются.
- Старый адрес
/loginбольше не является отдельным экраном: он служит только безопасным переходником на/access, а защита отnext=/loginиnext=/accessисключает циклический возврат к legacy-пути. - При уже открытой session прямой переход на
/accessсразу возвращает пользователя в рабочую область и не заставляет повторно вводить код. - Ошибки ввода и первичной настройки сообщают, что произошло, сохранены ли данные и что делать дальше. Неверный код очищается для следующей попытки; backoff показывает оставшееся время.
first-run.shтеперь прямо объясняет первый запуск: задать любые удобные четыре цифры один раз; логин, имя пользователя и пароль не нужны; восстановление кода не удаляет рабочие данные.- Regression coverage закрепляет legacy
/loginredirect, отсутствие username/password controls, экранную и физическую клавиатуру, первый запуск, повторный вход и отсутствие horizontal overflow на ширине 320 px. - Release metadata и lockfile синхронизированы для
0.6.4; версии и контрольные суммы сторонних npm-зависимостей не менялись.
2026-08-24 — единый 4-значный код доступа (0.6.3)
- Удалена текущая password/login-модель: встроенная рабочая область использует один общий код из ровно четырёх цифр без имени пользователя, учётной записи и роли.
- Канонический экран —
/access; API —/api/v1/access/setup|unlock|lock|status. Встроенный сервер не использует HTTP Basic Auth и не выдаётWWW-Authenticate. - Первый запуск требует один раз задать четыре цифры и сразу открывает рабочую область; повторный ввод/confirmation отсутствует.
- Scrypt, constant-time verification, signed
HttpOnly/SameSite=Strictsession,Secureover HTTPS, same-origin mutation и локальный backoff сохранены. - Обработка истёкшей session/
401централизована вaccess-session.js; дублирующие auth monkey-patches из бизнес-модулей удалены. - Канонический env key —
DOCOMATOR_ACCESS_CODE_HASH; legacy password key понимается только внутри upgrade/rollback compatibility boundary. Применённая migration0031_shared_access_password.sqlне изменялась. - Добавлены штатные
set-access-code.shиreset-access-code.sh;set-password.sh/reset-password.shоставлены только тонкими переходниками для старых операторских команд. - Offline install/bundle/target acceptance/pilot tooling используют тот же access-code contract и проверяют, что recovery helpers реально поставляются.
- Документация сведена к ADR-0011,
docs/ACCESS_CODE.mdи одному набору команд. ADR-0009 сохранён только как superseded historical decision. - Release metadata и lockfile сгенерированы штатным
version:bump; сторонние npm dependency versions/checksums не менялись.
2026-08-21 — восстановление reflow и release CI (0.6.2)
- Основные кнопки безопасно переносят длинные подписи на tablet/mobile и при увеличении текста до 200%, не расширяя страницу за viewport и сохраняя интерактивную зону не меньше 44 × 44 CSS px.
- Карточка рабочего пространства и её действия переходят в вертикальный reflow на узких ширинах.
- Regression fixture импорта синхронизирован с production validation без ослабления проверки отсутствующих колонок.
- Chromium E2E обновлён под актуальный visual-layout contract.
2026-08-21 — форматированное визуальное представление DOCX/XLSX (0.6.0)
- Мастер шаблона читает локальную безопасную visual-layout проекцию сохранённого DOCX/XLSX: стили, таблицы/merge, размеры, колонтитулы и поддерживаемые raster-изображения.
- XLSX отображается как read-only grid с листами; formula cells остаются недоступны для mutation binding.
- DOCX selection остаётся серверной координатой
elementId + UTF-16 offsets; DOM не становится источником документа. - CSP сохраняет
style-src 'self'; external relationships, macros/OLE и неизвестные media не исполняются. - Deterministic renderer/reverse-read, space boundary и immutable source остаются источником истины.
Ранее реализованный базовый контур
Линия 0.1.x—0.6.2 сформировала жёсткую изоляцию пространств, typed properties, guided CSV/XLSX import/export, безопасный DOCX/XLSX intake, deterministic renderer, scalar/repeat bindings, immutable template releases, worker leases/idempotency, SMTP/network delivery, schedules, public stateless /gost, backup/update/rollback, offline release tooling и Project Control wrapper. Исторический общий password gate заменён в 0.6.3 ADR-0011; 0.6.4 завершает пользовательский PIN-flow без изменения security boundary.
Что ещё блокирует stable
До status=stable/channel=production обязательны фактические доказательства exact 0.6.8: чистая offline-установка Debian и Astra Linux 1.7; реальный LibreOffice; ≥20 DOCX + ≥20 XLSX; import/generation 10/100/1000; restart/retry без дублей; backup/restore; update/rollback без потери данных; ручная P5/accessibility-приёмка, включая первый запуск/recovery 4-значного кода и полный сценарий раздел данных → сотрудники/группа → шаблон → выпуск → результат, в том числе отрицательная проверка двух разделов; пустой список блокеров и успешный release-evidence.
Точный протокол: docs/FINALIZATION.md, docs/SUPPORT_MATRIX.md, docs/UX_ACCEPTANCE_PROTOCOL.md.