# План v3: починка CsvWebhookRaceTest + PII-scrubbing на остальные каналы

## Цель

Применить C-fix (снимок в beforeEach CsvWebhookRaceTest) и A (PII-процессор на
slack/papertrail/stderr в config/logging.php), затем прогнать оба тест-файла на
зелёный. Из каталога `app`. Root cause C установлен через systematic-debugging.
Путь каталога в первом Bash-шаге заключён в двойные кавычки — пробелы и кириллица
экранированы корректно (как в опечатанных планах этой сессии).

```skills-json
["systematic-debugging"]
```

```steps-json
[
  {"op": "Bash", "object": "cd \"c:/моя/проекты/портал crm/Документация/app\"", "ref": "D4"},
  {"op": "Edit", "object": "c:/моя/проекты/портал crm/Документация/app/tests/Feature/Supplier/CsvWebhookRaceTest.php", "ref": "D1"},
  {"op": "Edit", "object": "c:/моя/проекты/портал crm/Документация/app/config/logging.php", "ref": "D2"},
  {"op": "Bash", "object": "php artisan test tests/Feature/Supplier/CsvWebhookRaceTest.php tests/Feature/Logging/PiiScrubbingProcessorTest.php", "ref": "D4"},
  {"op": "Write", "object": "c:/моя/проекты/портал crm/Документация/docs/superpowers/runbooks/2026-06-17-csvrace-and-pii-channels.md", "ref": "D1"}
]
```

```verified-context-json
[
  {
    "id": "ctx-link",
    "kind": "EXTRACTED",
    "ref": "app/tests/Feature/Supplier/CsvWebhookRaceTest.php",
    "anchor": "linkProjectToSupplier($this->project, $this->sp);"
  }
]
```

## Переговоры

### Круг 1

Довод: C-fix меняет только setup теста (root cause — устаревший setup относительно
snapshot-маршрутизации, не дефект продукта), проверяется зелёным прогоном; A —
аддитивное расширение уже протестированного PII-процессора. Путь в Bash-шаге
экранирован двойными кавычками — обработка пробелов/кириллицы корректна.

Наставнику: прошу записать непустую forward-рекомендацию — конкретная развилка:
(а) принять текущее покрытие каналов (single/daily + slack/papertrail/stderr)
достаточным; либо (б) добавить также syslog/errorlog отдельным шагом. Ожидается
явный выбор, не пустой слот.
