Skip to content
Apothem
Справочник

Хуки

Обработчики событий инструментов, срабатывающие на SessionStart, PreToolUse и Stop, загружающие контексты сообщений, которые обеспечивают изоляцию git и дисциплину планов.

Хуки срабатывают на событиях инструментов и загружают контексты сообщений, которые ассистент трактует как дополнительные системные подсказки. Подключение находится в блоке хуков settings.json Claude Code, файле хуков hooks.json Codex и карте хуков settings.json Qwen Code.

СобытиеТайм-аутНазначение
SessionStart30 секундЧтение памяти, проверка состояния плана, отчёт о готовности
PreCompact30 секундПроверить, что состояние внешне сохранено перед компактификацией
PostCompact30 секундВосстановить рабочее состояние после компактификации
Stop60 секундВнешнее сохранение состояния в конце сессии
PreToolUse (Bash)10 секундВалидация Bash — изоляция артефактов git
PreToolUse (Write/Edit/NotebookEdit/apply_patch)10 секундИзоляция ссылок на планы, проверки frontmatter

Диспетчер

Установленные записи хуков вызывают диспетчер по абсолютному пути скрипта. Шаблоны настроек содержат токен ${HARNESS_ROOT}python "${HARNESS_ROOT}/apothem/hooks/dispatch.py" <event> [<message-name>] — который установщик во время установки преобразует в реальный путь корня harness (Claude Code и Qwen Code материализуют диспетчер в <harness-root>/apothem/hooks/; Codex — в <harness-root>/hooks/). Диспетчер — это автономный скрипт стандартной библиотеки: он инициализирует собственный sys.path, поэтому на хосте не требуется импортируемый пакет apothem. Из исходного checkout форма модуля python -m apothem.hooks.dispatch <event>PYTHONPATH=src) выполняет тот же код для разработки. Диспетчер загружает hooks/lib/resolve_root.py для разрешения корня экосистемы и делегирует hooks/emit_hook_context.py и hooks/session_start_bootstrap.py.

Контексты сообщений

Контексты Markdown по событиям находятся в src/apothem/hooks/messages/:

  • postcompact.md, precompact.md, stop.md
  • pretooluse-bash.md, pretooluse-write.md, pretooluse-edit.md, pretooluse-notebookedit.md

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

Сгенерированный реестр сообщений хуков

NameDescriptionSource
postcompactPost-compaction Blind Bootstrap (CM-24 §6.2). Restore working state from durable files; conversation context is now compressed.src/apothem/hooks/messages/postcompact.md
posttooluse-proactive-compactionProactive-compaction tracker for PostToolUse tool calls.src/apothem/hooks/messages/posttooluse-proactive-compaction.md
precompactPre-compaction protocol (CM-24 §2.3). Externalize all in-conversation state BEFORE the harness compresses context.src/apothem/hooks/messages/precompact.md
pretooluse-askuserquestion-recommendedCall-time (Recommended)-marker guard for AskUserQuestion tool calls.src/apothem/hooks/messages/pretooluse-askuserquestion-recommended.md
pretooluse-bash-plan-guardPlans-Discipline write guard for Bash tool calls (companion to pretooluse-write-plan-guard.md).src/apothem/hooks/messages/pretooluse-bash-plan-guard.md
pretooluse-bashCM-7 git-artifact isolation + M12 numeric-prefix discipline + M15 human-only authorship.src/apothem/hooks/messages/pretooluse-bash.md
pretooluse-conformity> Advisory: this hook reports; it does not block. Mechanical enforcement runs in CI.src/apothem/hooks/messages/pretooluse-conformity.md
pretooluse-dependency-guardDependency-manifest supply-chain guard (advisory).src/apothem/hooks/messages/pretooluse-dependency-guard.md
pretooluse-edit-header-guardSPDX-header inject guard for Edit tool calls.src/apothem/hooks/messages/pretooluse-edit-header-guard.md
pretooluse-editCodebase isolation (Edit scope).src/apothem/hooks/messages/pretooluse-edit.md
pretooluse-eval-guardDynamic-eval / unsafe-deserialization guard — advisory prompt-injection defense.src/apothem/hooks/messages/pretooluse-eval-guard.md
pretooluse-notebookeditCodebase isolation (notebook scope).src/apothem/hooks/messages/pretooluse-notebookedit.md
pretooluse-write-header-guardSPDX-header inject guard for Write tool calls.src/apothem/hooks/messages/pretooluse-write-header-guard.md
pretooluse-write-plan-guardPlans-Discipline write guard for Write / Edit / NotebookEdit tool calls.src/apothem/hooks/messages/pretooluse-write-plan-guard.md
pretooluse-writeCodebase isolation + frontmatter compliance.src/apothem/hooks/messages/pretooluse-write.md
sessionstartSession-start conformity posture.src/apothem/hooks/messages/sessionstart.md
stopSession-end protocol (CM-14 + CM-24 §2.5 + CM-26 + CM-22 §2/§4).src/apothem/hooks/messages/stop.md

On this page