# Task 9 Sync нормативки — Pre-prepared Edit Drafts

> **Status:** drafts only. NOT applied. Awaiting Task 1 (PR) merged before commit on feat/claude-automation-norm-sync branch.
> **For executor:** at apply-time, **re-verify version numbers in shapkas** before applying — concurrent session activity may have bumped versions independently.

**Created:** 2026-05-13 day +1 (post Task 8 completion, before Task 9 execution).

**Source plan:** [docs/superpowers/plans/2026-05-13-claude-automation-completion-plan.md](2026-05-13-claude-automation-completion-plan.md) §Task 9.

**Scope:** 5 file updates documenting newly-installed Sentry MCP + Redis MCP as **off-phase tools #34 + #35** (paralleling existing claude-md-management #33 pattern).

**Architectural decision (re-verified during drafting):**

- Tooling §3.3 = «БД-инструменты», **не** off-phase tools. Off-phase live в **§4.5 (UPM) / §4.6 (21st) / §4.7 (claude-md-management)**.
- Therefore new sentry+redis MCP → **§4.8 + §4.9** (new subsections), NOT §3.3.
- Original plan Task 9.3 wording «§3.3 +#34/#35 rows» — error in original plan; corrected here.

---

## File 1: `docs/Tooling_v8_3.md`

### Edit 1.1 — §0 Сводка table: row «off-phase tools» bump count 3 → 5

**Anchor (read at apply-time to confirm):** line ~84.

**OLD:**

```markdown
| **off-phase tools** | по факту включения в `~/.claude/settings.json` / `~/.claude.json` | **+3** | #31 UPM (UI-резерв), #32 21st Magic MCP (UI-генератор), #33 claude-md-management (инфраструктура CLAUDE.md edits) |
```

**NEW:**

```markdown
| **off-phase tools** | по факту включения в `~/.claude/settings.json` / `~/.claude.json` / `.mcp.json` | **+5** | #31 UPM (UI-резерв), #32 21st Magic MCP (UI-генератор), #33 claude-md-management (инфраструктура CLAUDE.md edits), #34 Sentry MCP (debug self-hosted Sentry в Yandex Cloud), #35 Redis MCP (debug Memurai/Redis runtime) |
```

### Edit 1.2 — §0 footer: «Итого формализованных позиций» 33 → 35

**Anchor:** line ~86.

**OLD:**

```markdown
**Итого формализованных позиций:** 33 (29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически). Полный перечень — §2–§5 (по фазам) + §4.5/§4.6/§4.7 (off-phase). Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9.
```

**NEW:**

```markdown
**Итого формализованных позиций:** 35 (29 активных по фазам + 5 off-phase + 1 заменённый PG MCP исторически). Полный перечень — §2–§5 (по фазам) + §4.5/§4.6/§4.7/§4.8/§4.9 (off-phase). Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9.
```

### Edit 1.3 — Add §4.8 Sentry MCP (after §4.7 claude-md-management, before §5)

**Anchor:** end of §4.7 (line ~324, before `---` and `## 5. Фаза 3 — pre-production`).

**OLD (anchor block — last lines of §4.7):**

```markdown
**Аналогичные категории (built-in skills Claude Code, не плагины через marketplace):** `review`, `security-review`, `init`, `simplify`, `update-config`, `keybindings-help`, `fewer-permission-prompts`, `loop`, `schedule`, `claude-api`. Активируются по явному `/имя` от пользователя; не входят в `enabledPlugins`. См. PSR_v1 R10.1 блок 2 для полного реестра.

---

## 5. Фаза 3 — pre-production (+5 новых, итого 29 активных)
```

**NEW:**

````markdown
**Аналогичные категории (built-in skills Claude Code, не плагины через marketplace):** `review`, `security-review`, `init`, `simplify`, `update-config`, `keybindings-help`, `fewer-permission-prompts`, `loop`, `schedule`, `claude-api`. Активируются по явному `/имя` от пользователя; не входят в `enabledPlugins`. См. PSR_v1 R10.1 блок 2 для полного реестра.

