feat(gestao): remover LightRAG das skills de knowledge — Fase 1 RAG-System

- knowledge/SKILL.md v2.2.0: Família A passa a 4 fontes (Supabase, CC memory, Hub, Desk CRM)
- hub-search/SKILL.md v1.1.0: RAG Trinity actualizada (2 layers)
- research-pipeline/SKILL.md v1.1.0: Layer 3 LightRAG removida
- deep-research/SKILL.md v1.1.0: Layer 3 passa a Web apenas

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-13 18:21:45 +01:00
parent dada9ef7db
commit b3cb108ca7
4 changed files with 36 additions and 94 deletions
+10 -36
View File
@@ -1,11 +1,12 @@
---
name: knowledge
description: Router de conhecimento Família A/B. Família A (operacional interna) consultada em paralelo para qualquer pergunta sobre processos, projectos, decisões, histórico. Família B (NotebookLM externa) só para conhecimento conceptual/teórico. v2.1.1
description: Router de conhecimento Família A/B. Família A (operacional interna) consultada em paralelo para qualquer pergunta sobre processos, projectos, decisões, histórico. Família B (NotebookLM externa) só para conhecimento conceptual/teórico. v2.2.0
---
# /knowledge — Router Família A/B v2.1.1
# /knowledge — Router Família A/B v2.2.0
> **Correcção arquitectural 08-04-2026:** a v2.0.0 tratava NotebookLM como fonte primária. Isso estava errado — NotebookLM não vê operações, não vê estado real, só tem ebooks e transcripts. Em `~/.claude/projects/-media-ealmeida-Dados-Hub/memory/feedback_knowledge-router-arquitectura.md` está o racional completo.
> **v2.2.0 (13-04-2026):** LightRAG removido da Família A — serviço com 0 documentos desactivado. Família A passa a 4 fontes: Supabase, CC memory, Hub, Desk CRM.
## Princípio de routing
@@ -19,9 +20,8 @@ description: Router de conhecimento Família A/B. Família A (operacional intern
| Fonte | Tool | Conteúdo |
|-------|------|----------|
| **LightRAG** | `mcp__lightrag__query_document` (modo `hybrid`) | Knowledge graph interno. **LightRAG-HKU 1.4.13** completo — REST API + WebUI em `rag.descomplicar.pt` + PG storage (workspace `default`) + AGE graph extension. **17 tools MCP disponíveis** (ver lista abaixo). 331 docs no Postgres (135 processed + 194 pending + 2 processing + 6 failed). |
| **memory-supabase** | `mcp__memory-supabase__search_memories(query, threshold=0.7, limit=10)` | Memórias persistentes cross-sessão com embeddings. Decisões, contexto, lacunas anteriores. |
| **Memória CC cross-projecto** | `Grep` recursivo em `~/.claude/projects/*/memory/*.md` | **101 ficheiros em 34 projectos (~261kB).** Harness só carrega automaticamente a memória do `cwd` — este grep é **obrigatório** para não perder contexto de outros projectos. |
| **Memória CC cross-projecto** | `Grep` recursivo em `~/.claude/projects/*/memory/*.md` | **110 ficheiros em 34 projectos.** Harness só carrega automaticamente a memória do `cwd` — este grep é **obrigatório** para não perder contexto de outros projectos. |
| **Obsidian / Hub** | `Grep` em `/media/ealmeida/Dados/Hub/**/*.md` | PROCs, QRs, INDEX, frontmatter, procedimentos, histórico. |
| **Desk CRM** | `mcp__desk-crm-v3__*` (tasks, projects, tickets, customers) | Fonte de verdade operacional: tarefas, projectos, clientes, tickets, horas. |
@@ -30,7 +30,6 @@ description: Router de conhecimento Família A/B. Família A (operacional intern
```
1. Classificar pergunta como operacional (default para queries internas)
2. Disparar em PARALELO (mesma mensagem, vários tool calls):
- mcp__lightrag__query_document(query, mode="hybrid")
- mcp__memory-supabase__search_memories(query, threshold=0.65, limit=8) [graceful se MCP indisponível]
- Grep ~/.claude/projects/*/memory/*.md
- Grep Hub/**/*.md (limitar a pastas relevantes quando possível)
@@ -39,29 +38,6 @@ description: Router de conhecimento Família A/B. Família A (operacional intern
4. Se Família A insuficiente → perguntar ao utilizador ou escalar para Família B
```
### 17 tools MCP LightRAG-HKU disponíveis
**Consulta / leitura:**
- `query_document(query, mode)` — RAG query. **Principal para router.** Modos: `naive`, `local`, `global`, `hybrid`, `mix` (default: `hybrid`).
- `get_documents()` — lista docs com status (processed/pending/processing/failed) e metadata.
- `get_pipeline_status()` — estado do pipeline de ingestão (busy, job, batchs).
- `get_graph_labels()` — entity types no knowledge graph.
- `check_lightrag_health()` — health check do server.
**Ingestão:**
- `insert_document(text)` — insere texto único, extrai entidades + relações.
- `insert_batch(texts[])` — batch de textos.
- `insert_file(path)` — insere ficheiro local.
- `upload_document(file)` — upload binário.
- `scan_for_new_documents()` — trigger scan do `INPUT_DIR` (`/root/mcp-lightrag/inbox/`).
**Edição de grafo:**
- `create_entities`, `edit_entities`, `delete_by_entities`, `merge_entities`
- `create_relations`, `edit_relations`
- `delete_by_doc_ids` — remove doc + entidades órfãs.
**UI web:** `https://rag.descomplicar.pt/webui/` com autenticação (`AUTH_ACCOUNTS` no `.env` do gateway).
**Nota sobre graceful fallback:** as tools `mcp__*` podem estar indisponíveis em sessões específicas por razões de auto-discovery do harness. Se a chamada falhar com "No such tool available", continuar o paralelismo com as outras fontes e reportar a lacuna no output final.
### Formato de resposta Família A
@@ -69,7 +45,6 @@ description: Router de conhecimento Família A/B. Família A (operacional intern
```markdown
## [pergunta]
**LightRAG:** [excerto] _(entidade X, score Y)_
**memory-supabase:** [excerto] _(id N, tags)_
**memory/<projecto>:** [excerto] _(ficheiro)_
**Hub:** [excerto] _(caminho:linha)_
@@ -217,7 +192,7 @@ Usar estes sinais para decidir Família A vs B:
|---------|-----|
| `/knowledge [pergunta]` | Router automático A/B com paralelismo |
| `/kb [pergunta]` | Alias curto |
| `/kb-save [conteúdo]` | Guardar na fonte adequada (LightRAG se operacional, Supabase se decisão, NotebookLM source_add se externo) |
| `/kb-save [conteúdo]` | Guardar na fonte adequada (Supabase se decisão/solução, Hub se processual, NotebookLM source_add se externo) |
| `/kb-gaps` | Listar lacunas detectadas em `memory-supabase` |
---
@@ -228,8 +203,7 @@ Router inverso por tipo:
| Tipo | Destino | Tool |
|---|---|---|
| Decisão / contexto / lacuna | memory-supabase | `mcp__memory-supabase__save_memory` com tags |
| Entidade / relação / doc interno | LightRAG | `mcp__lightrag__insert_document(text)` ou `insert_batch(texts)` |
| Decisão / contexto / solução técnica | memory-supabase | `mcp__memory-supabase__save_memory` com tags |
| Procedimento operacional | Hub/06-Operacoes/Procedimentos/ | `Write` PROC-*.md |
| Conhecimento externo | NotebookLM notebook adequado | `mcp__notebooklm-mcp__source_add` |
@@ -247,7 +221,7 @@ mcp__memory-supabase__save_memory({
});
```
Depois sugerir acção: criar PROC, adicionar ao LightRAG, adicionar fonte ao notebook adequado.
Depois sugerir acção: criar PROC, guardar no Supabase, adicionar fonte ao notebook NotebookLM adequado.
---
@@ -259,7 +233,7 @@ Depois sugerir acção: criar PROC, adicionar ao LightRAG, adicionar fonte ao no
4. **Nunca responder sem citar fonte.** Se 0 hits, dizer explicitamente.
5. **Max 3 notebooks** por query Família B.
6. **PT-PT sempre** na consolidação.
7. **Se a pergunta é sobre estado presente** (tarefas abertas, tickets, horas, facturas), ir **directo ao Desk CRM**, não a LightRAG/NotebookLM.
7. **Se a pergunta é sobre estado presente** (tarefas abertas, tickets, horas, facturas), ir **directo ao Desk CRM**, não a NotebookLM.
---
@@ -279,7 +253,6 @@ Depois sugerir acção: criar PROC, adicionar ao LightRAG, adicionar fonte ao no
- `references/routing-guide.md` — mapeamento detalhado de routing (pendente v2.1 — actualizar)
- `~/.claude/projects/-media-ealmeida-Dados-Hub/memory/feedback_knowledge-router-arquitectura.md` — decisão arquitectural
- `~/.claude/projects/-media-ealmeida-Dados-Hub/memory/notebooklm-inventory.md` — inventário completo 65 notebooks
- `04-Stack/CHANGELOG.md` sessão 3 de 08-04-2026 — recuperação LightRAG e clarificação tools reais
---
@@ -288,10 +261,11 @@ Depois sugerir acção: criar PROC, adicionar ao LightRAG, adicionar fonte ao no
```jsonl
{"date":"2026-04-08","issue":"v2.0.0 tratava NotebookLM como fonte primaria para tudo","fix":"v2.1.0 router Familia A/B — NotebookLM so para externo","source":"user"}
{"date":"2026-04-08","issue":"v2.1.0 assumia FastMCP file-based (11 tools lightrag_*) apos migracao temporaria da outra sessao","fix":"v2.1.1 restaurado para LightRAG-HKU completo com 17 tools originais (query_document, insert_document, get_pipeline_status, etc), UI em rag.descomplicar.pt, PG storage 331 docs","source":"user"}
{"date":"2026-04-13","issue":"LightRAG com 0 documentos — servico sem utilidade a consumir recursos","fix":"v2.2.0 removido LightRAG da Familia A — 4 fontes restantes: Supabase, CC memory, Hub, Desk CRM","source":"user"}
{"date":"2026-04-08","issue":"memoria Claude Code fragmentada em ~/.claude/projects/*/memory/ (101 ficheiros, 34 projectos)","fix":"grep cross-projecto obrigatorio no router Familia A","source":"user"}
{"date":"2026-04-08","issue":"mcp__memory-supabase__search_memories pode estar indisponivel no harness","fix":"graceful fallback no router — continuar paralelismo com outras fontes e reportar lacuna","source":"auto"}
```
---
**v2.1.1** | 08-04-2026 | LightRAG-HKU restaurado com 17 tools reais, UI rag.descomplicar.pt, PG storage 331 docs, graceful fallback para MCPs indisponíveis
**v2.2.0** | 13-04-2026 | LightRAG removido (0 docs, serviço desactivado). Família A: 4 fontes — Supabase, CC memory, Hub, Desk CRM