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

FAQ

Кому это? Любому, кто оценивает или уже пользуется и у кого есть короткий вопрос — не баг и не проблема установки. Когда читать? До того, как заводить issue. Если что-то сломалось — что делать; чтобы разобраться с инструментом — гайд.


Выбор

Обязательно внедрять всё?

Нет. Одна проверка — уже реальное улучшение, а doctor продолжит честно говорить про остальные восемь. Репозиторий, где включено две проверки и все это знают, в лучшем состоянии, чем тот, где верят, что включено девять.

Когда честный ответ — «вам это не нужно»?

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

Это замена тестам?

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

Работает с моим агентом?

Да. Проверки — это команды: читают файлы, запускают ваши команды, ходят по истории git. Claude Code, Codex, Cursor, Copilot, DeepSeek, ваш собственный агент — ни один из них не зашит в код, потому что ни у одного ничего не спрашивают. harnessimo agent печатает контракт в три строки, который вставляется в любой файл инструкций, а hooks install --agent подключает тот единственный инструмент, у которого есть API стартовых хуков.

У меня не JavaScript.

Нормально. Укажите в docs.commands ваш Makefile или Taskfile.yml и работайте. Node нужен, чтобы запускать сам инструмент; проекту быть на JavaScript не требуется.

Стоит ли ставить ещё и code-graph или codebase-memory?

Да, и отдельно. Те индексируют репозиторий и отдают его агенту — они отвечают на вопрос «что мне нужно прочитать». Этот отвечает на «закончено ли». Они подходят к одной и той же проблеме с разных сторон, и объединять их дороже, чем оставить порознь.

Эксплуатация

Какую проверку включать первой?

Ту, что отвечает боли, которая реально была у вас в этом месяце. Таблица в гайде сопоставляет симптомы и проверки. Включить все девять разом — получить один огромный красный прогон, который никто не прочитает.

Как выключить проверку?

Удалить её секцию из harnessimo.config.json. Проверка работает, когда есть её конфигурация, и doctor после этого покажет её как «not set» — то есть честно, а не тихо.

Это медленно?

Пре-коммит-хук запускает только гейты секундного масштаба; перепроверка, холодный старт и ваши собственные команды — это CI. Хук, который делает каждый коммит долгим, начинают обходить, а обойдённый гейт не защищает ни от чего.

Что он кладёт в репозиторий?

.harness/ (пять папок стартовых документов, которые вы должны переписать), specs/ (индекс треков и шаблоны) и harnessimo.config.json. Больше ничего, и ни одной рантайм зависимости — по правилу, которое проверяет собственный CI.

Может ли агент поправить правила, чтобы его работа прошла?

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

Помогает ли это с расходом токенов?

Для этого есть harnessimo budget и guard на чтение. Guard отклоняет повторное чтение файла, который не менялся, и говорит, сколько это сэкономило; budget печатает, во что обошлась сессия и какая её доля была повторами. Все цифры — оценка из расчёта четыре байта на токен, и об этом сказано прямо: контекст модели нам не виден, а точное число, которое никто не может проверить, хуже приблизительного, которое в этом признаётся.

Доверие

Почему я должен верить, что проверки работают?

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

Что делать, если правило неверное?

Заведите issue или пришлите пул-реквест. Правило, которое существует в двух экземплярах — здесь и форкнутым у вас, — это ровно та проблема, ради которой всё и делалось.

Кто за этим стоит и что будет, если это забросят?

Один автор, два продакшн-репозитория на нём, лицензия MIT, ноль рантайм-зависимостей. Если завтра проект забросят, проверки — это несколько тысяч строк чистых функций, которые переносятся к себе за вечер. Так задумано: гейт, который нельзя забрать себе, — это гейт, от которого не стоит зависеть.

Ответа не нашлось

Если сломалось — что делать. Иначе заводите issue: https://github.com/atamaniuc/Harnessimo/issues.