Jobs | Rotinas Autônomas do Axios
Definições declarativas das rotinas que o Axios executa automaticamente. Cada job tem: gatilho, input, processo, output, comunicação Slack, guardrails, memória. Nível de autonomia atual: full com auditoria diária (MEMORY-CONTRACT §3.1, atualizado 2026-04-22).
Como cada job é estruturado
Cada rotina vive em agentes-core/axios/jobs/<nome-job>.md (definição que o Axios lê como prompt) + <nome-job>.py (executor Python rodado pelo cron).
Arquivos auxiliares em jobs/lib/:
vault.py— leitura do vault (paths, frontmatter, arquivos modificados)slack.py— cliente Slack (post, DM, thread, reactions)llm.py— chamada ao modelo (Claude API) com system prompt + contextmemory.py— gravação de sessões e feedback emmemory/sessions/ememory/feedback/
Jobs ativos
| Job | Gatilho | Arquivo de definição | Ação |
|---|---|---|---|
| daily-brief | Cron diário 08:00 BRT | jobs/daily-brief.md | Posta brief matinal no canal #projeto-colliers-costal |
| task-reminders | Cron diário 09:00 + 17:00 BRT | jobs/task-reminders.md | DM Slack para owners com tarefas vencendo ou vencidas |
| meeting-signals | Cron 15min (file-watch em **/meetings/) | jobs/meeting-signals.md | Detecta ata nova, promove sinais, avisa Slack |
| weekly-consolidation | Cron sex 13:30 BRT | jobs/weekly-consolidation.md | Refresh outputs semanais + governance audit |
Contrato de job — seções obrigatórias no .md
Todo job segue este template (serve como prompt que Axios carrega ao executar):
---
title: Job — <nome-job>
updated: YYYY-MM-DD
audience: axios
trigger: cron YYYY-MM-DD HH:MM TZ | file-watch <glob> | manual
---
# Job | <nome-job>
## 1. Propósito
Uma frase. Se não cabe em uma frase, o job é amplo demais — quebrar.
## 2. Gatilho
- Cron: linha exata do crontab
- Janela operacional: horários permitidos
- Skip conditions: quando não rodar (ex: feriado, falha upstream)
## 3. Input (leitura)
- Arquivos do vault lidos (com paths)
- APIs acessadas (Slack, Calendar, etc.)
- Janela temporal considerada (ex: "últimas 24h")
## 4. Processo (para Axios executar)
Passos numerados que o Axios segue. Este texto é o prompt efetivo.
## 5. Output (escrita)
- Arquivos do vault que podem ser escritos (escopo)
- Mensagens Slack (canal, formato)
- Registro de sessão em memory/
## 6. Guardrails específicos
Além dos guardrails gerais (MEMORY-CONTRACT §3.1 + security-guardrails):
- O que NÃO fazer neste job específico
- Quando escalar para Pedro
- Limites de volume (ex: não mandar mais que X DMs por run)
## 7. Critério de sucesso
Sinais de execução boa:
- Output X foi gerado
- Slack recebeu mensagem Y
- Memory/sessions gravou registro
## 8. Falha e retry
- O que fazer se falha parcial
- Retry automático: sim/não
- Notificação a Pedro em caso de falha crítica
## 9. Memória
- Onde gravar o snapshot da execução (memory/sessions/YYYY-MM-DD_<job>.md)
- O que gravar: inputs, decisões tomadas, outputs, tempo, errosConvenções
Idempotência
Todo job deve ser seguro para re-executar. Se rodar 2× seguidas não pode criar 2 posts Slack nem duplicar entradas canônicas. Estratégias:
- Checagem por ID/hash antes de inserir (ex: decisão com mesmo título+data já existe? ignorar)
- Dedup por
memory/sessions/YYYY-MM-DD_<job>.md(se existe, não rodar de novo no mesmo dia)
Timezone
Todo horário em America/Sao_Paulo (BRT). Cron no VPS respeita TZ do sistema (garantir TZ=America/Sao_Paulo no ambiente).
Nomenclatura Slack
- Canal principal do projeto:
#projeto-colliers-costal(placeholder — ajustar ao canal real) - Bot user:
@axios - Threads: briefings longos vão em thread a partir da mensagem de anúncio
Logging estruturado
Cada execução grava em memory/sessions/YYYY-MM-DD_<job>.md com:
- Timestamp início/fim
- Inputs lidos (paths + hashes)
- Decisões tomadas (tipo fato/hipótese/premissa/gap quando aplicável)
- Outputs gerados (paths + mensagens Slack)
- Erros/avisos
- Feedback humano recebido (se houver)
Autonomia e auditoria
O Axios opera em modo full autônomo com auditoria diária desde 2026-04-22.
-
Pode executar diretamente (sem aprovação por item):
- Atualizar seus próprios outputs (
agentes-core/axios/outputs/*) - Postar no Slack (briefs, reminders, alertas)
- Propor entradas em camadas canônicas (com
status: propostono frontmatter, esperando aprovação do Pedro via reação Slack) - Abrir gaps/dependências com metadata
created-by: axios - Rodar o linter e reportar violações
- Atualizar seus próprios outputs (
-
NÃO pode executar sem autorização explícita por item:
- Fechar decisão, risco, gap ou dependência canônica (move para histórico)
- Renomear ou apagar arquivos
- Publicar conteúdo em wikis externas (client/board)
- Enviar mensagens fora do canal
#projeto-colliers-costale DMs aos owners listados em06-directory/pessoas/ - Escalar incidente diretamente ao cliente (Igor, Marcos) sem Pedro ciente
-
Auditoria diária:
governance-auditroda comweekly-consolidation. Pedro revisa nas segundas. Erros materiais → correção pelo Axios + entrada em decisoes.
Instalação no VPS
Ver jobs/crontab.txt para linhas prontas para crontab -e no VPS.
Variáveis de ambiente esperadas (em .env no home do usuário Axios):
VAULT_PATH=/home/axios/Colliers_Projeto
SLACK_BOT_TOKEN=xoxb-...
SLACK_CHANNEL_MAIN=C0123456789
SLACK_APP_TOKEN=xapp-...
ANTHROPIC_API_KEY=sk-ant-...
AXIOS_MODEL=claude-opus-4-6
TZ=America/Sao_PauloVer também
- Axios — Chief of Staff digital
- System prompt
- Operating model
- Security guardrails
- Integração Slack
- Handoff — briefing geral
- MEMORY-CONTRACT §3.1 (matriz de permissões)