12 KiB
P118 — декабрь 2027: «Манифест инженерного письма»
Статус и временная граница
Редакторская дата: 2026-07-31. Декабрь 2027 ещё не наступил, поэтому P118 — только plan/scenario с planDate: 2027-12 и source cutoff 2026-07-31. Пакет не сообщает о будущих статьях, архиве, редакторе, review, feedback, corrections, публикации, author development, команде, метриках или production effect.
Модуль использует только named fixed in-memory literals. Доменный evaluator не читает filesystem, network, environment, clock, secrets, telemetry, system или data; CLI-вывод существует только для локальной проверки экспортированного JSON. Единственный accepted positive output — synthetic-plan-hand-off; на positive и stop-ветках productionEffect всегда not-attempted.
Проход 1 — evidence / temporal / voice
| Статья | Body chars без sources | Независимый угол | Временная граница | Источники: применение и boundary |
|---|---|---|---|---|
editorial-2027-12-practice-author-manifesto |
10 874 | decision record до technical advice | 2026-07-31 / 2027-12 / cutoff 2026-07-31 | RFC 2119, March 1997, immutable URL; модальные границы совета, не доказательство статьи или решения. W3C PROV-DM, 30 April 2013, dated URL; происхождение claim, не история локального архива или результата. |
editorial-2027-12-mechanism-author-manifesto |
11 177 | rubric: evidence levels, claims, falsifiability и три прохода | та же | RFC 8174, May 2017, immutable URL; точное чтение требований, не review или verdict. W3C PROV-DM, 30 April 2013; различение claim и provenance, не evidence P118. |
editorial-2027-12-field-author-manifesto |
10 831 | corrective hand-off без invented feedback или author history | та же | RFC 2119 и RFC 8174; область действия нормативной формулировки, не owner, reviewer, publication, correction или author development. |
Проверяемые первичные/нормативные источники до cutoff:
- RFC 2119 — Key words for use in RFCs to Indicate Requirement Levels, IETF RFC 2119, March 1997, immutable RFC publication. Использован для явного различения требования и рекомендации. Не подтверждает событие, review, публикацию, коррекцию или effect P118.
- RFC 8174 — Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words, IETF RFC 8174, May 2017, immutable RFC publication. Использован для границы сильной формулировки. Не создаёт будущий редакционный процесс или результат.
- PROV-DM: The PROV Data Model, W3C Recommendation, 30 April 2013, dated immutable Recommendation. Использован как vocabulary происхождения утверждений. Не доказывает provenance будущего архива, review, feedback или outcome.
curl -I вернул HTTP 200 для всех трёх URL. Первые два абзаца каждой статьи называют конкретную проблему и цену ошибки. Каждая статья имеет собственные таблицу, SVG с русскими alt/подписью, безопасный runnable example, ordered process, ограничения и следующий шаг. Голос М10 держит прагматичную рамку «условие → риск → проверка → действие»; словарь local editorial standards и voice trajectory используется только как future contract vocabulary, не как свидетельство будущего прохода.
Текущий evidence/temporal/voice review plan-files: pass. Это результат проверки формы в 2026-07-31, не заявление о будущем редакционном результате.
Проход 2 — literal safety и fail closed
author-manifesto-plan-v1 — единственный accepted fixed literal. Factory делает JSON-clone и recursive deep freeze. Evaluator принимает literal только при exact JSON equality с закрытым named набором; неизвестный object не нормализуется и не получает fallback.
| Fixture literal | Ожидаемый статус | Фактический статус |
|---|---|---|
author-manifesto-plan-v1 |
synthetic-plan-hand-off |
pass |
author-manifesto-undated-v1 |
stop-temporal-boundary-required |
pass |
author-manifesto-unknown-source-v1 |
stop-unknown-source-set |
pass |
author-manifesto-unknown-question-v1 |
stop-unknown-question |
pass |
author-manifesto-hidden-review-v1 |
stop-hidden-review-input |
pass |
author-manifesto-declared-quality-v1 |
stop-declared-quality-pass-publication-correction-or-outcome |
pass |
author-manifesto-disallowed-output-v1 |
stop-disallowed-positive-result |
pass |
| ad-hoc unknown object | stop-unknown-fixed-literal |
pass |
- Exact editor date, plan date и source cutoff обязательны; unknown source/date/question fail closed.
reviewInputs.evidence,temporalиvoiceобязаны остатьсяnot-provided; hidden review input останавливает путь.quality,pass,publication,correctionиoutcomeобязаны остатьсяnot-declared; объявленный future result останавливает путь.- Fixture: 11/11 — 8 literal statuses и 3 article checks.
productionEffect: not-attemptedсохраняется в каждом output.
Проход 3 — visual / mobile / a11y / safety и duplicate scan
- SVG имеют русские
<title>и<desc>; в каждой статье есть отдельные русскиеaltиfigcaption. Граф решения, matrix рубрики и loop hand-off объясняют разные механизмы, а не иллюстрируют выдуманную публикационную историю. xmllint --nooutпрошёл для всех трёх SVG. Safety scan для<script>,<foreignObject>,javascript:,data:imageи inline event-handler attributes вернул пустой output: pass.- Sharp отрендерил 3 PNG шириной 375 px. Ручной просмотр фактических рендеров: граф решения сохраняет входы, positive и stop path; matrix сохраняет три читаемые строки проходов; hand-off loop сохраняет разрыв перед выдуманным review. Обрезаний и наложений не обнаружено.
npm run audit:draft -- scripts/upgrade-2027-12.mjsпрошёл для трёх exact slug и body lengths 10 874 / 11 177 / 10 831. npm вывел существующие предупреждения об unknown user configstore-dir,cache-dir,public-hoist-pattern; audit завершился успешно.- Strict duplicate scan исключал section
Проверяемые источники, но включал<p>и<pre>, поэтому runnable code участвовал. P102–P115 взяты изupgrade-2026-08.mjs…upgrade-2027-09.mjs; P116–P117 — из существующих body вarticles.jsonтолько для read-only comparison. Сканированы 48 prior articles; выполнено 147 comparisons: 144 P118-to-prior и 3 внутренних. Exact paragraphs длиной 160+ и common 12-word fragments:hits: [].
Фактически выполненные команды
node --check web/scripts/upgrade-2027-12.mjs
node web/scripts/upgrade-2027-12.mjs --verify-fixture
cd web && npm run audit:draft -- scripts/upgrade-2027-12.mjs
xmllint --noout public/assets/editorial/2027/author-manifesto-2027-editorial-decision-graph.svg public/assets/editorial/2027/author-manifesto-2027-quality-rubric-matrix.svg public/assets/editorial/2027/author-manifesto-2027-revision-handoff-loop.svg
rg -n -i '<(script|foreignObject)\b|javascript:|data:image|(?:^|[[:space:]])on[a-z]+=' public/assets/editorial/2027/author-manifesto-2027-editorial-decision-graph.svg public/assets/editorial/2027/author-manifesto-2027-quality-rubric-matrix.svg public/assets/editorial/2027/author-manifesto-2027-revision-handoff-loop.svg
node --input-type=module -e 'import sharp from "./web/node_modules/sharp/lib/index.js"; /* SVG → 375 px PNG */'
curl -I https://www.rfc-editor.org/rfc/rfc2119.html
curl -I https://www.rfc-editor.org/rfc/rfc8174.html
curl -I https://www.w3.org/TR/2013/REC-prov-dm-20130430/
node --input-type=module -e '/* P102–P117 source-excluded, code-included duplicate scan */'
Disposition
Изменены только разрешённые P118-файлы:
web/scripts/upgrade-2027-12.mjseditorial/reviews/2027-12-draft.mdweb/public/assets/editorial/2027/author-manifesto-2027-editorial-decision-graph.svgweb/public/assets/editorial/2027/author-manifesto-2027-quality-rubric-matrix.svgweb/public/assets/editorial/2027/author-manifesto-2027-revision-handoff-loop.svg
Git не использовался. Registry, README, очередь, articles.json, app и чужие пакеты не изменялись. P118 остаётся плановым пакетом: будущая review, publication, correction или effect потребуют собственного authorised scope и не могут быть добавлены к этому сценарию задним числом.
Независимое приёмочное ревью
- RFC 2119 и RFC 8174 повторно сверены как BCP-публикации March 1997 и May 2017; PROV-DM — как dated W3C Recommendation 30 April 2013. В финальной серии они используются только для точности модальных требований и терминологии происхождения, не как доказательство авторского развития или будущего выпуска.
- Повторно выполнены
node --check, fixture (11/11),npm run audit:draftи все три runnable-примера. Каждый возвращает только named fixed literal сsynthetic-plan-hand-off; никакой review, публикация, correction или outcome не создаются. - Три SVG прошли XML/safety scan и независимый рендер Sharp на 375 px. Все диаграммы содержат читаемые заголовки, входы, hand-off и stop-ветки; обрезаний, наложений и внешнего содержимого нет.
- Независимый strict scan сначала обнаружил общий 12-словный фрагмент с P116 в первом абзаце practice-статьи. Формулировка переписана, затем скан P102–P118 повторён: 51 статья, 1 275 парных сравнений, sources исключены, code включён, common 12-word fragments —
[]. - Приёмочный verdict: pass. Пакет включён в registry как 356–358-й материал; production build и публикация выполняются после общей проверки интеграции.