Superadmin · arquitetura
Arquitetura
Harness documentados e hooks instalados nos agentes, com o que cada um prova, o que não prova e onde está.
- Claude Code9 de 35 ativos no inventárioGatilhos: PreCompact, PreToolUse, SessionStart, Stop, UserPromptSubmit
- Codex0 de 0 ativos no inventárioGatilhos: nenhumSem ponto de bloqueio onde hooks = false
- Servidor (PAEL)—selos Linux do superadmin em 24 h (não medido)Hook do servidor é o único que libera efeito
- Bloqueios em 24 h
- Hooks ativos que podem bloquear3
- Bloqueios registrados em 24 hnão medido
| Hook | O que faz | Detalhes | Ligado |
|---|---|---|---|
| Consumo — compactar | Registra quando a conversa é compactada. | ligado | |
| Autorização | Impede mexer em arquivo fora da lista do pedido. | ligado | |
| Consumo — abrir sessão | Registra o início da sessão na máquina de consumo. | ligado | |
| Lista de tarefas — abrir sessão | Fecha a lista que a sessão anterior deixou aberta. | ligado | |
| Consumo — fim da resposta | Registra o tamanho da conversa ao terminar. | ligado | |
| Resumo final | Confere as cinco linhas do resumo ao terminar a resposta. | ligado | |
| Consumo — a cada pedido | Mede a conversa e bloqueia quando é hora de limpar. | ligado | |
| Lista de tarefas — registrar pedido | Grava cada pedido seu na lista de tarefas. | ligado |
Regras dos hooks
- Regras vigentes
- 22
- Observar
- 15
- Avisar
- 2
- Bloquear
- 5
- Catálogo
- hook-rules@1.0.0
22 de 22
| autorizacao-do-dono | editar | Claude: PreToolUse (Edit|Write|MultiEdit|NotebookEdit)Codex: PreToolUse (apply_patch) — não ensaiado | config/session_tasks | Escrita só em caminho do Escopo da lista vigente, ligado a P<n> do dono. | Bloquear | Bloqueia | Existe | acrescente o caminho em «## Escopo (caminhos)» da lista vigente, numa tarefa que cite o P<n> do dono | 1 |
| autorizacao-shell | comando | Claude: PreToolUse (Bash)Codex: PreToolUse (shell) — não ensaiado | config/session_tasks | Escrita pelo shell só em caminho do Escopo; comando não medido é negado. | Bloquear | Bloqueia | Existe | use caminho literal que esteja no Escopo da lista vigente, sem substituição de comando nem variável de fora do comando | 1 |
| batimento-maquina | abrir_sessao | Claude: SessionStartCodex: SessionStart | architecture | Envia máquina, agente, versão do repassador e regras ativas, para o superadmin saber que a máquina tem os hooks. | Observar | Passa | Falta | não bloqueia; se a máquina aparecer «ausente», rode no terminal o prompt de instalação mostrado em /harness?tab=hooks | 1 |
| checkpoint-consumo | compactar | Claude: PreCompactCodex: PreCompact (1 ocorrência no binário; não ensaiado) | config/consumption_governance | Grava checkpoint antes de compactar. | Observar | Passa | Existe | não bloqueia | 1 |
| checkpoint-tarefas | compactar | Claude: PreCompactCodex: PreCompact (1 ocorrência no binário; não ensaiado) | task_traceability | Grava o foco da sessão (lista vigente, tarefa aberta) para a retomada não perder o fio. | Observar | Passa | Falta | não bloqueia | 1 |
| claim-alheia | editar | Claude: PreToolUse (Edit|Write|MultiEdit|NotebookEdit)Codex: PreToolUse (apply_patch) — não ensaiado | task_traceability | Edição em caminho reivindicado por outra frente em .agent-claims.json recebe aviso. | Observaralvo: avisar | Passa | Falta | não bloqueia; peça à sessão dona ou registre a sua claim só nas linhas que vai tocar | 1 |
| consumo-abertura | abrir_sessao | Claude: SessionStartCodex: SessionStart | config/consumption_governance | Lê o estado da máquina de consumo e lembra o recap C-11. | Avisar | Passa | Existe | não bloqueia; abra a resposta pelo recap C-11 | 1 |
| consumo-fim | fim_resposta | Claude: StopCodex: Stop | config/consumption_governance | Atualiza a máquina de consumo e o checkpoint ao fim da resposta. | Observar | Passa | Existe | não bloqueia | 1 |
| consumo-pedido | pedido | Claude: UserPromptSubmitCodex: UserPromptSubmit | config/consumption_governance | Em LIMPEZA_OBRIGATORIA bloqueia o prompt e manda abrir nova sessão. | Bloquear | Passa | Existe | grave o checkpoint (maquina.py checkpoint gravar) e abra nova sessão: /clear no Claude, /new no Codex | 1 |
| contagem-tokens | pedido | Claude: UserPromptSubmitCodex: UserPromptSubmit | config/consumption_governance | Conta tokens por sessão e máquina e envia ao servidor. | Observar | Passa | Parcial | não bloqueia | 1 |
| deploy-gates | deploy | Claude: PreToolUse (Bash: npm run deploy, git push)Codex: PreToolUse (shell) — não ensaiado | global_modules | Commit, push e deploy com gate:modulos-aprovados vermelho são negados. | Observaralvo: bloquear | Bloqueia | Falta | deixe npm run gate:modulos-aprovados verde antes de commit, push ou deploy | 1 |
| deploy-ordem-expressa | deploy | Claude: PreToolUse (Bash: npm run deploy, git push)Codex: PreToolUse (shell) — não ensaiado | canonical_deploy | npm run deploy sem --so-testes e git push só com ordem expressa do dono registrada na lista vigente (§13). | Observaralvo: bloquear | Bloqueia | Falta | use npm run deploy -- --so-testes ou peça ao dono a ordem expressa nesta sessão | 1 |
| design-system | editar | Claude: PreToolUse (Edit|Write|MultiEdit|NotebookEdit)Codex: PreToolUse (apply_patch) — não ensaiado | config/design_system | Edição de tela fora do design-system (hex fora de tokens, porta paralela, dialog fora do DS) recebe aviso. | Observaralvo: avisar | Passa | Falta | não bloqueia; use os tokens e componentes do design-system | 1 |
| frente-declarada | abrir_sessao | Claude: SessionStartCodex: SessionStart | task_traceability | Exige frente declarada (CLAUDE_FRENTE) e claim antes da primeira edição. | Observaralvo: avisar | Passa | Falta | export CLAUDE_FRENTE=claude:<frente> e registre a claim em .agent-claims.json antes da primeira edição | 1 |
| modulos-aprovados | editar | Claude: PreToolUse (Edit|Write|MultiEdit|NotebookEdit)Codex: PreToolUse (apply_patch) — não ensaiado | global_modules | Nega edição que retire módulo aprovado de modules/catalog.json. | Observaralvo: bloquear | Bloqueia | Falta | mantenha o módulo no catálogo ou registre a remoção em remocoes_autorizadas, com ordem_do_dono, em catalog.aprovados.json | 1 |
| mudanca-de-contexto | pedido | Claude: UserPromptSubmitCodex: UserPromptSubmit | task_traceability | Compara o prompt novo com o escopo da lista vigente; assunto fora do escopo gera alerta de mudança de contexto. | Observaralvo: avisar | Passa | Falta | não bloqueia; decida se o assunto novo cabe no escopo vigente ou pede lista nova | 1 |
| quadro-e-recap | fim_resposta | Claude: StopCodex: Stop | config/session_tasks | Resposta que declara entrega precisa de quadro, tabela de fim de rodada e recap; uma correção só (stop_hook_active). | Bloquear | Passa | Parcial | escreva o quadro de execução, a tabela de fim de rodada e o recap de cinco linhas antes de encerrar | 1 |
| sem-ramo-worktree | comando | Claude: PreToolUse (Bash)Codex: PreToolUse (shell) — não ensaiado | worktrees | Nega git worktree add, switch -c, checkout -b, clone e gh repo create. | Bloquear | Bloqueia | Parcial | trabalhe no clone principal, na main; ramo ou worktree só com o dono nomeando o alvo nesta sessão | 1 |
| tarefas-abertura | abrir_sessao | Claude: SessionStartCodex: SessionStart | config/session_tasks | Lista as listas de tarefas abertas para a sessão analisar antes de agir. | Avisar | Passa | Existe | não bloqueia; leia as listas abertas indicadas antes de agir | 1 |
| task-guardiao-prompt | pedido | Claude: UserPromptSubmitCodex: UserPromptSubmit | config/session_tasks | Registra todo prompt na lista vigente, com sha256, e abre lista quando não há. | Observar | Passa | Parcial | não bloqueia; o prompt já entra na lista vigente | 1 |
| telemetria-acao | pos_acao | Claude: PostToolUseCodex: PostToolUse | architecture | Envia ao servidor um evento por ação (ferramenta, decisão, duração), sem conteúdo. | Observar | Passa | Falta | não bloqueia | 1 |
| teste-no-mac | comando | Claude: PreToolUse (Bash)Codex: PreToolUse (shell) — não ensaiado | canonical_deploy | typecheck, build, vitest ou playwright no Mac recebem aviso: teste é do servidor. | Observaralvo: avisar | Passa | Falta | não bloqueia; teste no servidor com npm run deploy -- --so-testes | 1 |
Tela real de /harness renderizada pelo build 5cff1288-20261107161738 (árvore do ensaio 94084ee0, exportada no servidor em 07/11/2026 14:42, sessão sintética só leitura). Aba «PAEL»: código 6f55573a6, já na origin, não publicado; dados reais do banco central medidos às 14:4x: 0 operações, 0 eventos, 17 alvos supervisionados, último tick 17:38Z (tabelas deploy_pael_* criadas pela migration 202611051430, aplicada pela app-75). O estado vazio é o estado real: o runtime do PAEL ainda não registrou operação. Nenhuma alteração visual proposta nesta revisão além da aba nova.