Files
progcode/editorial/reviews/2027-09-draft.md
T
huncode 2de029eff2
Build and deploy / deploy (push) Successful in 19s
revise September 2027 mentor series plan articles
2026-07-31 20:55:30 +03:00

83 lines
9.2 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.
# P115 — September 2027: «Серия для инженера, который растёт»
## Статус и граница
Редакторская дата: **2026-07-31**. Период 2027-09 ещё не наступил; пакет является только **plan/scenario** с source cutoff **2026-07-31**. Он не сообщает о реальной учебной программе, репозитории, mentee, упражнении, review, feedback, прогрессе, owner, очереди или production effect.
Модуль принимает только named fixed in-memory literals. Он не читает files, network, environment, clock, secrets, telemetry, system или data и не создаёт учебный процесс. Единственный accepted evaluator output — `synthetic-plan-hand-off`; в accepted и stop output всегда `productionEffect: not-attempted`.
## Проход 1 — facts / temporal / voice
| Статья | Body chars без sources | Угол | Временная граница | Источники и boundary |
| --- | ---: | --- | --- | --- |
| `editorial-2027-09-practice-mentor-series` | 9 227 | ситуация → synthetic prompt → критерий наблюдения | 2026-07-31 / 2027-09 / cutoff 2026-07-31 | RFC 2119 (March 1997) и RFC 8174 (May 2017), immutable IETF RFC; только нормативная лексика literal, не доказательство обучения |
| `editorial-2027-09-mechanism-mentor-series` | 9 169 | skill map, review loop, deliberate practice и falsifiability | та же | те же URL/version/date; не создают review, feedback, participant или model of learning |
| `editorial-2027-09-field-mentor-series` | 9 249 | hand-off самостоятельности и evidence без narrative | та же | те же URL/version/date; не назначают owner, процесс или персональную оценку |
- Оба URL проверены `curl -I`: RFC 2119 и RFC 8174 вернули HTTP 200. Это первичные immutable RFC до cutoff.
- Первые два абзаца каждой статьи называют конкретную проблему и цену ошибки. У каждой статьи отдельные таблица, SVG, runnable safe example, упорядоченные действия, ограничения и следующий шаг.
- Голос 2025–2027: прагматичный техлидский разбор границ и стоимости. Нет общего мотивационного призыва, заявленного результата или фальшивого опыта. Deliberate practice используется только как ограничитель рассуждения, не как доказанная модель обучения.
- Фактологический verdict: **pass**. Temporal verdict: **pass**. Voice verdict: **pass**.
## Проход 2 — literal safety / fail closed
`mentor-series-plan-v1` принят только как `synthetic-plan-hand-off`. Factory делает JSON clone и recursive deep freeze; evaluator сравнивает input с known fixed literal. Неизвестный object не нормализуется.
| Literal | Ожидаемый результат | Фактический результат |
| --- | --- | --- |
| `mentor-series-plan-v1` | `synthetic-plan-hand-off` | pass |
| `mentor-series-undated-v1` | `stop-temporal-boundary-required` | pass |
| `mentor-series-implicit-skill-v1` | `stop-unnamed-or-implicit-skill` | pass |
| `mentor-series-invented-review-v1` | `stop-invented-observation-review-feedback-or-progress` | pass |
| `mentor-series-invented-feedback-v1` | `stop-invented-observation-review-feedback-or-progress` | pass |
| `mentor-series-invented-outcome-v1` | `stop-invented-observation-review-feedback-or-progress` | pass |
| `mentor-series-invented-owner-v1` | `stop-invented-autonomy-owner-or-process` | pass |
- Unnamed/implicit skill не допускается; `skillMap` и `exercise` обязаны быть exact named synthetic literals.
- Claimed observation, review, feedback, progress и outcome останавливаются. `autonomy: not-evaluated`, `recipient: not-assigned` и `process: not-created` не получают fallback.
- Fixture: **10/10** — 7/7 literal statuses и 3/3 article checks. `productionEffect: not-attempted` не является наблюдением о production.
- Safety/fail-closed verdict: **pass**.
## Проход 3 — visual / mobile / a11y / safety + strict duplicate scan
- Каждый SVG содержит русские `title` и `desc`; каждая статья содержит отдельные русские `alt` и `figcaption`. SVG поясняют контракт карты, матрицу review и петлю hand-off, а не выступают декоративной иллюстрацией.
- `xmllint --noout` прошёл для трёх assets. Safety scan на `script`, `foreignObject`, `javascript:`, `data:image` и event-handler attributes — empty/pass.
- Sharp создал 3 PNG `375x225`; они открыты вручную. На mobile читаемы: карта удерживает три состояния и stop, matrix — все три колонки и пять строк, hand-off — четыре gate и красный stop. Обрезаний или наложений не обнаружено.
- `npm run audit:draft -- scripts/upgrade-2027-09.mjs` — pass по трём exact slug и lengths 9 227 / 9 169 / 9 249.
- Строгий duplicate scan исключал section `Проверяемые источники`, но включал `<p>` и `<pre>`; runnable code участвовал. Прочитаны P102–P114: 39 prior articles, 120 comparisons (117 current-to-prior + 3 внутрипакетные), `hits: []`; совпадений exact paragraphs длиной 160+ и common 12-word fragments нет.
- Visual/mobile/a11y/safety verdict: **pass**. Duplicate scan verdict: **pass**.
## Фактически выполненные команды
```sh
cd web
node --check scripts/upgrade-2027-09.mjs
node scripts/upgrade-2027-09.mjs --verify-fixture
npm run audit:draft -- scripts/upgrade-2027-09.mjs
xmllint --noout public/assets/editorial/2027/mentor-series-2027-skill-map-contract.svg public/assets/editorial/2027/mentor-series-2027-practice-review-matrix.svg public/assets/editorial/2027/mentor-series-2027-autonomy-handoff-loop.svg
rg -n -i '<(script|foreignObject)\b|javascript:|data:image|(?:^|[[:space:]])on[a-z]+=' public/assets/editorial/2027/mentor-series-2027-skill-map-contract.svg public/assets/editorial/2027/mentor-series-2027-practice-review-matrix.svg public/assets/editorial/2027/mentor-series-2027-autonomy-handoff-loop.svg
node --input-type=module -e 'import sharp from "sharp"; /* three SVG → 375px PNG */'
curl -I https://www.rfc-editor.org/rfc/rfc2119.html
curl -I https://www.rfc-editor.org/rfc/rfc8174.html
```
## Disposition
Изменены только пять разрешённых файлов P115:
- `web/scripts/upgrade-2027-09.mjs`
- `editorial/reviews/2027-09-draft.md`
- `web/public/assets/editorial/2027/mentor-series-2027-skill-map-contract.svg`
- `web/public/assets/editorial/2027/mentor-series-2027-practice-review-matrix.svg`
- `web/public/assets/editorial/2027/mentor-series-2027-autonomy-handoff-loop.svg`
Registry, README, очередь, `articles.json`, app и чужие пакеты не изменялись этой работой. Git не использовался.
## Независимое приёмочное ревью
- Первичные источники повторно открыты 2026-07-31: RFC 2119 подтверждает статус BCP и дату March 1997, RFC 8174 — статус BCP, дату May 2017 и уточнение смысла заглавных ключевых слов. В статьях они применены только к точности требований к literal; они не используются как источник об обучении или оценке человека.
- Повторно выполнены `node --check`, fixture (**10/10**), `npm run audit:draft` и три runnable-примера. Проверены их фактические outputs: они выводят только synthetic literals и `synthetic-plan-hand-off`; внешнего ввода и побочных действий нет.
- Три SVG прошли XML/safety scan и открыты после рендера Sharp в ширине 375 px. Текст, стрелки, stop-ветки и подписи читаемы; декоративных или небезопасных элементов нет.
- Строгий повторный duplicate scan P102–P115: **42 статьи**, **861 сравнение**, sources исключены, code включён, common 12-word fragments — `[]`.
- Приёмочный verdict: **pass**. Пакет включён в registry как 347–349-й материал; production build и публикация выполняются после общей проверки интеграции.