Address documentation roadmap review findings
This commit is contained in:
1 parent
ba9564fca2
commit
4cf96e3fa9
2 files changed
+67
-7
No files matched your search
+2
-2
@@ -19,6 +19,6 @@ data/
|
||||
# Local runtime logs
|
||||
logs/
|
||||
|
||||
# Transient local scratch output; keep reports/ reviewable by default
|
||||
/reports/tmp/
|
||||
# Local generated reports; deliberately publish reviewed/sanitized evidence with git add -f
|
||||
/reports/
|
||||
/tmp/
|
||||
@@ -71,6 +71,14 @@ follow-up по поиску, кабинету и лаборатории, лок
|
||||
этой документационной задаче. Сверяться с [отчётом visual-review](visual-review/README.md);
|
||||
не открывать снова выполненные пункты без нового воспроизводимого свидетельства.
|
||||
|
||||
Источники по состоянию на базовый commit этого PR сохранены постоянными
|
||||
ссылками: [UI-план на `7ece39f`](https://git.vakanaut.ru/admin/akyldash/src/commit/7ece39f212b67e497a8dfb360d5d271ab088ef57/docs/product/interface-correction-plan.md)
|
||||
и [план pixel-perfect на `7ece39f`](https://git.vakanaut.ru/admin/akyldash/src/commit/7ece39f212b67e497a8dfb360d5d271ab088ef57/docs/product/frontend-pixel-perfect-plan.md).
|
||||
UI-01—UI-33 вошли в [PR #54](https://git.vakanaut.ru/admin/akyldash/pulls/54)
|
||||
(merge commit [`01380d3c`](https://git.vakanaut.ru/admin/akyldash/commit/01380d3c09d71e32c965d974a39a4d82de0a15c5));
|
||||
последующий follow-up поиска, кабинета и лаборатории записан в
|
||||
[commit `e5a8326a`](https://git.vakanaut.ru/admin/akyldash/commit/e5a8326a5e3def1bf5d5dc94794da82a2af801ab).
|
||||
|
||||
В исходном реестре **P1** означает обязательное исправление до визуальной
|
||||
приёмки/выпуска, **P2** — существенное улучшение понятности и
|
||||
последовательности. Отсутствие функции само по себе не считается багом;
|
||||
@@ -280,11 +288,30 @@ PR.
|
||||
| Окна | Заголовок, крестик, Escape, trap/return focus; окна не конкурируют слоями |
|
||||
| Лаборатория | Поиск → чтение → оценка → черновик → сохранение; текст не теряется, панель доступна при длинном документе |
|
||||
| Локализация | RU/KY labels и символы; язык UI не подменяет язык документа |
|
||||
| Геометрия | При 1280×800 границы основных зон и отступы/размеры controls отличаются от измеренного fixture не более чем на 2 CSS px; согласованные исключения описаны |
|
||||
| Типографика и таблицы | Noto действительно загружается; читаемый длинный текст; у широкой таблицы собственный скролл |
|
||||
| Доступность | Контраст AA, focus, Tab/Shift+Tab/Enter/Escape, zoom/reflow, reduced motion и touch targets |
|
||||
| Авторизация | Неверный пароль, expired session и обязательная смена проверены только в безопасном тестовом контуре |
|
||||
| Снимки | 1440×900, 1280×800, 1024×768, 390×844 и 320 CSS px; стабильные fixture и объяснённые различия |
|
||||
|
||||
Допуск **до 2 CSS px** для границ крупных зон и отступов/размеров controls при
|
||||
1280×800 перенесён из исторического pixel-perfect плана по стабильной ссылке
|
||||
выше. Он применяется к одинаковым детерминированным fixture; расхождения
|
||||
растра, вызванные сглаживанием текста или содержимым, сами по себе не дают
|
||||
основания обрезать или уплотнять юридический текст.
|
||||
|
||||
#### Нормативный орнамент и фактическое состояние
|
||||
|
||||
`DESIGN.md` нормативно требует небольшой золотистый SVG-орнамент в свободной
|
||||
нижней части desktop-панели фильтров, не перекрывающий длинные списки и не
|
||||
резервирующий место за счёт управления. Follow-up из commit `e5a8326a` удалил
|
||||
предыдущий декоративный SVG и его пустой резерв; в `backend/search/review.html`
|
||||
на базовом `main` целевого орнамента нет. Это не выполненное требование, а
|
||||
подтверждённое расхождение между `DESIGN.md` и реализацией. Дизайн остаётся
|
||||
нормативным до отдельного решения владельца: UI-задача должна либо вернуть
|
||||
орнамент в свободную область без влияния на управление, либо получить явное
|
||||
одобрение на изменение `DESIGN.md` и подтвердить его визуальной приёмкой.
|
||||
|
||||
### 2.3 Инфраструктура и переход к production
|
||||
|
||||
Инфраструктурные источники содержали повторяющиеся этапы deployment и
|
||||
@@ -304,11 +331,16 @@ PR.
|
||||
Публикация образов должна фиксировать digest и provenance; release workflow
|
||||
не равен deployment. Production CD не включать до прохождения owner gates,
|
||||
безопасной сборки, backup и отдельного restore.
|
||||
4. **Первое применение:** до запуска проверить реальные данные и
|
||||
конфигурацию, требуемое свободное место, открытые порты, права, backup
|
||||
readiness и совместимость схем. Выполнять через существующую ограниченную
|
||||
процедуру; не добавлять общие sudo/Docker-привилегии. Базы данных и
|
||||
внутренние сервисы не публиковать в интернет. DNS, reverse proxy и TLS
|
||||
4. **Контролируемое изменение существующего production:** последняя датированная
|
||||
проверка `https://akyldash.kg/review` вернула HTTP 200 25 октября 2026 года
|
||||
([CURRENT_STATE](../operations/CURRENT_STATE.md)); установленный на хосте
|
||||
SHA остался неизвестен. План относится к безопасному
|
||||
обновлению существующего сервиса, а не к первому развёртыванию. До изменения
|
||||
проверять реальные данные и конфигурацию, доступное место, опубликованные
|
||||
порты, права, совместимость схем и backup readiness. Выполнять через
|
||||
существующую ограниченную процедуру; не добавлять общие sudo/Docker-
|
||||
привилегии. Базы данных и внутренние сервисы не публиковать в интернет.
|
||||
DNS, reverse proxy и TLS
|
||||
проверять до выпуска; для Cloudflare применять Full (strict). SSH/UFW и
|
||||
сетевые ограничения меняются только после owner approval.
|
||||
5. **Проверка и recovery:** проверять health/API, RU/KY canaries, доступность
|
||||
@@ -320,6 +352,34 @@ PR.
|
||||
health gates и отказ без destructive cleanup. Не включать триггер только
|
||||
потому, что workflow завершился зелёным.
|
||||
|
||||
**Backup/maintenance gate:** настройки CI, проверка конфигурации и подготовка
|
||||
release provenance должны быть отделены от production cutover. Production CD
|
||||
в `CURRENT_STATE.md` остаётся неактивным. Перед каждым фактическим production
|
||||
изменением, включая миграции, создать и проверить внешний pre-change backup.
|
||||
Полный cold backup требует остановки Compose и может выполняться только в
|
||||
заранее согласованное с владельцем окно.
|
||||
Ни полный архив, ни его временная копия никогда не записываются на VPS. По
|
||||
текущей утверждённой схеме архив передаётся напрямую на фиксированный
|
||||
`D:\Dev\akyldash\.backups`; фактическая готовность D:, SSH и отдельное
|
||||
восстановление всё ещё не подтверждены. На VPS остаётся только secret-free
|
||||
идентификатор/manifest согласно `BACKUP.md`. Политика — одна retained,
|
||||
проверенная внешняя копия. При замене прежняя копия сохраняется до тех пор,
|
||||
пока новый candidate не опубликован и не проверен; на время этой проверки две
|
||||
копии могут сосуществовать. После подтверждения новой копии retention может
|
||||
изменить только владелец явным решением; автоматическая очистка запрещена.
|
||||
При неудачной публикации или проверке прежняя подтверждённая копия остаётся.
|
||||
Локальные VPS cold-backup команды из старых документов superseded и
|
||||
использоваться не должны.
|
||||
|
||||
#### Локальные generated reports
|
||||
|
||||
`/reports/` и `/tmp/` игнорируются по умолчанию, чтобы generated bulk не
|
||||
попадал в обычный `git status`. Уже отслеживаемые historical evidence остаются
|
||||
отслеживаемыми. Если конкретный отчёт нужен в Git, сначала проверить его
|
||||
содержимое, удалить секреты, персональные данные, production corpus и
|
||||
временные файлы, затем добавить только предназначенный к публикации файл
|
||||
явной командой `git add -f reports/<path>`. Не добавлять каталоги целиком.
|
||||
|
||||
Нынешний статус не переопределяется этим roadmap: на сверенной документации
|
||||
production CD остаётся неактивным, а backup/restore и внешний bootstrap имеют
|
||||
непроверенные owner prerequisites. Все точные блокировки сверять с
|
||||
|
||||
Reference in new issue
Block a user