# Portal Full Audit #2 — Blocked questions (2026-05-13)

> **Связано:** план [../plans/2026-05-13-portal-full-audit-2.md](../plans/2026-05-13-portal-full-audit-2.md), findings `2026-05-13-portal-full-audit-findings.md`
> **Когда читать:** перед началом следующей сессии Claude

## Категории

- **Q.HARD** — hard-stop из decision-tree (schema, открытые вопросы, ТЗ-правки, новые packages, force-push)
- **Q.PRODUCT** — продуктовое/дизайнерское решение
- **Q.DEFER** — реально починить, но >1 час / большой refactor
- **Q.INFO** — информационный пункт (известный flaky, новый quirk)

## Открытые вопросы

### Q.DEFER.001 — Phase 5 full 24-view Playwright MCP smoke

**Из:** Phase 5 reduced scope decision.
**Severity при отказе:** P2 (UI smoke coverage gap; structural Lucide verification + Vitest/Histoire indirect coverage частично закрывают).
**Контекст:** Spec/plan описывал full 24-view smoke (Playwright MCP `browser_navigate` + `browser_console_messages` + `browser_network_requests` + `browser_take_screenshot` per view + login/logout flows). В этой session — light smoke only (17 routes HTTP 200 check + Lucide structural verification + indirect через Vitest 88f/683 + Histoire 35/63 + Vite build). Context constraint after parallel-session contention + 8+ commits предыдущих phase'ов. 12.05 audit уже verified все 24 views (admin role-guard ⏸ Q.HARD.001 — Б-1 dependency).
**Что нужно от заказчика:**

- (A) Follow-up session с Phase 5 full smoke (~30 мин Playwright MCP work через DemoSeeder + dev servers).
- (B) Defer до post-MVP UI integration test sprint.
- (C) Skip — 12.05 baseline still holds, structural verification sufficient.

**Если ответа нет → план Б:** (C) — Vitest 88/683 + Vite build + Lucide structural confirmation предоставляют разумную coverage. Real production smoke может быть в Phase 14 pre-prod readiness sprint.

**✅ CLOSED 2026-05-13 session 2.** 24/24 views Playwright MCP smoke completed. Login+logout flows verified ✅. CTO-19 Lucide icons confirmed holding ✅. Console errors: 1 expected (401 /api/auth/me on /login — SPA auth-check). Network errors: 0. Auth-guard redirects: ✅. 25 screenshots в `audit-screens/2026-05-13/`. 0 реальных дефектов. Severity rollup: P0=0, P1=0, P2=0, P3=0. Commit: `ec0dd00`. Подробности: findings.md § Phase 5 Follow-up.

### Q.DEFER.002 — Phase 10 axe-core 16 auth views

**Из:** Phase 10 planning. Spec описывал 16 auth-required views через Playwright + axe-core 4.10 CDN inject. Аналогично Phase 5 — context constraint.
**Severity при отказе:** P1 (a11y coverage gap; 12.05 Q.DEFER.002 sub-B closure verified clean on /dashboard /kanban /reminders /billing /settings /admin/billing /admin/tenants /admin/supplier-prices /projects + sub-A+C fixed).
**Контекст:** 12.05 batch a11y fixes (sidebar palette teal-mid + multiple aria-label additions + contrast bumps) verified holding через Vitest 88/683 (компонентный layer). Real Pa11y CLI на 4 guest URLs выполнен (Phase 10.1 ниже если запущен). 16 auth views с cookie injection — defer.
**Что нужно от заказчика:** (A) follow-up session / (B) defer post-MVP a11y polish sprint / (C) skip — 12.05 closure sufficient.
**Если ответа нет → план Б:** (B) defer (a11y polish sprint).

**✅ CLOSED 2026-05-13 session 2.** axe-core 4.10 на 16/16 auth-required views выполнен. Q.DEFER.004 lesson applied (500ms wait + hard reload). Findings:

- P2 (1): `aria-tooltip-name` serious — /admin/tenants, Vuetify VTooltip overlay без accessible name → FIX-DEFER a11y polish sprint.
- P3 (4 категории): `region` sitewide (16/16) + `color-contrast` DevIndexBadge temp (14/16, scheduled prod-removal) + `empty-table-header` actions col (2 views) + `page-has-heading-one` (1 view) → FIX-DEFER a11y polish sprint.
- P0=0, P1=0. Нет блокеров для current dev sprint.
Severity rollup: P0=0, P1=0, P2=1, P3=4 категории. Подробности: findings.md § Phase 10.2 Follow-up.

---

## Шаблон вопроса

````text
### Q.{CAT}.NNN — короткий заголовок

**Из:** Phase X / file:line / finding-id
**Severity при отказе:** P0/P1/P2/P3
**Контекст:** что обнаружено, что сделано, почему остановился
**Что нужно от заказчика:** конкретный выбор (A/B/C или «делай Y»)
**Если ответа нет → план Б:** ...
````
