Хуки
Обработчики событий инструментов, срабатывающие на SessionStart, PreToolUse и Stop, загружающие контексты сообщений, которые обеспечивают изоляцию git и дисциплину планов.
Хуки срабатывают на событиях инструментов и загружают контексты сообщений, которые
ассистент трактует как дополнительные системные подсказки. Подключение находится в
блоке хуков settings.json Claude Code, файле хуков hooks.json Codex
и карте хуков settings.json Qwen Code.
| Событие | Тайм-аут | Назначение |
|---|---|---|
| SessionStart | 30 секунд | Чтение памяти, проверка состояния плана, отчёт о готовности |
| PreCompact | 30 секунд | Проверить, что состояние внешне сохранено перед компактификацией |
| PostCompact | 30 секунд | Восстановить рабочее состояние после компактификации |
| Stop | 60 секунд | Внешнее сохранение состояния в конце сессии |
| 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.mdpretooluse-bash.md,pretooluse-write.md,pretooluse-edit.md,pretooluse-notebookedit.md
Каждый файл контекста загружается диспетчером, когда его событие срабатывает и его аргумент контекста зарегистрирован в файле настроек.
Сгенерированный реестр сообщений хуков
| Name | Description | Source |
|---|---|---|
postcompact | Post-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-compaction | Proactive-compaction tracker for PostToolUse tool calls. | src/apothem/hooks/messages/posttooluse-proactive-compaction.md |
precompact | Pre-compaction protocol (CM-24 §2.3). Externalize all in-conversation state BEFORE the harness compresses context. | src/apothem/hooks/messages/precompact.md |
pretooluse-askuserquestion-recommended | Call-time (Recommended)-marker guard for AskUserQuestion tool calls. | src/apothem/hooks/messages/pretooluse-askuserquestion-recommended.md |
pretooluse-bash-plan-guard | Plans-Discipline write guard for Bash tool calls (companion to pretooluse-write-plan-guard.md). | src/apothem/hooks/messages/pretooluse-bash-plan-guard.md |
pretooluse-bash | CM-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-guard | Dependency-manifest supply-chain guard (advisory). | src/apothem/hooks/messages/pretooluse-dependency-guard.md |
pretooluse-edit-header-guard | SPDX-header inject guard for Edit tool calls. | src/apothem/hooks/messages/pretooluse-edit-header-guard.md |
pretooluse-edit | Codebase isolation (Edit scope). | src/apothem/hooks/messages/pretooluse-edit.md |
pretooluse-eval-guard | Dynamic-eval / unsafe-deserialization guard — advisory prompt-injection defense. | src/apothem/hooks/messages/pretooluse-eval-guard.md |
pretooluse-notebookedit | Codebase isolation (notebook scope). | src/apothem/hooks/messages/pretooluse-notebookedit.md |
pretooluse-write-header-guard | SPDX-header inject guard for Write tool calls. | src/apothem/hooks/messages/pretooluse-write-header-guard.md |
pretooluse-write-plan-guard | Plans-Discipline write guard for Write / Edit / NotebookEdit tool calls. | src/apothem/hooks/messages/pretooluse-write-plan-guard.md |
pretooluse-write | Codebase isolation + frontmatter compliance. | src/apothem/hooks/messages/pretooluse-write.md |
sessionstart | Session-start conformity posture. | src/apothem/hooks/messages/sessionstart.md |
stop | Session-end protocol (CM-14 + CM-24 §2.5 + CM-26 + CM-22 §2/§4). | src/apothem/hooks/messages/stop.md |
Помощники
Постоянные работники-помощники для исследования, аудита, качества и оркестрации с контрактами frontmatter и протоколами изоляции при развёртывании.
Стили вывода
Профили тона оператора (Senior Architect, Concise Engineer, Forensic Auditor), активируемые посессионно через команду /output-style.