OpenSpec change harness-retro: proposal, specs (harness-retro — новая capability; hook-guards — MODIFIED «Регрессионный корпус хуков»: сегменты и known), design с Decisions made without discussion. По итогам brainstorming 24.10.2026: черновик ретро, срез одного проекта, запуск из репозитория обвязки, разметка блокировок агентом в корпус, хвосты по текущему состоянию, поправки владельца по процессу, подход A. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Spec Delta: hook-guards
MODIFIED Requirements
Requirement: Регрессионный корпус хуков
Пакет SHALL содержать корпус вызовов хуков из реальных транскриптов и живых случаев. Каждая запись MUST иметь идентификатор, ожидаемый вердикт allow|block и код класса.
Корпус MUST состоять из сегментов: строка-шапка {home, layout}, за ней записи этого сегмента. Для каждого сегмента строится своя песочница с раскладкой из его шапки. Корпус MUST прогоняться через хуки тестами пакета по источникам и doctor.sh по установленным копиям.
Запись с полем known: "<маркер находки>" — известная ошибка текущих хуков:
- её расхождение с ожидаемым вердиктом MUST NOT давать FAIL;
- совпадение вердикта при наличии
knownMUST давать FAILKNOWN-FIXED, чтобы пометку сняли.
Scenario: Расхождение в тестах пакета
- WHEN хук из
hooks/выносит по записи корпуса безknownвердикт, отличный от ожидаемого - THEN
bash tests/run.shпечатает FAIL с идентификатором и классом записи и завершается с ненулевым кодом
Scenario: Отчёт doctor
- WHEN запущен
doctor.shпри установленных хуках - THEN в разделе самотеста есть строка
корпус хуков: <совпало>/<всего>, расхождения перечислены с идентификаторами - AND при наличии записей
knownстрока продолжается, известных ошибок <K>
Scenario: Сегменты с разной раскладкой
- WHEN корпус содержит сегмент пилота 12.10 и сегмент ретро с другим домашним каталогом и другими репозиториями
- THEN каждая запись прогоняется в песочнице своего сегмента, и вердикты совпадают с ожидаемыми
Scenario: Известная ошибка
- WHEN запись имеет
expected: allow,known: "RT-21", а текущий guard-main её блокирует - THEN тест корпуса не падает, в выводе запись отмечена как известная ошибка
Scenario: Известная ошибка исправлена
- WHEN запись имеет
known: "RT-21", а текущие хуки выносят ожидаемый вердикт - THEN тест корпуса печатает FAIL
KNOWN-FIXEDс идентификатором записи