Files
progcode/editorial/reviews/2026-07-draft.md
T
huncode f312d7a598
Build and deploy / deploy (push) Successful in 15s
revise July 2026 migration playbook articles
2026-07-31 19:43:02 +03:00

46 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P101 — июль 2026: migration playbook
Историческая граница: 31.07.2026. Пакет ограничен июльским overlay, этим review и тремя SVG. Все routes, records, доли traffic, окна, owners и return states в статьях — именованные fixed synthetic literals; они не описывают переход, инцидент или среду.
## Проход 1 — проблема, плотность, голос и независимость
- Practice начинает с проблемы плана без инвентаря и цены невозможного ответа при сбое. Его предмет — собрать phases и gates до любого разговора о cutover.
- Mechanism отделяет инварианты inventory, comparable traffic, reversible data и decidable rollback. Это не второй checklist phases.
- Field ограничен synthetic rehearsal/evidence hand-off: вход, criterion, counterexample и exact stop. Он не сообщает о проведённой репетиции.
- Повторно проверено: первые два абзаца каждого текста называют проблему и цену; у каждой статьи отдельные таблица, figure, пример, последовательность, границы и следующий шаг. Попарный scan исключает source lists, но включает code: 0 одинаковых абзацев длиной от 160 символов и 0 общих 12-словных фрагментов.
## Проход 2 — источники, cutoff и literal execution
1. [Kubernetes Deployments v1.33](https://v1-33.docs.kubernetes.io/docs/concepts/workloads/controllers/deployment/) — versioned Kubernetes 1.33 documentation line, доступная до cutoff. Использован только узкий предел: Deployment rollback относится к revision/Pod template, поэтому controller rollback нельзя приравнивать к recovery данных. Это не доказательство состояния кластера, traffic или результата миграции.
2. [Google SRE Book: Addressing Cascading Failures, Wayback capture 2025-01-23](https://web.archive.org/web/20250123164219id_/https://sre.google/sre-book/addressing-cascading-failures/) — immutable archival capture. Использовано только понятие положительной обратной связи и ценность ранней остановки. Источник не подтверждает failure mode или threshold synthetic record.
3. [RFC 2119, March 1997](https://www.rfc-editor.org/rfc/rfc2119.txt) — immutable RFC text. Он определяет requirement keywords; MUST/MAY в статьях относятся только к проверяемой структуре in-memory model, не к внешнему распоряжению.
Public exports выполнены буквально: `inspectFixedMigrationInventory` вернул `fixed-inventory-complete`; `evaluateFixedTransitionState` на candidate без control вернул `stop-unbounded-traffic-slice`; `reviewFixedMigrationPlaybook` без trigger вернул `stop-unnamed-rollback-trigger`. Fixture: 14/14. Положительный status остаётся `synthetic-migration-review-hand-off` с `productionEffect: not-attempted`.
## Проход 3 — публикационное качество и мобильные схемы
- `node --check`, fixture и `npm run audit:draft` прошли. Длина тел: 8 660 / 9 492 / 9 620 знаков.
- XML и safety scan для трёх SVG прошли: нет `script`, `foreignObject`, JavaScript URL, data image или event handler.
- Первичные схемы отклонены: `viewBox 1200` и 14–18px рабочий текст давали нечитаемый рендер на 375px. Они заменены на оригинальные схемы `720px` с рабочим текстом 20–24px; Sharp renders проверены визуально — текст, стрелки и стоп-ветви не обрезаны.
- Draft готов для независимой production-приёмки. Registry, README, staging, commit и push не входят в этот sidecar review.
## Независимая приёмка основным редактором — 31 июля 2026
### Проход 1 — проблема, плотность и независимость
- Practice не начинает с target architecture: он требует inventory и gates. Mechanism разбирает инварианты recovery и comparable traffic. Field ограничивает rehearsal evidence и hand-off. Три материала различаются по вопросу и по механизму, а не только заголовком.
- Повторный audit подтвердил 8 660 / 9 492 / 9 541 знака. В каждой статье есть table, отдельный visual, literal public export, последовательность, границы и следующий шаг; сильные глаголы не маскируют реальный cutover.
### Проход 2 — факты и исполняемость
- [Kubernetes v1.33 Deployments](https://v1-33.docs.kubernetes.io/docs/concepts/workloads/controllers/deployment/) проверен напрямую: документация разделяет rollback Deployment revision и отмечает, что при возврате ранней revision откатывается только Pod template. Это использовано ровно как предел аналогии, не как утверждение о данных, traffic или кластере.
- Зафиксированный [Wayback capture SRE Book](https://web.archive.org/web/20250123164219id_/https://sre.google/sre-book/addressing-cascading-failures/) отвечает HTTP 200; тот же первичный текст SRE Book прямо определяет cascading failure через positive feedback. [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119.txt) непосредственно определяет MUST и MAY. Оба источника ограничивают язык модели, а не создают распоряжения к среде.
- Literal execution повторно вернул `fixed-inventory-complete`, `stop-unbounded-traffic-slice`, `stop-unnamed-rollback-trigger` и `synthetic-migration-review-hand-off`; у положительной ветки остаётся `productionEffect: not-attempted`.
### Проход 3 — выпускная проверка
- `node --check`, fixture `14/14`, `npm run audit:draft`, XML validation и safety scan повторно прошли.
- В принятом mobile review была обнаружена обрезка правой колонки rollback matrix на 375px. Подписи сокращены без подмены смысла, SVG повторно прошёл XML/safety, был отрендерен Sharp и визуально просмотрен; все три схемы читаемы, без обрезанных стрелок и полей.
- Строгий pairwise scan без source lists, с code, даёт для всех трёх пар `exactParagraphs160: 0` и `common12WordFragments: 0`.
- Итог: P101 готов как synthetic migration-review пакет. Он не является планом запуска реальной миграции, разрешением cutover, recovery procedure или claim о production state.