Cópia estática
Copiado de docs/harness/aci-tools.md em https://github.com/poppy-team/prumo (MIT). Fixado na revisão e91694d3959be1ed92757b34063efe0b2191821f, blob 4d65aa634c9311d3235dcd800451667daedd0462. O repositório de origem permanece canônico; esta cópia é atualizada por um pull request de sincronização, não em tempo real.
A interface ACI (Agent-Computer Interface) do Prumo Harness é o conjunto de ferramentas de precisão fornecidas aos agentes durante a execução de diretivas.
Diferente de abordagens ingênuas que fornecem um shell irrestrito ao modelo, o Prumo implementa proteções fundamentais:
| Ferramenta | Identificador | Função |
|---|---|---|
| Execução Segura | execute_process | Dispara binários com timeout, variáveis de ambiente controladas e captura delimitada de logs. |
| Edição Atômica | replace_file_content | Substituição contígua de blocos de texto com validação prévia de correspondência única. |
| Criação de Arquivos | write_to_file | Escrita de artefatos novos com opção de criação automática de diretórios pais. |
| Leitura Delimitada | view_file | Leitura de trechos paginados de código (fatiamento 1-indexed) com bound de bytes. |
| Inspeção de AST | ast_inspect | Busca semântica de funções, structs, interfaces e declarações de tipos. |
| Verificação de Gate | gate_eval | Avaliação de comandos de teste e suítes de conformidade determinísticas. |
No arquivo de configuração do projeto ou perfil (prumo.json), as políticas de execução são declaradas:
{
"harness": {
"sandbox": {
"mode": "restricted",
"allowed_commands": ["go", "git", "cargo", "pnpm", "make"],
"max_timeout_seconds": 60,
"max_output_bytes": 65536,
"deny_network_for_tests": true
}
}
}