### 4.8. Debug-инструмент Sentry — Sentry MCP (off-phase tool)

> **Введено 13.05.2026 day +1 (v1.17+ Прил. Н):** формализован как «инструмент-резерв вне фаз, debug-категория». Установлен на feat/claude-automation `6f7e7d7` в `.mcp.json`; формализован retrospectively в v1.17+. Категория **debug-runtime**, отличная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management) — поэтому отдельная нумерация. Pending Sentry instance deployment в Yandex Cloud (зависит от Б-1 ООО registration P0).

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 34 | **Sentry MCP** (`@sentry/mcp-server@0.33.0+`, official, repo `getsentry/sentry-mcp`, bin `sentry-mcp`) | `.mcp.json`: `mcpServers.sentry.command="npx" args=["-y", "@sentry/mcp-server"] env={SENTRY_URL, SENTRY_AUTH_TOKEN}`. Env vars — через PowerShell User scope (`[Environment]::SetEnvironmentVariable("SENTRY_URL", ..., "User")`). Credentials НЕ commit'ятся (gitleaks gate). | MCP tools: `mcp__sentry__get_issue`, `_list_events`, `_search_errors` (+ другие per @sentry/mcp-server@0.33.0 spec) | (1) production runtime error в self-hosted Sentry → прямой запрос issue details из Claude session; (2) post-incident debug (CLAUDE.md §2: Sentry self-hosted в Yandex Cloud); (3) READ-ONLY usage — scope auth token `org:read`, `project:read`, `event:read` only |

**Обязательные правила использования:**

| Правило | Где | Что значит |
|---|---|---|
| **R10.1** debug-runtime, не UI и не инфраструктура | R10.1 PSR_v1 (v2.1+) | Sentry MCP в **отдельной категории** от UPM/21st и от claude-md-management; не попадает в R14 pipeline UI-генераторов и не модифицирует CLAUDE.md |
| **CLAUDE.md §5 п.4** не commit'ить ПДн/токены | CLAUDE.md | `SENTRY_AUTH_TOKEN` — секрет, НИКОГДА не в репозиторий. Только через PowerShell User scope env или `.env.local` (gitignored) |
| **R7** не закрывает задачу | R7 PSR_v1 | Sentry MCP — источник информации, не gate (не deployable artifact) |
| **Pre-MVP блокер** | — | Sentry instance в Yandex Cloud зависит от Б-1 ООО registration. До deployment — MCP startup fail gracefully (env пустые), tools не enumerable; это OK |

**Live-отмена (R0.4.B PSR_v1):** «не используй sentry-mcp сейчас» — отключает на текущее действие. По умолчанию активен после reload session с непустыми env vars.

**Безопасность:** Token `SENTRY_AUTH_TOKEN` — bearer secret. PowerShell User scope = encrypted per-user (Windows DPAPI). Не shared между пользователями. При утечке — немедленно revoke через Sentry web UI (`Settings → Account → API → Auth Tokens`).

### 4.9. Debug-инструмент Redis — Redis MCP (off-phase tool)

