# План добора аудита + фиксация находок — Этап 2

## Цель

Добрать backend-тесты (параллельно, мимо composer-таймаута) и детализацию найденной утечки
(redact-режим), затем записать единый документ находок Этапа 2 со сводкой P0–P3, результатами
добора, списком недовыполненных фаз и сверкой с хендоффом. Деструктивных операций нет; тесты
работают только с изолированной тестовой БД, единственная запись — новый markdown-отчёт.

```skills-json
["audit-portal"]
```

```steps-json
[
  {"op":"Bash","object":"php app/artisan test --parallel","ref":"E1"},
  {"op":"Bash","object":"bin/gitleaks.exe detect --no-banner --redact --verbose","ref":"E2"},
  {"op":"Write","object":"c:\\моя\\проекты\\портал crm\\Документация\\docs\\superpowers\\audits\\2026-06-15-portal-tech-audit-findings.md","ref":"E3"}
]
```

```verified-context-json
[
  {"id":"C1","kind":"EXTRACTED","ref":"app/composer.json","anchor":"\"test\": ["},
  {"id":"C2","kind":"EXTRACTED","ref":"package.json","anchor":"\"sast\": \"semgrep --config=p/php"},
  {"id":"C3","kind":"EXTRACTED","ref":"tools/cost-pricing.mjs","anchor":"export const PRICING = Object.freeze("}
]
```
