# Deep Review — Phase 1: Scope discovery

> Supporting reference for `deep-code-reviewer.md`. Read on demand when scope analysis non-trivial.

## Git-level scope

```bash
git status
git diff --staged                  # если pre-push
git diff origin/main..HEAD         # если post-push, до merge
git log origin/main..HEAD --stat   # сколько коммитов, кто author
git rev-parse --abbrev-ref HEAD    # не main ли это
```

## Forgejo PR metadata

> Если в окне есть `mcp__forgejo__*` — предпочитай его (см. «Альтернатива» ниже): отдаёт распарсенный
> объект. curl-блок — fallback для Task-spawn без forgejo MCP; всё через `| jq` (без temp-файлов).
> ⛔ Не `curl -o /tmp/*.json` + `python3 json.load` — на Windows 404 + FileNotFoundError (incident #893).

```bash
# Все вызовы используют $FORGEJO_URL и $FORGEJO_TOKEN
H="Authorization: token $FORGEJO_TOKEN"
REPO="$FORGEJO_URL/api/v1/repos/lekss361/gendesign"

# PR metadata: title, body, labels, base, head SHA, mergeable, state, draft
curl -sH "$H" "$REPO/pulls/<N>" | jq '{title,state,mergeable,draft,head:.head.sha,labels:[.labels[].name]}'

# Full file list (даже большой PR)
curl -sH "$H" "$REPO/pulls/<N>/files?limit=50" | jq '.[] | {filename,status,additions,deletions}'

# Diff целиком
curl -sH "$H" "$REPO/pulls/<N>.diff"

# Reviews (что уже сказали bot / lekss361)
curl -sH "$H" "$REPO/pulls/<N>/reviews" | jq '.[] | {user:.user.login,state,body:.body[0:200]}'

# Commits в ветке PR
curl -sH "$H" "$REPO/pulls/<N>/commits" | jq '.[] | {sha:.sha[0:7],message:.commit.message|split("\n")[0]}'
```

Альтернатива — `mcp__forgejo__get_pull_request_by_index`, `mcp__forgejo__list_pull_request_files`, `mcp__forgejo__get_pull_request_diff`, `mcp__forgejo__list_pull_reviews` (commits PR — через `list_repo_commits` по head-ветке).

## File categorization (приоритет ревью)

| Категория | Что | Приоритет |
|---|---|---|
| 🔴 P0 | `data/sql/**`, `backend/alembic/versions/**`, auth code, secrets/tokens | блокирующий |
| 🟠 P1 | `backend/app/api/v1/**`, `backend/app/services/**`, `backend/app/scrapers/**` | критичный |
| 🟡 P2 | `frontend/src/app/**`, `frontend/src/hooks/**`, `docker-compose*.yml`, `Caddyfile`, `.github/workflows/**`, `.forgejo/workflows/**` | важный |
| 🟢 P3 | `frontend/src/components/**` UI-only, tests, CLAUDE.md | стандартный |
| ⚪ skip | lock-файлы, генеренные TS типы (`api-types.ts`), `*.md` без правил | смотреть только если связано с P0-P2 |