> **Введено 13.05.2026 day +1 (v1.17+ Прил. Н):** формализован как «инструмент-резерв вне фаз, debug-категория». Установлен на feat/claude-automation `bd4ec48` в `.mcp.json`; формализован retrospectively в v1.17+. Package `@modelcontextprotocol/server-redis@2025.4.25` **deprecated** по статусу npm («Package no longer supported»), но Anthropic source, рабочий. Post-MVP migration на community alternative (e.g., `@easy-mcps/redis-mcp-server@1.0.8` или `@wenit/redis-mcp-server@1.0.3`) когда подтвердим trust.

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 35 | **Redis MCP** (`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source) | `.mcp.json`: `mcpServers.redis.command="npx" args=["-y", "@modelcontextprotocol/server-redis", "redis://localhost:6379"]`. Memurai (Windows Redis 7-совместимый service) running на `localhost:6379` — verified Task 4 (`memurai-cli ping → PONG`). | MCP tools: Redis operations (KEYS, GET, LRANGE, etc.) | (1) debug очередей (`route:supplier:*`); (2) debug кэша (`supplier:session` per quirk 72); (3) debug Pest --parallel race conditions; (4) READ-ONLY usage — НЕ для prod (нет prod пока). Если в будущем prod Redis с auth — отдельный entry `redis-prod` с url через env var |

**Обязательные правила использования:**

| Правило | Где | Что значит |
|---|---|---|
| **R10.1** debug-runtime, не UI и не инфраструктура | R10.1 PSR_v1 (v2.1+) | Redis MCP в той же категории что #34 sentry-mcp |
| **READ-ONLY usage** | соглашение проекта | Никаких `DEL`, `FLUSHDB`, `SET`, `LPUSH` от Claude в runtime debug. Только read-операции. Manual Redis mutations — через `memurai-cli` напрямую заказчиком |
| **Package deprecation** | npm | На startup `npx` emits deprecation warning в stderr. Это **cosmetic**, не functional. При выходе supported alternative (community OR official replacement) — migrate в Tooling v1.18+ |
| **R7** не закрывает задачу | R7 PSR_v1 | Redis MCP — источник информации, не gate |

**Live-отмена (R0.4.B PSR_v1):** «не используй redis-mcp сейчас» — отключает на текущее действие.

**Безопасность:** Локальный Memurai на 6379 **без auth** — это dev-only setup. Если в будущем будут prod Redis с auth — entry `redis-prod` с url через env var `${REDIS_PROD_URL}`, credentials через PowerShell User scope (как Sentry). Сейчас prod нет (зависит от Б-1).

---

## 5. Фаза 3 — pre-production (+5 новых, итого 29 активных)
````

### Edit 1.4 — §13 changelog: add v1.17 entry

**Anchor:** line ~607 (after v1.15 entry) or wherever latest changelog entry is at apply-time. **WARNING: file may already have v1.16 entry (R15 motion-runtime cleanup 12.05.2026) — verify line range carefully.**

**Expected current latest (per memory): v1.16** (R15 motion-runtime cleanup). If true:

**OLD (last entry before footer):**

```markdown
| **v1.16** | 12.05.2026 | <existing R15 motion-runtime cleanup entry — leave intact> |
```

**NEW (add v1.17 row after v1.16):**

```markdown
| **v1.17** | 13.05.2026 (day +1) | **Формализация retrospective двух off-phase MCP debug-инструментов** установленных на feat/claude-automation (commits `6f7e7d7` sentry, `bd4ec48` redis): **§0 счётчик off-phase tools 3 → 5; Итого формализованных позиций 33 → 35**. **§4.8 (новый)** — #34 Sentry MCP (`@sentry/mcp-server@0.33.0+`, official, pending Sentry instance deployment Б-1). **§4.9 (новый)** — #35 Redis MCP (`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source, рабочий с Memurai localhost:6379; migration plan на community alternative post-MVP). Категория debug-runtime, отдельная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management) — не попадает в R14 pipeline и не trigger'ит R6.0/R6.1 фильтры. Связано: PSR_v1 v2.0 → v2.1 (R10.1 +sentry+redis); CLAUDE.md v1.91 → v1.92 (§3.3 #34/#35; §0 cross-refs); Pravila v1.12 → v1.13 (§13.2 infrastructure subsection counter). Через `/claude-md-management:claude-md-improver` для CLAUDE.md; manual Edit для Tooling/PSR_v1/Pravila. |
```

### Edit 1.5 — Footer standalone version notes: prepend v1.17

**Anchor:** line ~611 (`*Прил. Н v1.15 от 10.05.2026...*`) — verify v1.16 note also present.

**Insert before v1.15/v1.16 notes:**

```markdown
*Прил. Н v1.17 от 13.05.2026 (day +1) — формализация retrospective off-phase MCP #34 Sentry + #35 Redis (debug-runtime category). 35 позиций (29 активных по фазам + 5 off-phase + 1 заменённый PG MCP исторически).*
```

### Edit 1.6 — Shapka of file: bump version reference

**Anchor:** top of file, look for `**Прил. Н vX.YZ`. Bump to v1.17 от 13.05.2026 (day +1).

---

## File 2: `docs/Plugin_stack_rules_v1.md`

### Edit 2.1 — R10.1 table: add sentry + redis rows (in блок 1 «активно используемые плагины»)

**Anchor:** search for `R10.1` table start. Add after existing claude-md-management row (or after last MCP entry in block 1).

**WARNING:** PSR_v1 structure — R10.1 имеет несколько блоков (per reference_archive: «R10.1 разбит на 3 блока» в v1.5). Need to identify correct block at apply-time:

- Блок 1: активно используемые плагины (UI + инфраструктура)
- Блок 2: built-in skills Claude Code (review/security-review/etc.)
- Блок 3: возможные будущие

Sentry/Redis MCP добавляются как **новая категория «debug-runtime»** или вписываются в блок 1 как дополнительные плагины с пометкой role «debug-runtime, не UI и не инфраструктура».

**Proposed addition to R10.1 (location TBD at apply-time):**

```markdown
| `@sentry/mcp-server` (MCP, `sentry` в `.mcp.json`) | Off-phase debug-runtime | Tooling #34. Установлен 13.05.2026 day +1 commit `6f7e7d7`. Pending Sentry instance deployment (Б-1 ООО registration). READ-ONLY scope (`org:read`, `project:read`, `event:read`). | — (не UI, не инфраструктура CLAUDE.md, не входит в R14 pipeline) |
| `@modelcontextprotocol/server-redis` (MCP, `redis` в `.mcp.json`) | Off-phase debug-runtime | Tooling #35. Установлен 13.05.2026 day +1 commit `bd4ec48`. Deprecated package (Anthropic source). Memurai localhost:6379 verified Task 4 (`memurai-cli ping → PONG`). | — |
```

### Edit 2.2 — Shapka: bump v2.0 → v2.1

**Anchor:** top of file, look for `**v2.0**` or current version marker. Bump to v2.1 от 13.05.2026 day +1.

### Edit 2.3 — История версий: add v2.1 entry

**Proposed entry:**

```markdown
- **v2.1** (13.05.2026 day +1): R10.1 расширен 2 off-phase debug-runtime записями — `@sentry/mcp-server` (#34) + `@modelcontextprotocol/server-redis` (#35). Категория **debug-runtime** introduced — отличная от UI-пула (UPM/21st) и infrastructure (claude-md-management); не trigger'ит R6.0/R6.1 фильтры и не входит в R14 pipeline. Связано: Tooling v1.16 → v1.17 (§4.8 + §4.9); CLAUDE.md v1.91 → v1.92 (§3.3 #34/#35); Pravila v1.12 → v1.13 (§13.2 counter).
```

---

## File 3: `CLAUDE.md` (через `/claude-md-management:claude-md-improver`)

> **CRITICAL:** CLAUDE.md правится **только** через `/claude-md-management:claude-md-improver` per §5 п.10. **НЕ через Edit/Write tool напрямую.** PreToolUse hook (Task 6 commit `c5b0cdf`) emits warning при direct edit attempt.

### Skill invocation prompt (apply via `/claude-md-management:claude-md-improver`)

```text
/claude-md-management:claude-md-improver

Apply following targeted updates to root CLAUDE.md:

1. §3.3 (table "Карта 33 инструментов") — add #34 + #35 rows after #33 claude-md-management:
   | 34 | Off-phase MCP — отладка production runtime errors через self-hosted Sentry в Yandex Cloud | **Sentry MCP** (`@sentry/mcp-server`, server `sentry` в `.mcp.json`, tools `mcp__sentry__*`) | автоматически через `.mcp.json`. Env vars `SENTRY_URL` + `SENTRY_AUTH_TOKEN` через shell (PowerShell User scope). Установлен 13.05.2026 day +1 (commit `6f7e7d7`); формализован retrospectively v1.92. Pending: Sentry instance deployment (зависит от Б-1 ООО registration). |
   | 35 | Off-phase MCP — отладка Redis/Memurai очередей, кэша, Pest --parallel races | **Redis MCP** (`@modelcontextprotocol/server-redis@2025.4.25` — DEPRECATED Anthropic source; migration plan на `@easy-mcps/redis-mcp-server@1.0.8` post-MVP; server `redis` в `.mcp.json`, tools `mcp__redis__*`) | автоматически через `.mcp.json`. URL `redis://localhost:6379` (Memurai Windows service, verified Task 4 ping PONG). READ-ONLY для debug. Установлен 13.05.2026 day +1 (commit `bd4ec48`). |

2. §3.4 footer — bump count "(Total формализованных позиций: 33)" → "(Total формализованных позиций: 35)".
   Also: "29 phase-active + 3 off-phase + 1 historic" → "29 phase-active + 5 off-phase + 1 historic".

3. §0 cross-refs — bump version refs:
   - row "Tooling": v1.16 → v1.17 (entry "Прил. Н v1.17 от 13.05.2026 day +1 — формализация retrospective off-phase MCP #34 Sentry + #35 Redis")
   - row "PSR_v1": v2.0 → v2.1 (entry "R10.1 расширен 2 off-phase debug-runtime записями")
   - row "Pravila": v1.12 → v1.13 (entry "§13.2 infrastructure subsection counter +2 off-phase MCP debug-runtime")

4. Шапка version bump: v1.91 → v1.92 от 13.05.2026 (day +1).

5. History entry в шапке (compact):
   v1.92 от 13.05.2026 (day +1) — sync нормативки после feat/claude-automation merge: §3.3 +#34 Sentry MCP + #35 Redis MCP (off-phase debug-runtime category); §3.4 footer 33 → 35; §0 cross-refs Tooling v1.16→v1.17, PSR_v1 v2.0→v2.1, Pravila v1.12→v1.13. Через /claude-md-management:claude-md-improver. Реализация feat/claude-automation #PR_NUM закрытие (PR merged).

Verification после apply:
- npx markdownlint-cli2 CLAUDE.md (expected: 0 errors)
- bin/lychee.exe --config .lychee.toml CLAUDE.md (expected: 0 broken links)
```

---

## File 4: `docs/Pravila_raboty_Claude_v1_1.md`

### Edit 4.1 — §13.2 infrastructure subsection: extend для off-phase MCP

**Anchor:** §13.2 «Парность со Superpowers + расширенный пул UI-инструментов» — specifically subsection «Инфраструктурные плагины (вне расширенного UI-пула)» (added v1.9).

**Read at apply-time** для exact current text. Proposed extension:

**OLD (current sentence, paraphrased):**

```markdown
**Инфраструктурные плагины (вне расширенного UI-пула):** `claude-md-management` (Tooling #33) — инфраструктурный канал правок CLAUDE.md; built-in skills Claude Code (`review`/`security-review`/`init`/`simplify`/`update-config`/`keybindings-help`/`fewer-permission-prompts`/`loop`/`schedule`/`claude-api`) — активируются по явному `/имя`. Регулируются PSR_v1 R10.1 блок 2.
```

**NEW (add new paragraph after existing infrastructure paragraph):**

```markdown
**Инфраструктурные плагины (вне расширенного UI-пула):** `claude-md-management` (Tooling #33) — инфраструктурный канал правок CLAUDE.md; built-in skills Claude Code (`review`/`security-review`/`init`/`simplify`/`update-config`/`keybindings-help`/`fewer-permission-prompts`/`loop`/`schedule`/`claude-api`) — активируются по явному `/имя`. Регулируются PSR_v1 R10.1 блок 2.

**Off-phase MCP debug-runtime (отдельная категория, введена v1.13 Pravila):** `@sentry/mcp-server` (Tooling #34, server `sentry`) — отладка production errors в self-hosted Sentry; `@modelcontextprotocol/server-redis` (Tooling #35, server `redis`) — отладка Redis/Memurai runtime. **Не UI** (не trigger'ят R6.0/R6.1 фильтры стека) и **не инфраструктура CLAUDE.md** (не модифицируют CLAUDE.md). READ-ONLY usage обязателен. Регулируются PSR_v1 R10.1 (v2.1+) — отдельной debug-runtime категорией.
```

### Edit 4.2 — Шапка version bump: v1.12 → v1.13

**Anchor:** top of file. Bump version.

### Edit 4.3 — История версий: add v1.13 entry

**Proposed:**

```markdown
- **v1.13** (13.05.2026 day +1): **§13.2 расширен** — добавлен абзац про «Off-phase MCP debug-runtime (отдельная категория)» для двух retrospectively формализованных off-phase MCP: `@sentry/mcp-server` (Tooling #34) + `@modelcontextprotocol/server-redis` (Tooling #35). Категория **отдельная** от UI-пула (Pravila §13.1-§13.8) и от infrastructure (claude-md-management) — не trigger'ит R6.0/R6.1 stack-фильтры. Связано: Tooling v1.16 → v1.17 (§4.8 + §4.9); PSR_v1 v2.0 → v2.1 (R10.1); CLAUDE.md v1.91 → v1.92 (§3.3 #34/#35). Без других содержательных изменений в §§1-12 + §§13.1, 13.3-13.10.
```

---

## File 5: Memory `MEMORY.md` + `reference_archive.md`

> **NB:** Memory лежит вне repo (locally persistent). НЕ commit. Apply through Edit on actual memory files.

### Edit 5.1 — `MEMORY.md` line 4 (feedback_plugin_paired_stack reference)

**Anchor:** line 4, version refs «PSR_v1 **v2.0**, Pravila **v1.12**, Tooling **v1.16**, CLAUDE.md **v1.91**».

**OLD:**

```markdown
Active: PSR_v1 **v2.0** (15 правил R0–R14), Pravila **v1.12**, Tooling **v1.16**, CLAUDE.md **v1.91**.
```

**NEW:**

```markdown
Active: PSR_v1 **v2.1** (15 правил R0–R14 + R10.1 +sentry+redis), Pravila **v1.13**, Tooling **v1.17** (35 позиций: 29 phase + 5 off-phase + 1 historic), CLAUDE.md **v1.92**.
```

### Edit 5.2 — `MEMORY.md` line 7 (reference_archive)

**OLD:**

```markdown
ТЗ v8.5, schema v8.20, **реестр v1.83** (...), **Tooling v1.16**, **CLAUDE.md v1.91** (session-end hygiene), **Pravila v1.12** (...), **Plugin_stack_rules_v1 v2.0**
```

**NEW:**

```markdown
ТЗ v8.5, schema v8.20, **реестр v1.83** (...), **Tooling v1.17** (35 позиций; +#34 Sentry MCP + #35 Redis MCP off-phase debug-runtime), **CLAUDE.md v1.92** (§3.3 #34/#35; sync нормативки), **Pravila v1.13** (§13.2 off-phase MCP debug-runtime subsection), **Plugin_stack_rules_v1 v2.1** (R10.1 +sentry+redis)
```

### Edit 5.3 — `reference_archive.md` description (line 3)

**Anchor:** front-matter `description:` field.

Bump all version refs analogously: Tooling v1.16 → v1.17 (35 позиций); CLAUDE.md v1.91 → v1.92; Pravila v1.12 → v1.13; PSR_v1 v2.0 → v2.1.

### Edit 5.4 — `reference_archive.md` priority chain (lines 9-16)

**Anchor:** «Приоритет правил при конфликте» list.

Bump version refs analogously.

**NB:** `reference_archive.md` body (lines 22-46) has stale data (schema v8.18, CLAUDE.md v1.86, etc.) — это **исторический snapshot**, не trogal. Только header refs.

---

## Application order (recommended)

1. File 1 (Tooling) — most extensive, anchors most stable.
2. File 2 (PSR_v1) — R10.1 expansion.
3. File 4 (Pravila) — §13.2 addition.
4. File 3 (CLAUDE.md) — via plugin invocation per §5 п.10.
5. File 5 (Memory) — last (reflects all bumped versions).

**Atomic commits** per file (4 git commits + 1 memory edit без commit).

**Verification после каждого commit:**

```bash
"C:/моя/проекты/портал crm/Документация/bin/lychee.exe" --config "C:/моя/проекты/портал crm/Документация/.lychee.toml" <file>
npx markdownlint-cli2 <file>
git diff --stat HEAD~1
```

---

## Bonus finding: new Pest --parallel quirk #77 (candidate)

**Discovered Task 8 (subagent diagnostic):** `ProjectBulkActionsTest::rejects_bulk_when_scope_filter_captures_more_than_500_projects` ([app/tests/Feature/Api/ProjectBulkActionsTest.php](../../../app/tests/Feature/Api/ProjectBulkActionsTest.php)) fails under `--parallel --recreate-databases` с `SQLSTATE[23505] projects_tenant_id_name_key` unique violation. Passes 14/14 sequentially. Reproduces 2× в parallel runs с different tenant_id.

**Pattern:** parallel worker shared-DB collision на `(tenant_id, name)` unique key when bulk-creating 501 projects.

**Not covered by:**

- Quirk 72 (Redis `supplier:session` race — only `tests/Feature/Supplier/*`)
- Quirk 73 (cumulative state — LookupsTest/ProjectExtensionsTest «too many rows», not unique key)

**NOT introduced by feat/claude-automation** — verified `git show f454e95 --stat` (audit-2 docs commit) and Pest baseline files unchanged.

**Recommendation (separate task, NOT in this sync plan):** add quirk #77 entry to memory `feedback_environment.md` AND extend [.claude/agents/pest-parallel-debugger.md](../../../.claude/agents/pest-parallel-debugger.md) с 5-th hypothesis (parallel worker shared-DB unique-key collision). This is a follow-up plan item, не Task 9 scope.

---

## Open questions remaining at apply-time

| Q | Detail | Resolution |
|---|---|---|
| Q1 | Tooling shapka actual version: v1.15 or v1.16? | Read top of file at apply-time |
| Q2 | PSR_v1 R10.1 block where sentry/redis fit best? | Read R10.1 sections at apply-time; debug-runtime может потребовать new sub-block |
| Q3 | Pravila §13.2 «Инфраструктурные плагины» subsection — exact current text? | Read at apply-time для exact OLD anchor |
| Q4 | CLAUDE.md plugin invocation result — does `/claude-md-management:claude-md-improver` accept multi-edit instruction? | Test with single edit first; if plugin не handles batched — split в multiple invocations |
| Q5 | Will lefthook pre-commit pass on main checkout (vs worktree where lefthook absent)? | После merge на main — lefthook active; verify pre-push hooks (gitleaks-full-history + lychee) pass |

---

## NB ограничения этого drafts file

- **Не верифицировал** точные line numbers в Tooling/PSR_v1/Pravila shapkas — apply-time read required.
- **Не верифицировал** exact text Pravila §13.2 infrastructure paragraph — paraphrased from memory + grep evidence (line 37 of changelog).
- **Не запускал** lychee/markdownlint на этом drafts file — будет done в commit step.
- **Не применял** ни один Edit — это pre-prep document only.
