# Редакторское ревью: ноябрь 2027 Пакет переписан как три самостоятельных материала о надёжности: совместимая миграция схемы, retry/idempotency и incident runbook. Исторические slug и имена assets сохранены, технические title/desc/alt/caption обновлены. ## Три содержательных прохода ### `editorial-2027-11-practice-mistakes-revisions` 1. Факты и пример: до — вопрос о пересмотре совета без базы; после — `classifyMigrationStep` с unsafe/expand/switch/contract и совместимостью reader/writer. Причина: миграция должна иметь проверяемую матрицу, а не обещание безопасного перехода. 2. Структура и голос: до — временная линия без реальной DDL-логики; после — symptom блокировки, expand/dual write/switch/contract, таблица и порядок rollback. Причина: reader должен увидеть, где остановиться до удаления колонки. 3. Визуал и доступность: до — timeline будущей коррекции; после — техническая timeline четырёх фаз с контрольной точкой проверки данных. Причина: схема связывает время и совместимость без мета-сюжета. ### `editorial-2027-11-mechanism-mistakes-revisions` 1. Факты и пример: до — condition/correction evaluator; после — `calculateRetryDelay` с exponential cap и фиксированным jitter, включая invalid input. Причина: пример должен показывать реальный механизм backoff. 2. Структура и голос: до — абстрактная передача вопроса; после — право на retry, таблица статусов 429/503/timeout, idempotency key, deadline и порядок настройки. Причина: backoff нельзя обсуждать без семантики операции. 3. Визуал и доступность: до — матрица неизвестных полей; после — матрица сигнала, решения, задержки и риска с отдельной строкой POST timeout. Причина: визуал предотвращает чтение retry как универсального исправления. ### `editorial-2027-11-field-mistakes-revisions` 1. Факты и пример: до — hand-off вопроса о correction; после — `classifyIncidentSignal` с приоритетом 5xx/error rate над latency и отдельной проверкой. Причина: runbook требует наблюдаемого входа и порога. 2. Структура и голос: до — текст о будущей истории исправления; после — symptom, scope, hypothesis, одно обратимое действие, recovery criteria и ordered incident route. Причина: оператор должен получить следующий безопасный шаг. 3. Визуал и доступность: до — evidence hand-off loop; после — петля `Симптом → Гипотеза → Действие → Проверка` и остановка без verification. Причина: рисунок показывает закрытие цикла по метрике. ## Источники и границы применения - [PostgreSQL 16 Documentation, Modifying Tables](https://www.postgresql.org/docs/16/ddl-alter.html), версия 16: DDL и ограничения операций; не заменяет проверку конкретного кластера. - [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html), июнь 2022 года: HTTP semantics и идемпотентность методов; не задаёт retry policy. - [RFC 6585](https://www.rfc-editor.org/rfc/rfc6585.html), апрель 2012 года: 429 Too Many Requests; не выбирает задержку. - [NIST SP 800-61r2](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf), revision 2, май 2012 года: структура incident handling; не знает локальные пороги и права. ## Проверки - `node --check scripts/upgrade-2027-11.mjs` — PASS. - `node scripts/upgrade-2027-11.mjs --verify-fixture` — PASS, 9/9. - `npm run audit:draft -- scripts/upgrade-2027-11.mjs` — PASS, 5592 / 5389 / 5381 body chars. - `npm run audit:articles -- editorial-2027-11-practice-mistakes-revisions editorial-2027-11-mechanism-mistakes-revisions editorial-2027-11-field-mistakes-revisions` — PASS. - `xmllint --noout` и SVG safety scan — PASS для трёх существующих assets. - Ручная проверка Sharp 375 px выполнена после общего рендера; стрелки и подписи помещаются в canvas.