Hermes Ct2 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Hermes Ct2 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Servidor API REST que centraliza o workflow de equipes multi-agente. Funciona como plugin nativo do Hermes Dashboard, substituindo planilhas e arquivos soltos por um sistema integrado de projetos, tasks, auditorias e scorecards.
| Funcionalidade | Descrição |
|---|---|
| 📋 Tasks Detalhadas | Tasks agrupadas por dia com colunas: #, Título, Status, Agente, Motor, Exec (✅/⬜), Audit (👁/⬜), Commit, Conclusão |
| 📄 Página de Detalhe | Ao clicar em qualquer task, abre página HTML com markdown completo + metadados + auditorias |
| 🔍 Auditorias nas Tasks | Cada task mostra suas auditorias na própria página de detalhe (seção 🔍 Auditorias). Aba de Auditorias removida — tudo fica na task |
| 📊 Scorecards | Métricas por agente: first-pass rate, rework, scope creep, taxa de aprovação |
| 🏢 Multi-projeto | Suporte a múltiplos projetos simultâneos (oeste-gestao, control-tower-v2, agent-ops-workflow) |
| 🔄 Scanner | Lê PLANO.md + task_XX.md do planejamento diário → SQLite |
| 📡 Event Hooks | Recebe on_session_start / on_session_end dos gateways |
| 🌐 GitHub Webhooks | Sincroniza commits com tasks |
| 📡 API REST | CRUD completo de projetos, tasks, auditorias, scorecards |
git clone https://github.com/rafael-fae/hermes-ct2.git ~/Dev/hermes-ct2
cd ~/Dev/hermes-ct2uv sync
# ou: pip install -e .python3 ct2.py serve --port 7890
# Via PM2 (produção)
pm2 start "python3 ct2.py serve --port 7890" --name ct2-server --cwd ~/Dev/hermes-ct2
pm2 saveVerificar: curl http://localhost:7890/api/health → {"status":"ok"}
O plugin CT2 já vem integrado no Hermes Agent (plugins/ct2/dashboard/). Não requer instalação adicional. Basta o servidor CT2 estar rodando na porta 7890.
Arquivos do plugin:
dashboard/manifest.json — registro do plugin no Dashboarddashboard/plugin_api.py — proxy FastAPI das rotas do CT2 (/api/plugins/ct2/*)dashboard/dist/index.js — frontend React (tasks, projetos, scorecards)dashboard/dist/style.css — tema escuro (DS Teal)pm2 restart hermes-dashboardA aba Tasks mostra todas as tasks agrupadas por dia (expansível), com colunas detalhadas:
| Coluna | Descrição |
|---|---|
| # | Número da task (ex: 103) |
| Título | Descrição da task (truncado em 55 chars) |
| Status | Todo / Done / Blocked |
| Agente | Quem executou |
| Motor | Modelo LLM utilizado |
| Exec | ✅ (executada) / ⬜ (pendente) |
| Audit | 👁 (auditada) / ⬜ (pendente) |
| Commit | Hash do commit (7 chars) |
| Conclusão | Data formatada: DD-MM-AAAA - HH:MM |
Ordenação: tasks em ordem decrescente por número (mais recentes primeiro).
Ao clicar em qualquer task, abre uma página HTML completa contendo:
task_XX.md com formatação preservadaURL: /tasks/<projeto>/<task_number> (ex: /tasks/oeste-gestao/102)
Proxy via Dashboard: /api/plugins/ct2/tasks/<projeto>/<task_number>
As auditorias ficam na própria página de detalhe da task — não há aba separada de Auditorias.
Regras para preenchimento correto:
status_execucao=✅) DEVE ter uma auditoriatask_XX.md + registra no banco CT2status_auditoria vira 👁 automaticamente ao registrar auditoriaaudit_hash) é gerado a partir dos dados da task + vereditoMétricas por agente: total de tasks, first-pass rate, rework, scope creep, taxa de aprovação.
Endpoint: GET /api/scorecards?days=30&agent=Jasnah
python3 ct2.py scan # Todos os projetos
python3 ct2.py scan --project <slug> # Projeto específicoGET /api/projects # Listar projetos
GET /api/projects/<slug>/tasks?status=done # Tasks do projeto (filtro por status)
GET /api/projects/<slug>/tasks?limit=200 # Tasks com limite
GET /api/projects/<slug>/sprints # Sprints
GET /api/projects/<slug>/auditorias # Auditorias (JSON)
GET /api/projects/<slug>/<id>/tasks/md # Conteúdo markdown da task (JSON)
GET /api/scorecards?days=30 # Scorecards
GET /api/health # Health check
# Páginas HTML
GET /tasks/<slug>/<task_number> # Página de detalhe da task
GET /auditorias/<id> # Página de detalhe da auditoriact2.py scan # Scan de projetos
ct2.py serve --port 7890 # Servidor API
ct2.py project list # Listar projetos
ct2.py task start <proj> <id> # Iniciar task
ct2.py task done <proj> <id> --hash <sha> # Concluir task
ct2.py task audit <proj> <id> --veredito <aprovado|rejeitado> # Auditar
ct2.py briefing <proj> # Briefing do projetoTodas as datas de conclusão seguem o padrão `DD-MM-AAAA - HH:MM` (minutos sempre com 2 dígitos, zero-padded).
Exemplos: 25-06-2026 - 14:05, 17-06-2026 - 08:30
Tasks sem conteúdo ao clicar:
.md não existe na pasta planejamento-diario/<data>/ct2.py scan para detectarAuditorias não aparecem nas tasks:
ct2.py task audit <proj> <id> --veredito aprovado --hash <sha>Dashboard não carrega:
curl localhost:7890/api/healthpm2 restart hermes-dashboardMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.