Files
progcode/editorial/reviews/2018-09-draft.md
T
huncode 2c7f9d37d7
Build and deploy / deploy (push) Successful in 22s
revise September 2018 environment articles
2026-07-31 09:52:09 +03:00

13 KiB

Сентябрь 2018 — черновое тройное ревью «Воспроизводимое окружение Windows»

Пакет автономный и предназначен для отдельной интеграции:

  • editorial-2018-09-practice-windows-dev-env
  • editorial-2018-09-mechanism-windows-dev-env
  • editorial-2018-09-field-windows-dev-env

В этой партии созданы только:

  • web/scripts/upgrade-2018-09.mjs;
  • три SVG в web/public/assets/editorial/2018/;
  • этот файл ревью.

web/data/articles.json, реестр ревизий, аудит, стандарт качества, очередь и Git не менялись. Дата ревью: 31 июля 2026 года.

1. Факты и техника — пройдено

Граница и первичные источники

Утверждение в статье Чем сверено Оговорка в тексте
В Windows у переменных среды есть Machine, User и Process scopes; дочерние процессы наследуют переменные родителя about_Environment_Variables, Win32 Environment Variables Статья не утверждает, что старое окно мгновенно получает постоянную правку; проверка идёт в новом сеансе
PATH задаёт каталоги поиска, а PATHEXT — исполняемые расширения about_Environment_Variables Это не единственный слой выбора в PowerShell: отдельно названы alias, функции, cmdlet и внешние приложения
Get-Command -All показывает несколько одноимённых команд в порядке выбора PowerShell Get-Command where.exe не выдан за эквивалент: он помогает увидеть файлы в текущем каталоге и PATH
chcp показывает активную кодовую страницу; смена относится к программам, стартующим после неё chcp Кодовая страница консоли не приравнена к кодировке файла или настройке вывода .NET
JSON-снимок и дифф строятся стандартными PowerShell-командами ConvertTo-Json, Compare-Object Сравнение показывает различающиеся строки, а не доказывает причину без повторного запуска исходной команды

Технический проход

  • Скрипт экспортирует три ревизии и не меняет архив при import.
  • Контракт CLI проверен отдельно: --print-revisions выдал только валидный JSON из трёх объектов, без строки Usage и без stderr.
  • В примерах нет команды, отключающей execution policy, антивирус, проверку сертификатов или иной механизм безопасности.
  • Опасные данные ограничены заранее выбранными полями. В тексте отдельно сказано, что PATH может раскрыть имя пользователя и внутренние каталоги, поэтому JSON нужно просмотреть перед передачей.
  • Поля PATH, кодовая страница, найденный кандидат и результат --version не смешаны в один «универсальный диагноз». Каждая статья называет следующий наблюдаемый шаг.
  • Пути и версии в полевом разборе прямо помечены учебными. Они не приписываются реальному пользователю, команде или измерению.
  • В рабочей среде нет Windows PowerShell 5.1, поэтому примеры не объявлены выполненными на другой ОС. Их синтаксис, параметры и фактические утверждения сверены с первичной документацией; перед публикацией на Windows нужен отдельный локальный прогон учебных .ps1.

2. Редактура и голос М1 — пройдено

