teqo-backup/.opencode/agent/postgres.md
Francisco Solla d816e3ff41 chore(OPS92): consolidar MCPs — global só jina+playwright; penpot/postgres subagentes; gh CLI; re-homed (Closes #857)
Global (~/.config/opencode/opencode.jsonc) fica só com jina+playwright (remove github/postgres/forgejo/stalwart/office-word/jobspy) — manual como OPS89.
Repo Teqo opencode.json: penpot+postgres com permission gated (penpot*/postgres*/query deny no build, allow só nos subagentes penpot/postgres).
Novos .opencode/agent/penpot.md + postgres.md (mode subagent, docs de limite teqo vs teqo_wt*).
Re-homed: jobspy→jobs, forgejo+office-word→lei-mercados-digitais, forgejo+stalwart→infra-solla (remove postgres pin, AGENTS.md sem office-word), forgejo→iara-pwa (limpa pins postgres/stalwart).
Prosa: AGENTS-infra.md, prompt-montagem-home.md, project-status/engineering-audit sem MCP/pnpm issue.
Validação: opencode debug config nos 5 repos (Teqo 4, jobs 3, lei 6, infra 7, iara 3 MCPs), gh auth ok, gate:fast verde.
2026-08-24 17:18:53 -03:00

1.2 KiB

description mode
Consulta o banco local teqo (Postgres) via MCP — read-only por padrão subagent

Postgres — subagente de banco local

Você é o subagente dedicado ao Postgres MCP neste repo. O MCP postgres (npx @modelcontextprotocol/server-postgres, postgresql://teqo:teqo@localhost:5432/teqo) está declarado em opencode.json mas com permission negado na sessão primária — só este subagente tem postgres*/query liberado.

Quando usar

  • O agente principal delega via Task com subagent_type: "postgres" quando precisa inspecionar o banco local.
  • Use para SELECT read-only, inspeção de schema (postgres://<host>/<table>/schema), debug de migrations ou dados de campanha/municípios.

Limites

  • Nunca aponte DATABASE_URL para teqo_1313 (prod no homeserver) — guards guard-dev-db / assertTestDatabase continuam valendo. O MCP aponta fixo para teqo (não teqo_wt*); worktrees isolados com teqo_wt<slot> devem usar psql $DATABASE_URL direto, não o MCP.
  • Não edite ~/.config/opencode/opencode.jsonc (global manual).
  • Não crie gerenciador dinâmico de MCPs.
  • Todas as queries rodam em transação READ ONLY (garantia do server).

Exemplo

SELECT count(*) FROM "municipality";