# Спека — прогон Semgrep после установки

## Цель

Прогнать статический анализатор Semgrep (`npm run sast`) после его установки в
окружение и занести результат в отчёт go-live security gate. Цель — ветка `main`,
локально; код/схема/git не правятся, правка только в файле отчёта.

## S1 — прогон Semgrep {#S1}

**Контракт.** Запустить `npm run sast` (Semgrep с конфигами p/php, p/javascript,
p/typescript, p/secrets + локальный `.semgrep.yml`). Результат разнести по severity.

**Edge-case.** Если вывод уезжает в фоновый запуск и недоступен на чтение —
результат помечается «получить из вывода», не выдаётся за «чисто». Если Semgrep всё
ещё не на PATH — фиксируется, что установка не завершилась.

**Конвенция.** critical/high = NO-GO; medium = предупреждение; low/info — справочно.

**Критерий.** Semgrep отработал, результат по severity готов для отчёта.

## S2 — занести в отчёт {#S2}

**Контракт.** В отчёте `docs/security/2026-06-17-go-live-security-report.md` строка
Semgrep обновляется с PENDING на фактический результат (severity-разбивка).

**Критерий.** Строка Semgrep в отчёте отражает реальный прогон.

```verified-context-json
[
  {"id":"vc1","kind":"EXTRACTED","ref":"docs/security/2026-06-17-go-live-security-report.md","anchor":"SECURITY GO-LIVE REPORT"},
  {"id":"vc2","kind":"EXTRACTED","ref":"docs/security/2026-06-17-open-items.md","anchor":"Открытые вопросы"}
]
```
