13 KiB
P112 — June 2027: «Большой разбор производительности»
Статус, temporal boundary и file scope
Редакторская дата: 2026-07-31. Июнь 2027 ещё не наступил. Три revision — только plan/scenario на 2027-06 с source cutoff 2026-07-31. В них не существуют и не заявляются benchmark, telemetry, profile, bottleneck, rollout, winner, product/production effect, service data или raw telemetry.
Модуль принимает лишь named fixed in-memory literals. Единственный положительный status — synthetic-plan-hand-off, всегда с productionEffect: not-attempted; прочие cases проходят fail-closed. Код не читает files, network, environment, clock, secrets, telemetry, browsers, services, systems или data и не делает наблюдений. Реальный сбор, profile, service inspection или интерпретация могут появиться только в отдельном явно authorised scope.
Изменены только разрешённые P112-файлы:
web/scripts/upgrade-2027-06.mjseditorial/reviews/2027-06-draft.mdweb/public/assets/editorial/2027/performance-capstone-2027-critical-path-contract.svgweb/public/assets/editorial/2027/performance-capstone-2027-evidence-boundary-matrix.svgweb/public/assets/editorial/2027/performance-capstone-2027-handoff-loop.svg
Git не использовался. Registry, README, queue, articles.json, app и P102–P111 не менялись.
Закреплённые первичные источники и URL verification
- W3C Performance Timeline Level 2 — W3C Working Draft, dated snapshot 2019-03-29. Это immutable датированная замена прежнему mutable URL. Используется для vocabulary
PerformanceEntry/PerformanceObserver; не подтверждает существование entry, rendering path или effect в неизвестном приложении. - W3C Navigation Timing Level 2 — W3C Working Draft, 2026-02-25. Используется для границ navigation timing entry; не создаёт future measurement или baseline.
- W3C Resource Timing — W3C Candidate Recommendation Draft, 2026-04-20. Используется для vocabulary resource entries и
Timing-Allow-Origin; не делает условия сопоставимыми и не устанавливает bottleneck. - W3C Long Tasks API — W3C Working Draft, 2026-03-19. Используется для определения класса long task; не доказывает profile, причину задержки или наличие long task в продукте.
Все четыре exact W3C URL проверены 2026-07-31 запросом curl -I -L: HTTP 200. Их датированные publication/last-modified значения — 2019-03-29, 2026-02-25, 2026-04-20 и 2026-03-19; каждое не позже source cutoff. Предыдущая mutable-публикация удалена из script и review: историческим доказательством остаётся только закреплённый W3C snapshot. Спецификация задаёт термин и visibility boundary, но никогда не выступает evidence измеренного результата.
Additional independent correction after rejection
Независимая приёмка справедливо отклонила предыдущую глубину 5 913 / 6 306 / 6 203 знака: общий минимум выполнялся, но это не соответствовало очереди «Большой разбор производительности». Исправление расширило статьи до строгого локального диапазона 9 000–12 000 знаков и закрепило тот же диапазон в revision() и verifyRevisionsAgainstFixture().
- Practice теперь отдельно разбирает navigation/resource/main-thread/action boundary, единицу работы, owner каждого элемента контракта, ложный proxy-контрпример и редакционный stop для склеенной постановки.
- Mechanism добавляет condition ledger, смысл baseline без прошлого числа, confounders, TAO/visibility/privacy boundary, различие между числом и causal claim, а также будущие outcomes фальсификации без выдачи их за result.
- Field добавляет evidence record против отчёта, разделение прав на сбор и решение, no-data hand-off, независимость review от decision и минимальный контракт следующего scope.
Новые body lengths без sources: practice — 11 758, mechanism — 11 981, field — 11 747 знаков. Все новые разделы описывают контракт будущей работы, а не будущий benchmark, telemetry, profile или производственный эффект.
Review pass 1 — содержание, источники и temporal honesty
- Первые два абзаца каждой статьи по-прежнему называют исходную проблему и цену: спорные правки, ложный winner и преждевременный rollout соответственно.
- Три текста сохраняют разные главные вопросы: practice — что является единицей критического пути; mechanism — что сделает сравнение опровержимым; field — как передать вопрос без отчёта.
- Ссылки отделены от фактов: датированные W3C snapshots объясняют API и ограничения, но не подтверждают route, service, response, entry, timing или пользовательское состояние.
- В каждом revision есть HTML table, исходная русская SVG-схема с meaningful alt/caption, safe runnable example, ordered actions, limits и concrete next scope boundary.
Review pass 2 — literal safety и fail-closed
critical-path-contract-2027-06-v1— единственный accept:synthetic-plan-hand-off/productionEffect: not-attempted.missing-june-date-or-cutoff-v1—stop-missing-june-date-or-cutoff; date и cutoff не выводятся по умолчанию.unnamed-path-contract-v1—stop-unnamed-path-contract; question обязана иметь id и revision.conditions-claimed-without-record-v1—stop-conditions-claimed-without-record; browser/device/cache/route нельзя assumed.observation-injected-into-plan-v1—stop-observation-injected-into-plan; benchmark, telemetry и profile остаются unobserved.result-substitution-v1—stop-result-substitution; winner, bottleneck, rollout и production conclusion запрещены.- JSON clone + recursive deep freeze закрывают mutation nested contract/conditions/evidence. Unknown input закрывается
stop-unknown-fixed-literal. Runnable examples выполняют только fixed literal/evaluator и не имеют I/O.
Review pass 3 — visual, mobile, SVG safety и uniqueness
- Все SVG имеют русский
title/desc; article figures имеют русские alt/caption. Не найдены external URL,script,foreignObject,javascript:,data:imageили inline event handlers. - Sharp создал три изображения 375×225. Ручной осмотр: contract сохраняет четыре границы и итоговый hand-off; matrix — четыре строки/колонки и stop rule; loop — вход, проверки, stop-ветку и владельца. Обрезаний или перекрытий нет.
- Strict scan исключал section
Проверяемые источники, но включал<p>и<pre>, поэтому runnable code участвовал. Сканированы 3 P112 revision попарно и против 30 published revision P102–P111 (2026-08…2027-05).exactParagraphs160: 0,common12WordFragments: 0,failures: [].
Реально выполненные проверки после correction
Из web/ выполнены:
node --check scripts/upgrade-2027-06.mjs
node scripts/upgrade-2027-06.mjs --verify-fixture
npm run audit:draft -- scripts/upgrade-2027-06.mjs
xmllint --noout public/assets/editorial/2027/performance-capstone-2027-critical-path-contract.svg public/assets/editorial/2027/performance-capstone-2027-evidence-boundary-matrix.svg public/assets/editorial/2027/performance-capstone-2027-handoff-loop.svg
rg -n -i '<(script|foreignObject)\b|javascript:|data:image|(?:^|[[:space:]])on[a-z]+=' public/assets/editorial/2027/performance-capstone-2027-critical-path-contract.svg public/assets/editorial/2027/performance-capstone-2027-evidence-boundary-matrix.svg public/assets/editorial/2027/performance-capstone-2027-handoff-loop.svg
node --input-type=module -e "import sharp from 'sharp'; /* render all three SVG at width 375 */"
node --input-type=module -e "/* import P102-P111 and P112; exclude sources; scan p/pre and 12-word grams */"
curl -I -L https://www.w3.org/TR/2019/WD-performance-timeline-2-20190329/
curl -I -L https://www.w3.org/TR/2026/WD-navigation-timing-2-20260225/
curl -I -L https://www.w3.org/TR/2026/CRD-resource-timing-20260420/
curl -I -L https://www.w3.org/TR/2026/WD-longtasks-1-20260319/
Фактические результаты: syntax — pass; fixture — 9/9 (6 literal statuses + 3 articles); internal 9–12k guard — pass; audit — pass для three exact slug с 11 758 / 11 981 / 11 747 body chars; XML — pass; SVG safety scan — empty/pass; Sharp — 3 × 375×225; manual mobile review — pass; duplicate scan — scannedP112: 3, againstP102toP111: 30, failures: []; W3C URL verification — 4 × HTTP 200.
Disposition
P112 остаётся завершённым плановым выпуском: итогом может быть лишь synthetic-plan-hand-off. Любая будущая работа с реальными target, data, telemetry, profile, benchmark, interpretation, rollout или effect требует собственного authorised scope и не может быть задним числом добавлена в этот выпуск.
Независимая приёмка — 2026-07-31
Проход 1 — глубина, источники и границы знания
- Предыдущая краткая версия была отклонена и расширена до 11 758, 11 981 и 11 747 знаков. Новые разделы раскрывают ownership, false proxy, condition ledger, confounders, visibility/TAO, privacy, provenance и separation review/decision, не добавляя вымышленного performance-result.
- Все источники W3C проверены: immutable snapshot Performance Timeline от 2019-03-29 и три датированных W3C публикации 2026 года существуют до cutoff 2026-07-31. Они применены как vocabulary и спецификация visibility, не как evidence о продукте.
- Practice, mechanism и field сохраняют разные вопросы и цену: договор критического пути, опровержимость claim и передача вопроса без отчёта.
Проход 2 — контракт и редакционный автоматический аудит
node --check, fixture9/9, export/deep-freeze check иnpm run audit:draft -- scripts/upgrade-2027-06.mjsпрошли. Единственная accepted ветвь —synthetic-plan-hand-off; все пять контрпримеров останавливаются fail-closed, accepted effect —not-attempted.- Три body проходят не только глобальный диапазон 5–15k, но и локальную защиту capstone
9–12k. xmllintпрошёл без output; SVG safety scan не нашёл executable или active external content.
Проход 3 — визуал, overlap и выпуск
- Три SVG заново отрендерены и просмотрены на ширине 375 px: контур критического пути, матрица сравнимости и hand-off loop остаются читаемыми без обрезания.
- Strict cross-package scan P102–P112 исключает source section, но включает code. Для 33 статей результат:
collisions: []. - В реестр добавлены только три июньские revisions; пользовательские app/data files не включены.