// referência · 04

Ferramentas e critérios de saída

O agente age por tools com args validados e try/except — uma tool nunca derruba o loop. Cada uma carrega metadata (categoria · tier · sensibilidade); um teste anti-…

Sensibilidade e tratamento

sensibilidadetratamento
safeexecuta direto (read, list, recall…)
sensitivego/no-go conforme o modo (write, edit, process_write/kill, spawn, browse…)
dangeroussempre passa por aprovação (run_shell, process_start)

Registro de tools

categoriatools
conversarespond (terminal)
arquivoread_file · write_file* · edit_file* · list_dir · find_files
shellrun_shell †
processoprocess_start † · poll · wait · log · list · write* · signal* · kill*
memóriaremember · recall_memory · remember_user
skilluse_skill
subagentespawn*
webbrowse*
mídiagenerate_image
controlefinish_setup · task_complete · task_blocked · need_input

Processos em background

O grupo process_* roda comandos longos sem bloquear o turno, com estado em disco que sobrevive ao restart, PTY interativo (process_write manda stdin), notify_on_complete e watch_patterns. Tudo sob a mesma política de sandbox do run_shell.

Exit criteria

Os critérios que o harness verifica antes de aceitar task_complete (flag -e do okami task, repetível):

params file_exists:<path> critério O arquivo existe no workspace. file_contains:<path>:<texto> critério O arquivo existe E contém o texto. shell_ok:<cmd> critério O comando sai com código 0 (ex.: pytest -q). ui_gate critério O verification gate do contrato de UI passa.

Classificação de aprovação

O classify() dá categoria + risco a uma ação. Ações que disparam go/no-go:

categoriagatilho · risco
identity_fileescrever SOUL/VOICE/PERSONA · high
env_file / secret_fileescrever .env, *.key/.pem, credenciais · high
destructive_shellrm -rf, mkfs, dd para /dev · critical
sudo / publishsudo · npm/pip/cargo publish · high
git_push / network_writegit push · curl -X POST/PUT/DELETE · medium
system_changechmod, docker rm/rmi/system prune · medium

Abrir esta página nos docs interativos