Перейти к содержанию

Жалобы

Жалобы — страница после входа для ваших кейсов и для новой жалобы на одну точную версию каталога. Staff-разбор на /staff/reports — не пользовательская страница и здесь не документируется.

Жалоба — закрытый модерационный кейс, не публичное обсуждение.

URL и кто их видит

Проекция URL Кому видно
Human /{locale}/reports после входа
Machine /{locale}/ai/reports та же сессия

Карточки каталога и страницы версии владельца приводят сюда с:

?object_kind=component|setup
&stable_id=…
&version=…
&digest=…

Эти четыре факта обязательны, прежде чем отрисуется форма отправки. Голый /reports показывает ваши кейсы плюс:

Сначала выберите точную версию, затем откройте жалобу с заполненными фактами.

Нет сессии → login с query, сохранённым в returnTo. Нет CSRF → сессия истекла. Жалобы в шапке и пункт меню аккаунта открывают эту страницу.

Зачем этот экран

Жалобы нужны, чтобы сказать операторам, что конкретный дайджест вреден, неверен или уязвим, после просмотра превью диагностики.

Контакт — когда дайджеста нет. GitHub — только для патчей репозитория. CLI report preview / report confirm — когда конверт нужен на диске.

Жалобы не:

  • даёт смотреть чужие кейсы;
  • даёт блокировать или скрывать версию (только staff);
  • отправляет payload находок, в которых могут быть секреты (на карточке каталога они скрыты);
  • меняет author_verified с этой формы.

Что на экране

Форма отправки (только с полной целью)

Поле Подпись Источник
Вид объекта Вид объекта query, component или setup
Stable id Stable id query
Версия Версия query
Content digest Content digest query
Код ошибки Код ошибки необязательно
Diagnostics Diagnostics (необязательно) до 4000 символов, в памяти до отправки
Vulnerability Отметить как vulnerability report галочка
Предпросмотр diagnostics Предпросмотр diagnostics обязательно до отправки
Consent Я просмотрел предпросмотр diagnostics и согласен отправить только поля ниже. обязательно
Submit Отправить жалобу неактивна, пока нет preview + consent

Подсказка превью:

Diagnostics остаются в памяти до отправки. Нужны предпросмотр и согласие.

Без preview и consent форма говорит Сделайте предпросмотр diagnostics и подтвердите согласие перед отправкой. Успех: Жалоба отправлена. плюс reference id.

Не вставляйте токены, закрытые ключи, .env и содержимое частных репозиториев в Diagnostics. Опишите публичный URL и id проверки.

Ваши кейсы

Колонка Содержимое
Case id case_id
Target object_kind / stable_id / version
State состояние на сервере

Пусто: У вас пока нет case. Это журнал репортёра, не рабочий список staff.

Human / Machine: machine Reports перечисляет case_id, kind, id, version, state, флаг vulnerability, created_at. Форма отправки только human.

Совпадающие команды CLI

ai-stp report preview --json
ai-stp report confirm --json
ai-stp report list --json

report preview (plan, confirmation none) готовит точный ограниченный payload без отправки. report confirm (apply, explicit_flag) отправляет ровно одно превью. report list перечисляет закрытые кейсы текущего аккаунта — близнец Ваши case.

Команды ai-stp report staff в пользовательском CLI нет.

Тупики

Что видно Что это значит Что делать
Сначала выберите точную версию нет фактов в query откройте Report с карточки или страницы версии
Нужны предпросмотр и согласие пропущен шаг предпросмотр, отметьте согласие, затем Отправить жалобу
Редирект на login нет сессии войдите; query сохранён
Пустые кейсы вы ещё не отправляли ожидаемо для нового аккаунта
Каталог скрывает payload находки могут быть секреты не требуйте сырой фрагмент
Форма контакта вместо этого нет дайджеста это другой путь
/staff/reports 404 или forbidden не пользовательская страница остановитесь; эта страница или Contact

Отправленный кейс не уведомляет в каталоге. Смотрите Ваши case или report list.

Как заполняется query

Источник Что пишет в query
Report на карточке компонента kind, stable_id, latest version, digest
Report setup на карточке сетапа то же для сетапа
Пожаловаться на версию у владельца этот точный X.Y и дайджест
Голый /reports ничего — форма скрыта

Если у latest ещё нет дайджеста, карточка опускает digest и эта страница отказывает форме. Откройте /versions/{version} и жалуйтесь оттуда.

Diagnostics необязательны и ограничены. Preview — не отправка. Consent называет поля, которые вы реально постите. Mark as vulnerability — когда это security-нахождение; это флаг кейса, не публичная страница CVE.

Machine Reports — список кейсов. Отправка остаётся human-формой.

Связанные страницы

Staff вне объёма

Если в URL есть /staff/, вы не на пути справочного центра. Пользователи подают кейсы. Они их не разбирают.