21 KiB
21 KiB
История изменений
Не выпущено
- Deployment: подготовлен внешний handoff для Windows-клиента от точного Gitea commit. Bundle фиксирует commit/tree/blob identity и SHA-256; installer проверяет bundle и ACL до записи и не запускает Git. Bootstrap на release A может подготовить release B только при точном совпадении pinned runtime-файлов и release policy. Первый Windows task остаётся preparation-only; отдельные auto-apply config и task выключены. Изолированный PowerShell 5.1 harness для bundle-проверки завершился успешно на точном PR SHA; реальная установка, регистрация задач, SSH и production не выполнялись и не активировались.
- Infrastructure: Windows release installer и external receiver читают владельцев и ACL ACE напрямую как SID, без преобразования в имена учётных записей. Это устраняет зависимость проверки от разрешения имён; неизвестные SID остаются видимыми и отклоняются существующими fail-closed guard-политиками. Проверены synthetic unmapped-SID fixtures и read-only ACL preflight; production ACL не менялись.
- Документация: объединены продуктовый, UI- и deployment-планы; уточнены
внешняя backup-retention политика и обязательный owner-approved maintenance
window для cold backup. Передача корпуса требует атомарной публикации
проверенного staging в
DATA_ROOT; безопасное возобновление либо fail-closed при прерывании остаётся release gate. Механизм атомарной публикации ещё не реализован. - Backend
0.13.4/ Frontend0.3.4, алгоритм поискаsearch-8: для явно заданного multi-index поиска включена глобальная статистика DFS; signed review snapshots сохраняют полный index scope, а пустую выдачу можно сохранить с обязательным общим комментарием и точной проверкой рангов. Узкое расширение термина аренды сохранено без глобальных весов. На executable SHA1c7ddf2выполнен полный isolated прогон 7 500 запросов: изменились 537 порядков относительно исходного baseline, 6 выдач остались пустыми; это наблюдения ранжирования, не экспертная оценка права. Три актуальных акта проверялись только в отдельном локальном supplement; production и исходный индекс не менялись. - Успешный CI на
pushвmainзапускает release workflow: при настроенных registry secrets он собирает образы rootless Kaniko, публикует digest references и сохраняет schema-v4 descriptor с SHA-256 в Gitea artifact; sidecar проверяется после извлечения из корня. Следующий workflow проверяет source-run identity и, при доступномgitea-api, метаданные артефакта только в dry-run и явно сообщаетNOT DEPLOYED: ZIP не скачивается, SSH и host apply не выполняются. Добавлена отдельная root-verified status→fixed-tuple→ Windows--onceпривязка через строгий SSH dispatcher; она не использует Gitea/PR runner и не требует Gitea token на Windows. Config и Task Scheduler template выключены, задача не зарегистрирована и production CD не активирован. Зелёный handoff не означает деплой. Подготовлены owner-run cutover и rollback с проверкой backup, image IDs, RU/KY canaries и recovery journal; CI проверяет synthetic artifact и завершается ошибкой при отсутствии файлов. Windows receiver прошёл 17 synthetic client checks, 8 protocol checks и проверку private owner ACL на disposable real-NTFS fixture. Inert Windows argv probe подтвердил передачу пути скрипта с пробелами; Task Scheduler COM проверил XML сTASK_VALIDATE_ONLY— задачу не регистрировали, не обновляли и не запускали. Production D: path, SSH, установка на VPS и полный backup/restore не проверены; cutover остаётся заблокирован до отдельного restore-теста и owner bootstrap. Принимаются только завершённые успешные Gitea runs; pending recovery journal записывается до остановки сервисов, повторно применённый release отклоняется до простоя, а проверкаmainиспользует явно заданный production checkout. Windows preflight проверяет owner ACL и требует свободное место под максимальный допустимый архив. - Frontend
0.3.3/ Backend0.13.2: управление пользователями отображается согласно правам аккаунта, подписи ролей локализованы, повторяющиеся действия кабинета убраны, а знак лаборатории приведён к основному бренду. - Добавлена политика Delivery First по уровням
LOW/MEDIUM/HIGH: описаны обязательная глубина проверок, регрессионные тесты и доказательства угроз, совместимости и отката; обычные CI, одобрение и защитаmainостаются обязательными. - Frontend
0.3.2: устранены пересечения названия бренда с поиском и мобильной навигации документа; навигационные ссылки получили общие quiet и primary состояния. - Frontend
0.3.1: уточнена компоновка поиска, лаборатории и кабинета; splitter сохраняет минимальную ширину панелей, а на средних экранах фильтры открываются доступной боковой панелью. Исправлено отображение футера на маршруте пользователей и browser fixture смены пароля. - Frontend
0.3.0/ Backend0.13.1: добавлен доступный splitter для изменения ширины результатов и документа. Язык поиска находится в фильтрах; состояния открытия, оглавление правовых заголовков, лаборатория и кабинет приведены к последовательной и компактной компоновке. - Добавлен план развития платформы со сравнением возможностей «Токтом Онлайн», пробелов Акылдаша и этапов продуктовой проверки.
- Frontend
0.2.6/ Backend0.13.1: двухпанельная компоновка поиска сохраняется до ширины 1175 px, чтобы три панели не обрезались при промежуточных ширинах окна. - Frontend
0.2.5/ Backend0.13.1: устранены промежуточные переполнения навигации, старый текст больше не остаётся при ошибке загрузки другого документа; очищаются дополнительные URL-атрибуты юридической разметки, включаяsrcsetиping. Добавлены fixture-проверки ошибок и гонок загрузки, изоляции ссылок, reflow и безопасных форм управления пользователями. - Frontend
0.2.4/ Backend0.13.1: исправлены состояния и адаптивный поиск, чтение документа и лаборатории, доступные диалоги; управление пользователями вынесено на отдельный защищённый экран. Документная разметка очищается от активного HTML и небезопасных ссылок. Добавлены проверки маршрутов и reflow; правовой текст и API управления пользователями не менялись. - Frontend
0.2.3: добавлен публичный поиск по правовой базе с фильтрами, адаптивной выдачей, просмотром редакций и поиском по тексту документа; внутренняя лаборатория сохранена, её подсказки стали компактнее и привязаны к целевым элементам. Интерфейс использует локальные шрифты Noto Sans и Noto Serif. - Исправлены переключение на доступный язык редакции, очистка содержимого и ссылки на официальный источник при смене документа или ошибке загрузки; подписи фильтров локализуются на кыргызский язык.
- Infrastructure: systemd unit Gitea Actions runner теперь использует
ProtectHome=read-only, сохраняя доступность/run/userи существующий writable carve-out для rootless runtime; VPS не изменялся. - Backend
0.12.1: добавлен ограниченный возобновляемый staging редакций из текущего API Минюста с проверкой точных ID и метаданных, изоляцией от legacy-корпуса и сохранением исходного порядка редакций при нормализации и экспорте. Тест overlap guard задаёт безопасные права fixture независимо отumaskCI; сам guard не ослаблен. - Rollback preflight проверяет digest-pinned image references по сохранённому image ID и останавливается до изменений deployment; переключение production на digest и полноценный digest rollback пока не реализованы.
- Infrastructure: добавлен офлайн-контракт release manifest с точной схемой,
digest-ссылками и repository allowlist; проверен Compose override с
--no-buildкак требованием будущего deploy. Публикация, provenance и production-деплой не включены. - Добавлен read-only возобновляемый inventory корпуса с полным хешированием,
потоковой сверкой, индексируемыми диапазонами путей и provenance SHA-256
проверяющего; значения
statхранятся без ограничения SQLite INTEGER. Сравнение source/staging сверяет путь, размер и SHA-256, удерживает shared locks и отклоняет пустые корпуса без документов или фрагментов. Runbook иCURRENT_STATE.mdотражают, что полный аудит корпуса ещё выполняется; это изменение не означает готовность корпуса или production. - CI actions теперь используют workspace, переданный Gitea, для Caddyfile и Kaniko build context; CI run 69 и smoke run 70 прошли на self-hosted runner.
- Runner installer сохраняет
HOMEи XDG-пути в user-unitdocker.service, перезапускает активный daemon и проверяет окружение его процесса. - Runner installer защищает image и mountpoint root-owned home-каталогом, оставляет регистрацию и workspace в runner-owned каталоге, безопасно форматирует образ по открытому FD и проверяет
nosuid,nodev. - Backend
0.11.3: ключ подписи поисковых снимков читается из Docker secret-файла, а не из аргументов процесса. Добавлена базовая инфраструктура VPS, Caddy HTTPS proxy с разделёнными Compose-сетями и CI-проверка конфигурации; публикация образов и production-деплой остаются выключены до проверки runner, registry, backup/restore и ограниченного deploy-helper. - Frontend
0.1.2: на планшетной ширине экран поиска переходит в одну колонку, чтобы фильтры, результаты и документ помещались в окно. - Backend
0.11.2: смена пароля требует текущий пароль и запрещает оставить прежний, включая временный пароль при первом входе. - Backend
0.11.1и frontend0.1.1: в управлении пользователями показываются даты первого и последнего входа, а также последнего сброса пароля. - Backend
0.11.0и frontend0.1.0: лаборатория переоформлена по дизайн-системе «Түндүк»; добавлены учетные записи, обязательная смена временного пароля, личный кабинет и управление пользователями дляadmin. - Backend обновлён до
0.10.4: многословный поиск получил низковесный OR fallback с требованием совпадения минимум двух терминов; fallback пропускает распознанные названия нормативных актов. - Backend обновлён до
0.10.3: запрос о налоге на прибыль поднимает действующий Налоговый кодекс; точное совпадение фразы дополнительно усиливает результат. - Backend обновлён до
0.10.2: действующие документы ранжируются выше, а утратившие силу — после остальных; из лаборатории удалён пустой блок фрагмента. - Backend обновлён до
0.10.1: поисковая выдача по регистрации больше не ограничивается только тремя заранее выбранными нормативными актами. - Backend обновлён до
0.10.0: поисковый API использует общий планировщик запросов, расширяет аббревиатуры ОсОО/ООО/ЖЧК и для запроса о регистрации приоритизирует положение КР 2026 года, закон об обществах и ГК КР. - Backend обновлён до
0.9.4: из поисковых фрагментов убраны технические маркеры подсветки OpenSearch. - Backend обновлён до
0.9.3: исправлен локальный индекс production Search API, ошибки поиска показываются в общем status-блоке, а панель сохранения и footer выстроены в обычном порядке документа. - Backend обновлён до
0.9.2: внутренняя лаборатория получила визуальный polish-проход и короткий повторно запускаемый tutorial для новых проверяющих. - Backend обновлён до
0.9.1: все статусы из нормализованного корпуса доступны как отдельные фильтры, варианты конституционного закона и указа сопоставляются с подтверждённой юридической силой, неизвестные типы документов сохраняются под общим фильтром без вывода юридической силы. - Уточнено, что внутренняя лаборатория оценивает выдачу собственного OpenSearch; ЦБД Минюста служит источником для подтверждения документов, а прежние Excel/PDF бланки удалены.
- Исключены секреты и локальные данные из Docker build context; синхронизирована версия интерфейса.
- Добавлен production deployment baseline для Search API и OpenSearch с постоянными хранилищами и healthcheck.
- Добавлено восстановление незавершённой разметки из
localStorageпосле перезагрузки страницы. - Добавлена внутренняя лаборатория проверки поисковой выдачи: просмотр документов, оценка релевантности 0–3, комментарии и SQLite-экспорт подписанных снимков.
- Уточнены доступные состояния и адаптивное поведение внутреннего интерфейса оценки поисковой выдачи.
- Добавлен план внутреннего интерфейса оценки поисковой выдачи юристами.
- Завершён Search API v1: стабильные справочники, валидный OpenAPI, безопасная пагинация и проверка актуальных редакций в локальном OpenSearch.
- Добавлен фильтр Search API v1 по укрупнённой юридической силе. Полная иерархия GeneralClassifiers экспортирована в отдельный черновой каталог; тематическая навигация остаётся вне API v1 до ручного утверждения рубрик и подписей.
- Добавлено безопасное переключение alias на новую версию поискового индекса после полной загрузки; checkpoint защищает возобновление загрузки от смены alias.
- Добавлен roadmap готовности данных, поиска и API перед проектированием frontend.
- Исправлена выдача для явных запросов об открытии ОсОО и ЖЧК: первыми показываются действующие положение о регистрации и закон о хозяйственных товариществах и обществах.
- Добавлен CLI
python3 -m search.queryдля проверки текущей выдачи локального OpenSearch. - Добавлена инструкция по подготовке и независимой проверке relevance set.
- Улучшено ранжирование relevance-оценки: запрос теперь сопоставляет название и текст документа как единое поле.
0.5.0 — 2026-08-15
- Добавлена воспроизводимая оценка качества поиска по Recall@10 и MRR@10.
- Подготовлен шаблон relevance set из 25 русских и 25 кыргызских запросов с инструкцией по ручной разметке.