harness-pael-arquiteturaSessão: superadmin-1aApp: superadminVersão 1.3 · ff48b3cd3c3aAguardando decisão do donoPara aceitar, reprovar ou treinar, abra uma vez o link do dono neste navegador.

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 Code
    26%
    9 de 35 ativos no inventárioGatilhos: PreCompact, PreToolUse, SessionStart, Stop, UserPromptSubmit
  • Codex
    —
    0 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
    Os disparos dos hooks não chegam ao banco central; contagem por hook não medida.
HookO que fazDetalhesLigado
Consumo — compactarRegistra quando a conversa é compactada.ligado
AutorizaçãoImpede mexer em arquivo fora da lista do pedido.ligado
Consumo — abrir sessãoRegistra o início da sessão na máquina de consumo.ligado
Lista de tarefas — abrir sessãoFecha a lista que a sessão anterior deixou aberta.ligado
Consumo — fim da respostaRegistra o tamanho da conversa ao terminar.ligado
Resumo finalConfere as cinco linhas do resumo ao terminar a resposta.ligado
Consumo — a cada pedidoMede a conversa e bloqueia quando é hora de limpar.ligado
Lista de tarefas — registrar pedidoGrava 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-donoeditarClaude: PreToolUse (Edit|Write|MultiEdit|NotebookEdit)Codex: PreToolUse (apply_patch) — não ensaiadoconfig/session_tasksEscrita só em caminho do Escopo da lista vigente, ligado a P<n> do dono.BloquearBloqueiaExisteacrescente o caminho em «## Escopo (caminhos)» da lista vigente, numa tarefa que cite o P<n> do dono1
autorizacao-shellcomandoClaude: PreToolUse (Bash)Codex: PreToolUse (shell) — não ensaiadoconfig/session_tasksEscrita pelo shell só em caminho do Escopo; comando não medido é negado.BloquearBloqueiaExisteuse caminho literal que esteja no Escopo da lista vigente, sem substituição de comando nem variável de fora do comando1
batimento-maquinaabrir_sessaoClaude: SessionStartCodex: SessionStartarchitectureEnvia máquina, agente, versão do repassador e regras ativas, para o superadmin saber que a máquina tem os hooks.ObservarPassaFaltanão bloqueia; se a máquina aparecer «ausente», rode no terminal o prompt de instalação mostrado em /harness?tab=hooks1
checkpoint-consumocompactarClaude: PreCompactCodex: PreCompact (1 ocorrência no binário; não ensaiado)config/consumption_governanceGrava checkpoint antes de compactar.ObservarPassaExistenão bloqueia1
checkpoint-tarefascompactarClaude: PreCompactCodex: PreCompact (1 ocorrência no binário; não ensaiado)task_traceabilityGrava o foco da sessão (lista vigente, tarefa aberta) para a retomada não perder o fio.ObservarPassaFaltanão bloqueia1
claim-alheiaeditarClaude: PreToolUse (Edit|Write|MultiEdit|NotebookEdit)Codex: PreToolUse (apply_patch) — não ensaiadotask_traceabilityEdição em caminho reivindicado por outra frente em .agent-claims.json recebe aviso.Observaralvo: avisarPassaFaltanão bloqueia; peça à sessão dona ou registre a sua claim só nas linhas que vai tocar1
consumo-aberturaabrir_sessaoClaude: SessionStartCodex: SessionStartconfig/consumption_governanceLê o estado da máquina de consumo e lembra o recap C-11.AvisarPassaExistenão bloqueia; abra a resposta pelo recap C-111
consumo-fimfim_respostaClaude: StopCodex: Stopconfig/consumption_governanceAtualiza a máquina de consumo e o checkpoint ao fim da resposta.ObservarPassaExistenão bloqueia1
consumo-pedidopedidoClaude: UserPromptSubmitCodex: UserPromptSubmitconfig/consumption_governanceEm LIMPEZA_OBRIGATORIA bloqueia o prompt e manda abrir nova sessão.BloquearPassaExistegrave o checkpoint (maquina.py checkpoint gravar) e abra nova sessão: /clear no Claude, /new no Codex1
contagem-tokenspedidoClaude: UserPromptSubmitCodex: UserPromptSubmitconfig/consumption_governanceConta tokens por sessão e máquina e envia ao servidor.ObservarPassaParcialnão bloqueia1
deploy-gatesdeployClaude: PreToolUse (Bash: npm run deploy, git push)Codex: PreToolUse (shell) — não ensaiadoglobal_modulesCommit, push e deploy com gate:modulos-aprovados vermelho são negados.Observaralvo: bloquearBloqueiaFaltadeixe npm run gate:modulos-aprovados verde antes de commit, push ou deploy1
deploy-ordem-expressadeployClaude: PreToolUse (Bash: npm run deploy, git push)Codex: PreToolUse (shell) — não ensaiadocanonical_deploynpm run deploy sem --so-testes e git push só com ordem expressa do dono registrada na lista vigente (§13).Observaralvo: bloquearBloqueiaFaltause npm run deploy -- --so-testes ou peça ao dono a ordem expressa nesta sessão1
design-systemeditarClaude: PreToolUse (Edit|Write|MultiEdit|NotebookEdit)Codex: PreToolUse (apply_patch) — não ensaiadoconfig/design_systemEdição de tela fora do design-system (hex fora de tokens, porta paralela, dialog fora do DS) recebe aviso.Observaralvo: avisarPassaFaltanão bloqueia; use os tokens e componentes do design-system1
frente-declaradaabrir_sessaoClaude: SessionStartCodex: SessionStarttask_traceabilityExige frente declarada (CLAUDE_FRENTE) e claim antes da primeira edição.Observaralvo: avisarPassaFaltaexport CLAUDE_FRENTE=claude:<frente> e registre a claim em .agent-claims.json antes da primeira edição1
modulos-aprovadoseditarClaude: PreToolUse (Edit|Write|MultiEdit|NotebookEdit)Codex: PreToolUse (apply_patch) — não ensaiadoglobal_modulesNega edição que retire módulo aprovado de modules/catalog.json.Observaralvo: bloquearBloqueiaFaltamantenha o módulo no catálogo ou registre a remoção em remocoes_autorizadas, com ordem_do_dono, em catalog.aprovados.json1
mudanca-de-contextopedidoClaude: UserPromptSubmitCodex: UserPromptSubmittask_traceabilityCompara o prompt novo com o escopo da lista vigente; assunto fora do escopo gera alerta de mudança de contexto.Observaralvo: avisarPassaFaltanão bloqueia; decida se o assunto novo cabe no escopo vigente ou pede lista nova1
quadro-e-recapfim_respostaClaude: StopCodex: Stopconfig/session_tasksResposta que declara entrega precisa de quadro, tabela de fim de rodada e recap; uma correção só (stop_hook_active).BloquearPassaParcialescreva o quadro de execução, a tabela de fim de rodada e o recap de cinco linhas antes de encerrar1
sem-ramo-worktreecomandoClaude: PreToolUse (Bash)Codex: PreToolUse (shell) — não ensaiadoworktreesNega git worktree add, switch -c, checkout -b, clone e gh repo create.BloquearBloqueiaParcialtrabalhe no clone principal, na main; ramo ou worktree só com o dono nomeando o alvo nesta sessão1
tarefas-aberturaabrir_sessaoClaude: SessionStartCodex: SessionStartconfig/session_tasksLista as listas de tarefas abertas para a sessão analisar antes de agir.AvisarPassaExistenão bloqueia; leia as listas abertas indicadas antes de agir1
task-guardiao-promptpedidoClaude: UserPromptSubmitCodex: UserPromptSubmitconfig/session_tasksRegistra todo prompt na lista vigente, com sha256, e abre lista quando não há.ObservarPassaParcialnão bloqueia; o prompt já entra na lista vigente1
telemetria-acaopos_acaoClaude: PostToolUseCodex: PostToolUsearchitectureEnvia ao servidor um evento por ação (ferramenta, decisão, duração), sem conteúdo.ObservarPassaFaltanão bloqueia1
teste-no-maccomandoClaude: PreToolUse (Bash)Codex: PreToolUse (shell) — não ensaiadocanonical_deploytypecheck, build, vitest ou playwright no Mac recebem aviso: teste é do servidor.Observaralvo: avisarPassaFaltanão bloqueia; teste no servidor com npm run deploy -- --so-testes1

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.