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.
| Evento | Tempo limite | Propósito |
|---|---|---|
| SessionStart | 30 segundos | Ler memória, verificar o estado do plano, reportar a prontidão |
| PreCompact | 30 segundos | Verificar que o estado foi externalizado antes da compactação |
| PostCompact | 30 segundos | Restaurar o estado de trabalho após a compactação |
| Stop | 60 segundos | Externalização ao final da sessão |
| PreToolUse (Bash) | 10 segundos | Validação do Bash — isolamento de artefatos do git |
| PreToolUse (Write/Edit/NotebookEdit/apply_patch) | 10 segundos | Isolamento 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.mdpretooluse-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
| 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 |
Trabalhadores delegados
Trabalhadores delegados persistentes para pesquisa, auditoria, qualidade e orquestração, com contratos de frontmatter e protocolos de isolamento de implantação.
Estilos de saída
Perfis de tom de operador (Arquiteto Sênior, Engenheiro Conciso, Auditor Forense) ativados por sessão via comando /output-style.