docs(tooling): apply 9-attribute template to §4.1-§4.9 (ADR-011 A3 sub-batch 1)

+ §0.1 row template (one-time, ADR-011 mandated).
+ Атрибуты block for phase-0 nodes #1-#9. #1 PostgreSQL MCP dormant
(replaced by #10 Boost in phase 1).

Per spec §4.1, plan Task A3 sub-batch 1. Tooling header v2.16
remains; final v2.17 bump after all 6 sub-batches.

NB: file-layout adaptation — phase-0 nodes #1-#9 live in §2 tables
(not §4.X subsections); Атрибуты blocks placed in new §2.4
subsection. Plan-template "§4.1..§4.9" referenced the abstract
node-index, not file headings; subsequent sub-batches will follow
same pattern (§3.5 for phase-1 nodes #10-#18, etc.).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-05-19 05:04:44 +03:00
parent 8a2e701ff2
commit 1f77134597
+102
View File
@@ -88,6 +88,30 @@
**КАНОН СЧЁТЧИКОВ.** Числовые счётчики формализованных позиций и off-phase подкатегорий тулчейна каноничны здесь — в Прил. Н §0. CLAUDE.md, Pravila §13.2 и PSR_v1 R10.1 ссылаются сюда формулировкой «реестр и счётчики — Tooling Прил. Н §0» и не дублируют числа. Введено SYSTEM-аудитом 18.05.2026 (finding 3) для устранения класса «арифметический дрейф счётчиков» (ловился аудитами v1.85/v1.86).
### §0.1 Row template (v2.17+ — per ADR-011)
Every row §4.X (а также вынесенные блоки §2.4 для phase-0, §3.5 для phase-1 и т.д. — где узлы зафиксированы таблицами, а не отдельными подсекциями) MUST include 9 obligatory attributes in a structured block at the top of the section:
| Attribute | Type | Required | Description |
|---|---|---|---|
| `id` | `#NN` | yes | Unique number (matches Прил. Н TOC) |
| `name` | string | yes | Canonical tool name |
| `kind` | enum | yes | `plugin` / `skill` / `mcp` / `hook` / `vendored-skill` / `composer-dep` / `npm-dep` / `agent` / `binary-dep` |
| `phase` | enum | yes | `0` / `1` / `2` / `3` / `off-phase` |
| `subcategory` | string | optional | Off-phase subcategory (absent for phase-active) |
| `triggers` | string | yes | Keywords/task-types that route to this node |
| `boundaries` | string | yes | ADR-cross-ref OR explicit «no neighbor» |
| `dormant` | boolean | yes | `false` (active) / `true` (artefacts kept, runtime disabled) |
| `last-touched` | ISO date | yes | Date of last registry update |
Block format (markdown table inside the §4.X section, immediately after the section heading):
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #NN | &lt;name&gt; | &lt;kind&gt; | &lt;phase&gt; | &lt;subcat or —&gt; | «&lt;triggers&gt;» | &lt;ADR-NNN or none&gt; | false | 2026-05-19 |
Existing prose follows the table.
**Ключевой принцип фазирования:** не активируем фазу N+1, пока не закрыт триггер фазы N. Без `composer create-project` Boost не работает; без Vuetify-приложения Histoire бесполезен.
---
@@ -132,6 +156,84 @@
| 8 | **gitleaks** | GitHub Releases (`gitleaks_<v>_windows_x64.zip`) | Pre-commit hook: поиск телефонов, email, токенов, ИНН, КЭП в diff. Правило §5.2 правил Claude |
| 9 | **Pa11y** | `npm i -D pa11y pa11y-ci` | WCAG 2.1 AA проверка прототипов. Требование брендбука §3.4. Единственный источник истины по a11y во всём проекте |
### 2.4. Атрибуты узлов фазы 0 (per ADR-011)
Структурированные блоки 9-атрибутного шаблона §0.1 для phase-0 узлов #1#9. Шаблон введён ADR-011 (Task A3 sub-batch 1, 19.05.2026). Существующие таблицы §2.1/§2.2/§2.3 сохраняются как human-readable дескрипция; блоки ниже — machine-friendly реестр атрибутов.
#### #1 PostgreSQL MCP
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #1 | PostgreSQL MCP | mcp | 0 | — | «SQL validation, schema check, dev DB introspection» | none (заменён #10 Laravel Boost в фазе 1 — см. §3.1) | true | 2026-05-19 |
Прим.: dormant=true — узел исторически замещён #10 Boost при переходе в фазу 1; артефакт реестра сохраняется как historic slot (CLAUDE.md §3.1 row #1).
#### #2 Playwright MCP
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #2 | Playwright MCP | mcp | 0 | — | «HTML prototype, screenshot, interaction smoke» | none | false | 2026-05-19 |
#### #3 GitHub MCP
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #3 | GitHub MCP | mcp | 0 | — | «issues, PR, commits, открытые вопросы» | none | false | 2026-05-19 |
#### #4 markdownlint-cli2
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #4 | markdownlint-cli2 | npm-dep | 0 | — | «lint .md, markdown style, заголовки/таблицы» | none | false | 2026-05-19 |
#### #5 cspell
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #5 | cspell | npm-dep | 0 | — | «орфография ru/en, кастомный словарь» | none | false | 2026-05-19 |
#### #6 lychee
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #6 | lychee | binary-dep | 0 | — | «проверка ссылок .md, кросс-ссылки архива» | none | false | 2026-05-19 |
#### #7 Stylelint
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #7 | Stylelint | npm-dep | 0 | — | «CSS lint, Vue SFC style» | none | false | 2026-05-19 |
#### #8 gitleaks
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #8 | gitleaks | binary-dep | 0 | — | «секреты в diff, pre-commit hook» | none | false | 2026-05-19 |
#### #9 Pa11y
**Атрибуты:**
| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #9 | Pa11y | npm-dep | 0 | — | «a11y WCAG 2.1 AA, прототипы, технический SoT» | none | false | 2026-05-19 |
---
## 3. Фаза 1 — старт Laravel (+9 новых, −1 заменён, итого 17 активных)