Skip to content
Apothem
Referência

Hooks

Manipuladores de eventos de ferramentas que disparam em SessionStart, PreToolUse e Stop, carregando contextos de mensagem que impõem o isolamento do git e a disciplina de planos.

Os hooks disparam em eventos de ferramentas e carregam contextos de mensagem que o assistente trata como prompts de sistema adicionais. A fiação fica no bloco de hooks do settings.json do Claude Code, no arquivo de hooks hooks.json do Codex e no mapa de hooks do settings.json do Qwen Code.

EventoTempo limitePropósito
SessionStart30 segundosLer memória, verificar o estado do plano, reportar a prontidão
PreCompact30 segundosVerificar que o estado foi externalizado antes da compactação
PostCompact30 segundosRestaurar o estado de trabalho após a compactação
Stop60 segundosExternalização ao final da sessão
PreToolUse (Bash)10 segundosValidação do Bash — isolamento de artefatos do git
PreToolUse (Write/Edit/NotebookEdit/apply_patch)10 segundosIsolamento de referências a planos, verificações de frontmatter

Despachante

As entradas de hook instaladas invocam o despachante pelo caminho absoluto do script. Os templates de configurações carregam o token ${HARNESS_ROOT}python "${HARNESS_ROOT}/apothem/hooks/dispatch.py" <event> [<message-name>] — que o instalador renderiza para o caminho real da raiz do harness no momento da instalação (Claude Code e Qwen Code materializam o despachante sob <harness-root>/apothem/hooks/; Codex sob <harness-root>/hooks/). O despachante é um script autônomo da biblioteca padrão: ele inicializa seu próprio sys.path, de modo que nenhum pacote apothem importável é necessário no host. A partir de um checkout do código-fonte, a forma de módulo python -m apothem.hooks.dispatch <event> (com PYTHONPATH=src) executa o mesmo código para desenvolvimento. O despachante carrega hooks/lib/resolve_root.py para a resolução da raiz do ecossistema e delega para hooks/emit_hook_context.py e hooks/session_start_bootstrap.py.

Contextos de mensagem

Os contextos em Markdown por evento ficam sob src/apothem/hooks/messages/:

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

Cada arquivo de contexto é carregado pelo despachante quando seu evento dispara e seu argumento de contexto está registrado no arquivo de configurações.

Inventário de mensagens de hook gerado

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