# П58 · 2022-12 · Исследование пользовательской проблемы — три прохода саморевью ## Рамка пакета - Slug: `editorial-2022-12-practice-user-research`, `editorial-2022-12-mechanism-user-research`, `editorial-2022-12-field-user-research`. - Голос: М5, декабрь 2022. Короткая прагматичная техническая речь; объект разбора — риск улучшать интерфейс до подтверждённой проблемы. - Граница: пакет не содержит интервью, участников, персональных данных, аналитики, продукта, browser trace, метрик, конверсии, сроков или результатов исследования. `synthetic-card-A` — намеренно выдуманная локальная запись fixture. - Sidecar содержит ровно пять новых файлов. Registry, README, `articles.json`, очередь, документация, Git, публикация, чужие файлы и предыдущие месяцы не менялись. ## Проход 1 — факты и техника - Историческая рамка проверена по двум официальным архивным snapshots GOV.UK Service Manual, доступным до конца декабря 2022 года: [Plan user research for your service, snapshot 05.12.2022](https://web.archive.org/web/20221205231709id_/https://www.gov.uk/service-manual/user-research/plan-user-research-for-your-service) и [User research for government services, snapshot 26.11.2022](https://web.archive.org/web/20221126155827id_/https://www.gov.uk/service-manual/user-research/how-user-research-improves-service-design). 31.07.2026 оба URL перепроверены `curl -L`: HTTP 200; первый снимок направлен Wayback на точный timestamp `20221205231709`, второй — `20221126155827`. - В статьях этим руководствам приписано только то, что есть в snapshots: превращать непроверенные предположения в исследовательские вопросы, выбирать метод по тому, что нужно узнать, и смотреть на исход пользователя, а не популярность решения. Они не названы спецификацией конкретного продукта и не используются как доказательство реального кейса. - Независимая правка редактора: первоначальная fixture проверяла буквальную фразу интерпретации, но не саму границу уровней. Теперь она отдельно отклоняет hypothesis до interpretation и подтверждает, что interpretation не меняет observation и не создаёт hypothesis/decision. - `runUserResearchFixture()` — deterministic in-memory evidence-модель. Она требует source у observation, запрещает experiment до hypothesis, сохраняет `defer-solution` и делает rollback к snapshot. Assertions утверждают только эти локальные переходы и явно фиксируют отсутствие participants, analytics, interview и metric. ## Проход 2 — голос, полнота и объём - В первых двух абзацах каждой статьи названы проблема и цена: решение до подтверждённой задачи создаёт ложную определённость, тратит разработку и оставляет исходную преграду без проверки. - В каждой статье есть маршрут «симптом → причина → проверка → действие», таблица, исполнимый JS-пример, нумерованный порядок, figure с alt/caption, rollback, граница утверждений и следующий шаг. Решение, следующий эксперимент и факт не смешаны. - `audit:draft` считает основной текст без списка источников: 6 027 / 6 770 / 7 043 знака; все три значения в обязательном диапазоне 5 000–15 000. ## Проход 3 — визуал, безопасность и выпуск - SVG разделяют поток evidence, контракт переходов и диагностику с rollback. Во всех трёх нет `script`, `foreignObject`, внешних URL, `data:image` или интерактивного поведения; подписи прямо называют их учебными схемами, а не исследовательскими данными. - Выполнены: `node --check web/scripts/upgrade-2022-12.mjs` — PASS; `cd web && npm run audit:draft -- scripts/upgrade-2022-12.mjs` — PASS; `node web/scripts/upgrade-2022-12.mjs --verify-fixture` — PASS 12/12; import-safe проверка `revisions` без `date` и `author` — PASS; XML-проверка, SVG safety scan и Sharp-review на ширине 375 px — PASS. - При приёмке пакет добавлен в registry поверх исходных slug; `articles.json`, даты и автор не менялись. README обновлён с 175 до 178 принятых материалов из 358. Чужие sidecar-файлы не затрагивались. ## Интеграционная приёмка - Строгий аудит опубликованного overlay прошёл для всех трёх slug: 6 027 / 6 770 / 7 043 знака, по одной figure, table и code example. Отдельная merge-проверка подтверждает исходные даты и автора `DarkRiDDeR`; в registry 169 ревизий. - `npm run build` в `web/` завершился успешно: production-сборка сгенерировала 374 статические страницы. Предупреждения относятся только к неподдерживаемым локальным npm-конфигурациям; TypeScript и Next.js завершились без ошибки. - Перед commit остаются `git diff --check`, проверка точного staged-набора и отношение к `origin/master`; reset и перезапись архива не применялись.