55 lines
8.6 KiB
Markdown
55 lines
8.6 KiB
Markdown
# P100 — июнь 2026: PHP, JavaScript и D в одном ландшафте
|
||
|
||
Историческая граница: 30.06.2026. Пакет изолирован строго в пяти файлах: `web/scripts/upgrade-2026-06.mjs`, этот review и три SVG. Registry, README, app files, `articles.json`, очередь и Git-состояние не входят в область работы.
|
||
|
||
## Проход 1 — проблема, плотность, голос, самостоятельность
|
||
|
||
- Practice начинает с цены неявного перевода между моделями и строит один narrow boundary contract. Это не каталог синтаксических различий.
|
||
- Mechanism начинает с цены payload, который выглядит одинаково, но не даёт общего решения. Идея статьи — отдельные оси type, error и time.
|
||
- Field начинает с цены ложного integration success. Его output ограничен evidence review и named stop reasons.
|
||
- Во всех трёх текстах первые два абзаца называют проблему и стоимость; язык М9 короткий, технический, без runtime-романтики и без обещаний deploy.
|
||
- У каждого материала самостоятельные таблица, SVG, ordered sequence, snippet, limits и next step. Нет общей вводной, общей таблицы и общей code-последовательности.
|
||
|
||
## Проход 2 — source pins, историческая граница, исполнимость
|
||
|
||
Проверены только факты, нужные для ограничения утверждений:
|
||
|
||
- PHP: [annotated tag php-8.4.0](https://github.com/php/php-src/tree/b437f2b32eb364c9496d24abcc734272e5c9c980), tag object `501fc4ce253940b58a8744b1083951327e07f00e`, 19.11.2024. URL закреплён на commit; используется только как dated source line PHP.
|
||
- JavaScript: [ECMA-262, 16th edition](https://262.ecma-international.org/16.0/), June 2025. Edition-specific publication; проверены заголовок edition, раздел ECMAScript Language Types и completion semantics.
|
||
- D: [annotated tag v2.111.0](https://github.com/dlang/dmd/tree/c403accecf9048802122c17852715251509adf56), tag object `6ae81e26cedc8f792d0074186e38974542f1a3cc`, 31.03.2025; официальный [change log](https://dlang.org/changelog/2.111.0.html) фиксирует release 01.04.2025. В articles остаётся immutable commit pin, а change log использован только для проверки даты.
|
||
|
||
Тексты не выводят совместимость этих языков друг с другом из источников. Все adapters, model labels, values, errors, time intervals, packets и evidence — named fixed synthetic JavaScript literals в памяти. В проекте не запускается PHP или D, не контактируются сервисы, не используется сеть, filesystem, clock, telemetry, trace, profile или PII. Accepted путь — только `synthetic-multi-runtime-review-hand-off` или `synthetic-integration-review-hand-off`; это не certificate, deployment или production effect.
|
||
|
||
Публичные exports отделены по идее: `reviewFixedBoundaryContract`, `explainFixedSemanticBoundary`, `reviewFixedEvidencePacket`. Fixture содержит accepted и fail-closed пути: incomplete contract, mixed error semantics, undetermined time и incomparable adapter mapping. Каждый output несёт `productionEffect: not-attempted`.
|
||
|
||
## Проход 3 — release quality
|
||
|
||
- `node --check web/scripts/upgrade-2026-06.mjs` — пройден.
|
||
- `node web/scripts/upgrade-2026-06.mjs --verify-fixture` — 12/12: 9/9 fixture paths и 3/3 article gates; body chars 9 672 / 10 667 / 9 592.
|
||
- `npm run audit:draft -- scripts/upgrade-2026-06.mjs` — PASS для всех трёх archive slugs: problem/cost в начале, tables, captions, SVG, steps, links и snippets найдены.
|
||
- Три literal snippets запущены отдельно через public exports: boundary возвращает `synthetic-multi-runtime-review-hand-off`, semantic matrix — `synthetic-semantic-boundary-explained`, evidence packet — `synthetic-integration-review-hand-off`; все с `productionEffect: not-attempted`. Negative paths проверены fixture.
|
||
- Каждый SVG прошёл XML validation и safety scan на script, foreignObject, javascript URL, data image и inline event handler. Три файла отрисованы Sharp в 375px и визуально проверены: мобильная карта, матрица и evidence loop читаемы, без обрезания содержательных элементов.
|
||
- Source/link audit: три pinned article URLs получили HTTP 200. Дополнительно source research подтвердил PHP tag date 19.11.2024, ECMA edition June 2025 и D tag date 31.03.2025 / release 01.04.2025; все до cutoff.
|
||
- Strict uniqueness исключает source list, но включает весь остальной article HTML и code: для каждой пары 0 общих paragraph >=160 и 0 common 12-word fragments.
|
||
- `git diff --check` выполняется последней read-only проверкой. Не выполняются `git add`, `git commit`, `git push`, `git fetch`, `git rebase`, `git reset`, `git stash` или `git checkout`.
|
||
|
||
## Независимая приёмка основным редактором — 31 июля 2026
|
||
|
||
### Проход 1 — текст и самостоятельность статей
|
||
|
||
- Practice формулирует цену неявного перевода между моделями и строит narrow contract; mechanism отделяет type/error/time; field не подменяет review фактом интеграции. Это три разных ответа на проблему, а не разрезанный на части один текст.
|
||
- Первые два абзаца каждой статьи называют техническую потерю. Повторный `audit:draft` подтвердил объёмы 9 672 / 10 667 / 9 592 знака; в каждом материале есть таблица, самостоятельная схема, literal snippet, порядок действий, границы и следующий шаг.
|
||
|
||
### Проход 2 — исторические факты и исполняемость
|
||
|
||
- `git ls-remote --tags` повторно связал PHP tag object `501fc4ce…` с commit `b437f2b…`, а D tag object `6ae81e26…` с commit `c403acce…`. Прямые commit patches подтверждают версии PHP 8.4.0 и D v2.111.0; D change log фиксирует выпуск 2.111.0 1 апреля 2025 года. Это version pins, не доказательство поведения runtime.
|
||
- [ECMA-262 16th edition](https://262.ecma-international.org/16.0/) прочитана напрямую: заголовок закрепляет June 2025 / ECMAScript 2025, а specification содержит отдельные разделы ECMAScript Language Types и Completion Records. Эти термины не распространены на PHP или D.
|
||
- Literal execution отдельно вернул `synthetic-multi-runtime-review-hand-off`, `synthetic-semantic-boundary-explained`, `synthetic-integration-review-hand-off` и fail-closed `stop-incomparable-adapter`. Во всех положительных outputs установлен `productionEffect: not-attempted`.
|
||
|
||
### Проход 3 — выпускная проверка
|
||
|
||
- `node --check`, fixture `12/12`, `npm run audit:draft`, XML validation и SVG safety scan прошли повторно.
|
||
- Все три SVG были отрендерены Sharp в 375px и просмотрены: текст и стрелки читаемы, матрица не скрывает колонку stop, а схема evidence не рисует несуществующую сеть или runtime.
|
||
- Строгий pairwise scan без source list, но с code, дал во всех трёх парах `exactParagraphs160: 0` и `common12WordFragments: 0`.
|
||
- Итог: P100 принят как набор статей о дисциплине contract review. Он не утверждает совместимость PHP, JavaScript и D, факт integration, deployment или наблюдаемый production effect.
|