Files
2026-07-31 22:26:56 +03:00

5.0 KiB
Raw Permalink Blame History

Редакторское ревью: октябрь 2027

Пакет переписан как три технические статьи о границах HTTP-соединения: deadline, TLS-сертификат и Trace Context. Исторические slug сохранены; внутренние редакционные статусы из body удалены.

Три содержательных прохода

editorial-2027-10-practice-long-form-interview

  1. Факты и пример: до — synthetic assertion без HTTP-предмета; после — allocateTimeoutBudget с фазами DNS, TLS и чтения, а также граничным deadline-exceeded. Причина: runnable-код должен показывать абсолютный бюджет, не изображать интервью или процесс.
  2. Структура и голос: до — рассуждение о сборе evidence; после — symptom и цена retry в начале, таблица фаз, объяснение идемпотентности, ordered diagnostic route и ограничения. Причина: общий timeout нужно разложить до выбора действия.
  3. Визуал и доступность: до — claim/evidence map; после — схема deadline и фаз с русскими title/desc, alt/caption. Причина: на 375 px видно, что новая фаза получает только остаток.

editorial-2027-10-mechanism-long-form-interview

  1. Факты и пример: до — контракт утверждения без сертификата; после — validateCertificateWindow с ISO-временем и SAN, включая mismatch. Причина: «curl работает» нужно разбирать через предметные проверки TLS.
  2. Структура и голос: до — boundary matrix для скрытого источника; после — цепочка trust, срок, hostname и алгоритм, затем безопасный маршрут диагностики без insecure. Причина: причина ошибки должна быть отделена от обхода проверки.
  3. Визуал и доступность: до — evidence matrix; после — таблица слоёв срока, SAN, цепочки и policy с ясной красной границей. Причина: рисунок объясняет, что шифрование не равно доверию.

editorial-2027-10-field-long-form-interview

  1. Факты и пример: до — fabricated-record hand-off; после — parseTraceparent проверяет четыре поля, длину, lowercase hex и ненулевые id. Причина: пример должен валидировать Trace Context на HTTP-входе.
  2. Структура и голос: до — заметка о speaker/transcript; после — symptom потерянного запроса, proxy boundary, structured logs, ordered diagnostic route и ограничение доверия. Причина: читатель получает способ найти потерянный контекст.
  3. Визуал и доступность: до — editorial hand-off loop; после — Клиент → Gateway → Service и controlled fallback для плохого header. Причина: связь через proxy стала предметно проверяемой и читаемой на мобильной ширине.

Источники и границы применения

  • RFC 9110, июнь 2022 года: HTTP-обмен; не измеряет фазы конкретной библиотеки.
  • RFC 8446, август 2018 года: TLS 1.3 handshake; не задаёт local timeout policy.
  • RFC 5280, май 2008 года: X.509/PKIX path validation; не заменяет trust store ОС.
  • W3C Trace Context Level 1, 23 ноября 2021 года: формат traceparent; не задаёт storage и sampling.

Проверки

  • node --check scripts/upgrade-2027-10.mjs — PASS.
  • node scripts/upgrade-2027-10.mjs --verify-fixture — PASS, 9/9.
  • npm run audit:draft -- scripts/upgrade-2027-10.mjs — PASS, 5804 / 5532 / 5645 body chars.
  • npm run audit:articles -- editorial-2027-10-practice-long-form-interview editorial-2027-10-mechanism-long-form-interview editorial-2027-10-field-long-form-interview — PASS.
  • xmllint --noout и SVG safety scan — PASS для трёх существующих assets.
  • Ручная проверка Sharp 375 px выполнена после общего рендера; текстовые блоки не обрезаны.