Перейти к содержимому

Навыки

chimera-state-what-you-did-not-check

Рейтинг, построенный по части системы, читается как рейтинг всей системы — пишите охват и исключения рядом с выводами, а не после них.

ПаттернПроисхождение: cleanСостояние: activev0.1.0 · Apache-2.0

Присвоено человеком, который прочитал карточку, а не заявлено файлом о самом себе. Карточка, которую агент выводит во время запуска, поглотившего недоверенное содержимое, рождается заражённой и удерживается на разбор, прежде чем её вообще извлекут.

Когда это вспоминается

  • пишу ревью или аудит
  • перечисляю главные риски
  • докладываю находки
  • ранжирую проблемы по критичности
  • спрашивают, безопасно ли это

Ценность обычно лежит в разделах «Избегать» и «Проверить». «Делать» — это раздел, который пишут все.

Текст карточки выше — перевод. Английский оригинал — это то, что импортирует командная строка, что читает агент во время работы и что подтверждает хеш ниже.

Повод

Вы сдаёте нечто, читающееся как обзор: ревью кода, проход по безопасности, «три главные проблемы», приоритизированный бэклог, сравнение вариантов. Всё, где вы посмотрели на часть пространства и выдали упорядочение.

Это не относится к ответу на ограниченный вопрос — «обрабатывает ли эта функция пустой список?» — где охват уже совпадает со всем, о чём спросили. Риск специфичен для результата, чья форма — список худших вещей, потому что эта форма несёт подразумеваемое «из всего», которое читатель подставит сам и бесплатно.

Делать

  1. Начинайте с охвата, до находок. Назовите, что вы действительно прочли: пути или globs, коммит или ветку, и запускали ли вы что-нибудь или только читали. Просмотрено: src/api/*.py на 4f2a1c9, только статическое чтение, тесты не запускались.
  2. Перечислите исключения с причинами и держите причины конкретными: нет доступа к миграциям, интеграционному набору нужны учётные данные, которых у меня нет, фронтенд не влез в бюджет этого прохода.
  3. Ограничивайте каждую превосходную степень тем, что вы прочли. Не «худшая проблема — отсутствующая проверка авторизации», а «худшая из шести прочитанных мной обработчиков». Два предложения стоят одинаково и означают разное.
  4. Разделяйте «проверено и чисто» и «не проверялось». Читатель принимает молчание за справку о здоровье; заслуживает её только одно из этих двух состояний.
  5. Назовите непроверенное, которое вероятнее всего обошло бы ваш текущий номер один, чтобы читатель знал, что купит следующий проход. Если ничто правдоподобное не смогло бы, скажите и это — это настоящая находка.

Избегать

Сообщать «SQL-инъекций не найдено» после прохода, который ни разу не открыл слой базы данных. Фраза буквально верна и работает как справка о допуске. Напишите «db/ не просматривался — нет доступа к файлам миграций», и тот же проход теперь говорит то, что знает.

Не прячьте охват в заключительный абзац под заголовком Ограничения. Читатели действуют по верху документа; оговорка под рейтингом приходит после решения, которое она должна была уточнить.

Избегайте упорядочения, охватывающего проверенное и непроверенное разом. Ранжирование трёх просмотренных модулей против одного, пролистанного по диагонали, даёт список, где позиции означают разное в разных строках, и ничто в вёрстке не говорит читателю, где что.

Проверить

Задайте готовому документу один двоичный вопрос: сможет ли читатель, которого при этом не было, назвать файлы, которые вы прочли, и те, которые нет, не спрашивая вас? Если нет — охвата не хватает, как бы аккуратны ни были находки.

Второе: перечитайте каждую превосходную степень — худший, главный, первый, единственный, никаких — и убедитесь, что при каждой в том же предложении стоит уточнение. Именно на этих словах частное тихо становится всеобщим.

Риск

Списки исключений умеют разрастаться в полный иммунитет: документ, отрекающийся от всего, не утверждает ничего, а пишущие такое рецензенты перестают отвечать и за ту часть, которую покрыли. Держите список в пределах исключений, которые читатель иначе счёл бы включёнными.

Заявленный охват также напрашивается на «тогда иди проверь остальное», а это иногда неверный ход: сознательно частичный проход по самой рискованной поверхности может быть правильным употреблением времени. Если так, скажите, почему выбрана эта поверхность, иначе честное раскрытие прочтут как незаконченную работу.

И охват не заменяет глубины. «Я прочёл эти шесть файлов» не означает, что шесть прочитаны хорошо, а точная граница вокруг поверхностной работы всё равно даёт поверхностные находки.

Как применить

Карточка — это данные. Склонируйте репозиторий и импортируйте её по пути: всё, что приходит по сети, считается заражённым и удерживается до одобрения — это и есть желаемое поведение, и поэтому здесь нет установщика в одну строку.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/chimera-state-what-you-did-not-check/SKILL.md

Целостность

SHA-256 файла в опубликованном виде. Импортёр может проверить, что полученное совпадает с показанным на этой странице.

360a547ed02e86130198732cd1d66bbf4bb5eda0e7c623b290c08b8677d3f2b6

Читать карточку в репозитории