Files
bi-descomplicar/docs/SPECS/2026-05-16-ecosystem-audit.md
T

107 lines
3.8 KiB
Markdown

---
layer: wiki
type: Document
tags: [projecto, modelo, organizacao, ecosystem]
title: 2026 05 16 Ecosystem Audit
description: >-
Auditoria de ecossistema multi-agente — questionário directo a cada agente, alinhamento de MCPs e skills.
timestamp: 2026-05-16T17:54:53.917476+00:00
---
# Auditoria de Ecossistema — Alinhamento Multi-Agente
**Data:** 2026-05-16
**Método:** Questionário directo a cada agente (dados reais, sem interpretação)
**Agentes auditados:** Gemini CLI, Hermes/Izito, OpenCode
---
## Quadro Consolidado
| | Gemini | Hermes | OpenCode |
|--|--------|--------|----------|
| MEMORY.md lê/escreve | ✅ | ✅ (se existir) | ❌ |
| Cria MEMORY.md se não existe | ❌ | ❌ | ❌ |
| STATUS.md | ❌ | ❌ | ❌ |
| Gitea vs Desk (regras explícitas) | ❌ | ❌ | ❌ |
| Worklog format | ⚠️ HTML | ❌ ausente | ❌ ausente |
| CARL (carl.json) | ✅ path correcto | ⚠️ só MCP | ❌ |
| Regra 48 (dev local) | ❌ | ❌ | ❌ |
| Refs extintas | ✅ limpo | ✅ limpo | ⚠️ dify-kb |
| Credenciais plaintext | — | — | 🔴 resolvido |
---
## Achados por Prioridade
### P1 — Crítico
**1. STATUS.md — ausente em todos os agentes**
Nenhum agente conhece ou tem protocolo para o ficheiro de estado vivo do projecto.
Impacto: cada agente começa sessão sem saber o que o anterior fez.
**2. MEMORY.md — nenhum cria se não existir**
Gemini e Hermes lêem/escrevem se existir. OpenCode não menciona de todo.
Impacto: projectos novos ficam sem memória até alguém criar manualmente.
**3. Gitea vs Desk CRM — sem regras de routing**
Todos os agentes sabem que os sistemas existem mas nenhum tem regras explícitas
sobre o que vai para cada um.
Impacto: duplicação de registos, informação dispersa, dessincronia.
**4. OpenCode sem contexto de ecossistema**
Zero referências a MEMORY.md, CARL, Regra 48, Desk CRM activo.
Impacto: o OpenCode opera isolado do ecossistema.
### P2 — Médio
**5. Worklog divergente**
- Gemini: HTML (`<h4>`, `<ul>`, `<hr>`) — o único com formato diferente
- Hermes: sem template definido
- OpenCode: sem template definido
- Claude: markdown com /worklog — standard do ecossistema
**6. CARL incompleto**
- Gemini: conhece o caminho `/media/ealmeida/Dados/.carl/carl.json` ✅
- Hermes: apenas como nome de MCP, não conhece os domínios
- OpenCode: ausente
**7. Regra 48 ausente em todos**
Nenhum agente sabe que o CT 102 foi extinto em 20-04-2026 e que o
desenvolvimento é local em `/media/ealmeida/Dados/Dev/`.
### P3 — Melhoria
**8. Boas práticas únicas a standardizar**
- Tabela de delegação multi-agente (Hermes SOUL.md) → todos deviam conhecer
- LLM Wiki protocolo 3 passos (Gemini) → standardizar
- Perfil do utilizador PHDA+INFJ (Hermes) → adicionar ao Gemini e OpenCode
- Redução activa de opções (Hermes) → comportamento a standardizar
---
## Segurança — Resolvido em Sessão
| Acção | Estado |
|-------|--------|
| `opencode.json` → 600 | ✅ |
| `~/.claude/settings.json` → 600 | ✅ |
| Credenciais NotebookLM → `~/.opencode-secrets` (600) | ✅ |
| Wrapper `notebooklm-mcp-wrapper.sh` | ✅ |
| `dify-kb` removido do opencode.json | ✅ |
---
## Ficheiros a Criar/Actualizar
| Ficheiro | Acção | Prioridade |
|----------|-------|------------|
| `ECOSYSTEM.md` (Hub) | Criar — fonte de verdade comum | P1 |
| `~/.gemini/GEMINI.md` | Actualizar — STATUS.md, MEMORY.md criar, Gitea/Desk, worklog, Regra 48 | P1 |
| `~/.hermes/AGENTS.md` | Actualizar — STATUS.md, MEMORY.md criar, Gitea/Desk, worklog, CARL domínios, Regra 48 | P1 |
| `~/.config/opencode/AGENTS.md` | Actualizar — tudo: MEMORY.md, STATUS.md, Gitea/Desk, CARL, Regra 48, sistema triangular | P1 |
| `~/.claude/CLAUDE.md` | Actualizar — adicionar STATUS.md ao protocolo de sessão | P2 |
---
**Próximo passo:** implementar alinhamento — writing-plans