Ревизия Один вопрос Симптом и цена в начале Освоенное умение 2018 года Основной текст
Практика Какой минимальный снимок позволяет повторить запуск Команда не находит инструмент или выбирает другой; риск — случайная глобальная правка и утечка переменных PowerShell-скрипт, JSON и ручная проверка пути 5 866 знаков без кода и источников
Механизм Как PowerShell выбирает команду и где участвует кодовая страница Версия отличается и текст нечитаем; риск — исправить не тот бинарник или повредить текст Get-Command -All, where.exe, процессный PATH 6 864 знака без кода и источников
Поле Как найти различие между двумя машинами без переустановки Одинаковая команда расходится; риск — стереть след случайными установками Снимок, Compare-Object, обратимый опыт в новом сеансе 7 343 знака без кода и источников
  • Голос удержан на М1: инженерская заметка 2018 года идёт от наблюдаемой ошибки к короткой команде, затем к ручной проверке.
  • Не добавлены поздние роли, SLO, Kubernetes, контейнерные платформы, продуктовые метрики или непроверяемые истории внедрения.
  • В каждом тексте есть один рисунок с осмысленным alt и подписью, одна доступная таблица, воспроизводимый PowerShell-фрагмент, нумерованный порядок действий, ограничения и точный заголовок <h2>Проверяемые источники</h2>.
  • Убраны общие вводные и обещания «универсального решения». Утверждения ограничены версией, текущим процессом, конкретной командой или учебным примером.

Третий редакторский проход — пройдено

  • Независимый draft-gate вернул замечание только к editorial-2018-09-field-windows-dev-env: в первых 800 знаках был сценарий, но не было явного маркера проблемы.
  • Первое предложение заменено минимально: оно начинается с Симптом:, сохраняет две Windows-машины, расходящийся запуск и цену поспешной переустановки.
  • Остальная структура, объём, источники, визуал и тон М1 не менялись. Повторный npm run audit:draft -- scripts/upgrade-2018-09.mjs из web/ прошёл для всех трёх slug: 8 086 / 7 690 / 8 745 знаков body; node --check scripts/upgrade-2018-09.mjs также завершился успешно.

3. Визуал и выпуск — пройдено

  • windows-dev-env-snapshot-2018.svg объясняет состав минимального снимка и границу с секретными данными.
  • windows-dev-env-resolution-2018.svg разделяет поиск команды и проверку кодовой страницы; это предотвращает неверный вывод, что where.exe полностью описывает PowerShell.
  • windows-dev-env-diff-2018.svg показывает порядок полевого разбора: одинаковая команда → очищенные снимки → одно отличие → обратимый опыт → повтор.
  • Все схемы имеют адаптивный viewBox шириной 720px, используют контрастный текст и не содержат текста, который является единственным носителем смысла: связи также видны по группам и стрелкам.
  • SVG открыты через локальный Quick Look в масштабе 1200px. При первом просмотре нижняя строка схемы полевого разбора выходила за правую границу; текст сокращён, схема отрендерена повторно без обрезания. На трёх схемах проверены стрелки, контраст, кириллица и отсутствие клиппинга.

Выполненные команды и результат

node --check web/scripts/upgrade-2018-09.mjs
node web/scripts/upgrade-2018-09.mjs --print-revisions
node --input-type=module -e "import('./web/scripts/upgrade-2018-09.mjs').then(({revisions}) => { if (revisions.length !== 3) process.exit(1); })"
xmllint --noout web/public/assets/editorial/2018/windows-dev-env-snapshot-2018.svg
xmllint --noout web/public/assets/editorial/2018/windows-dev-env-resolution-2018.svg
xmllint --noout web/public/assets/editorial/2018/windows-dev-env-diff-2018.svg
  • Все шесть команд завершились успешно. Отдельно проверены чистый import, точный порядок трёх slug, 5 000–15 000 знаков основного текста, 8 / 8 / 9 смысловых заголовков, по два блока кода, figure с непустым alt и подписью, таблица с thead, нумерованный маршрут, точный раздел источников и 4 / 5 / 5 внешних первичных ссылок.
  • git diff --check по пяти файлам партии прошёл без пробелов и конфликтных маркеров. В статусе партии — ровно эти пять новых файлов; скрипт не импортирует и не записывает архив, реестр, аудит, стандарт, очередь или Git-историю.
  • После интеграции основной редактор повторно прогнал strict audit через реестр ревизий и production build. Сборка прошла и сгенерировала 374 статические страницы.

Статус: принят в публикационный слой 31 июля 2026 года. Ревизии накладываются только по стабильным slug, без изменения даты, автора и базового архива.