O histórico do agente guarda metadados sempre e o prompt só com opt-in

[!NOTE] Resumo Executivo (DEV-2026-058): Cada execução grava quem rodou, qual agente e o status. O texto do prompt e da saída só entra no SQLite se o pedido pedir e a retenção for maior que zero.


🚨 O Desafio Técnico / Contexto

O console precisava de histórico sem arquivar prompt por padrão. Upload em base64 também não podia ir parar na mesma tabela.


💡 Principais Lições Aprendidas & Descobertas

  • 💡 history.record grava a linha sempre. prompt e output só são preenchidos se store for verdadeiro e retention_days for maior que zero.
  • 💡 _wants_store_body aceita o header x-agents-store-body ou a query store_body com 1, true, yes ou on.
  • 💡 AGENTS_HISTORY_BODY_DAYS vale 30 se não vier número. O valor fica entre 0 e 365. expire_bodies zera prompt e output vencidos.
  • 💡 sanitize_params descarta as chaves file_bytes, arquivo_b64 e arquivo. O log de acesso não grava query nem body.

🛠️ Especificação Técnica & Código-Chave

# Sem o header, prompt e output ficam NULL.
# X-Agents-Store-Body: 1  → grava, até AGENTS_HISTORY_BODY_DAYS

📈 Impacto no Ecossistema & Valor Prático

Rodar um agente passou a deixar rastro operacional sem guardar o texto do pedido por padrão.

  • Projetos Relacionados: _agents
  • Registro de Origem: _data/daily.dev-05.yml

Publicado originalmente como parte do Diário de Desenvolvimento 2026 do ecossistema Artes do Sul & Araguaci.