English | Русский
Термины verify / QG — глоссарий
Единый источник формулировок для CLI, MCP, хуков и тестов. В документации и инструкциях агенту используйте эти термины одинаково.
Базовые понятия
| Термин | Смысл | Допустимо? |
|---|---|---|
| Verify-First Contract | Тяжёлые гейты выполняются на verify (CLI/MCP); task done закрывает задачу по свежей green-записи в verification_runs (тот же files_hash, окно TTL), без повторного inline-запуска тех же subprocess-гейтов. | По умолчанию в v1.4+ |
| Поддерживаемый opt-out | Документированный переключатель: меняет где выполняются проверки или опциональное поведение, не отменяя контракт фреймворка. Не синоним «без доказательств» или «без QG-2». | Да, осознанно |
| Bypass (политика) | Обход обязательного правила (особенно QG-0 / QG-2). В текстах TAUSIK слово bypass резервируем для методологических дыр — не для поведения кеша. | Нельзя для закрытия по QG-2 |
| Обход verify-кеша (verify cache bypass) | Для security-sensitive путей никогда не переиспользуется кеш верификации; гейты всё равно запускаются — отключается только оптимизация повторным прогоном. | Да — усиливает проверку |
| Тестовый shim | Механизм pytest (tests/conftest.py), который в большинстве тестов отключает _enforce_verify_first, чтобы suite оставался быстрым и стабильным. Не production-настройка. | Только тесты |
Примеры поддерживаемых opt-out
| Механизм | Что делает | Чего не делает |
|---|---|---|
{"task_done": {"auto_verify": true}} в .tausik/config.json | Тяжёлые verify-гейты выполняются внутри task done (шаг один, как в v1.3). | Не снимает требование AC и --ac-verified. |
task start --force | Обход capacity сессии с аудит-следом. | Не отменяет QG-0 по содержанию задачи или QG-2. |
git commit --no-verify | Пропускает только git pre-commit. | Не меняет гейты TAUSIK в БД и tausik verify. |
TAUSIK_SKIP_PUSH_HOOK=1 | Документированный debug-обход push-гейта (см. environment.md). | Не универсальный opt-out для QG-2. |
task done --no-knowledge | Подтверждает отсутствие знаний для захвата; глушит предупреждение. | Не пропускает verify / AC. |
Анти-паттерны (не поддерживаются)
- Считать cache hit «отсутствием верификации» — hit означает недавний успешный прогон с тем же scope; для security-путей кеш всё равно не используется.
- Называть недокументированный обход «bypass», если по факту ломается QG-2 (например ожидать
task doneбез кеша verify и безauto_verify). - Путать обход verify-кеша (всегда перепроверить чувствительные файлы) с обходом QG — первое запускает гейты; второе снимало бы требования (для
task_doneнедоступно).
Тестовый shim (маркер verify_first)
- По умолчанию autouse-fixture
_verify_first_autouse_compat_shimподменяетGatesMixin._enforce_verify_firstна no-op, чтобы тесты с прямыми вызовамиtask_doneне требовали полного пайплайна verify. Предикат:tests/verify_first_compat_predicate.py. - Тесты, которые проверяют реальный verify-first, должны использовать
@pytest.mark.verify_first, чтобы shim не применялся.
Это изоляция тестов, не пользовательский opt-out.
Чеклист ревью документации
При правках текста про verify / QG / cache:
- Opt-out — только для документированных настроек или переменных окружения.
- Bypass — для политики (что агенту нельзя) или явно пишите обход verify-кеша, если речь о не-reuse кеша.
- Тестовый shim — только в contributor/test-доках, не как операторский lifehack.
- Если два раздела определяют термин по-разному — это дефект документации: согласовать или пометить TODO с владельцем.
См. также
- Принципы тестирования — когда писать тесты; анти-паттерн: дубли без нового поведения.
- CLI — Верификация
- MCP — Verify-First Contract
- Хуки — Отключение / bypass