DEC-006 — Portabilidade: sem dependência de um fornecedor de IA

Contexto

Luiz quer usar a lógica do V360 em vários lugares, sem ficar preso ao Claude ou a outra IA específica. Isso vale em duas camadas: ferramentas de desenvolvimento e IA dentro do produto.

Decisão

1. Conhecimento em arquivos abertos

  • Toda a lógica (produto, decisões, requisitos, prompts) vive em Markdown puro no vault e em docs/ e prompts/ no repositório.
  • Nenhuma regra fica só dentro de uma conversa ou ferramenta.

2. Instruções para agentes de código: AGENTS.md

  • O arquivo oficial de regras é o AGENTS.md (padrão aberto, lido por Codex, Cursor, GitHub Copilot e outros).
  • CLAUDE.md e GEMINI.md só importam o AGENTS.md (@AGENTS.md). Uma única fonte, várias ferramentas.
  • A fonte é o próprio AGENTS.md na raiz do projeto (sem cópias).

3. IA dentro do V360

  • O código do produto chama IA somente por um módulo próprio (src/lib/ai/), nunca direto pelo SDK de um fornecedor.
  • Implementação recomendada: Vercel AI SDK (ai), que troca entre Anthropic, OpenAI, Google e outros mudando configuração.
  • Fornecedor e modelo definidos por variável de ambiente (AI_PROVIDER, AI_MODEL). Padrão: Anthropic.
  • Prompts do produto ficam em arquivos versionados (prompts/app/), nunca espalhados no código.
  • Cada sugestão salva registra modelo e prompt_versao (já previsto no Modelo de Dados).

Consequências

  • Altera a linha “IA” da DEC-005 Formalização da Stack.
  • Trocar de fornecedor = mudar variável de ambiente e testar, sem reescrever telas.
  • Recursos exclusivos de um fornecedor só podem ser usados com fallback e registro em nova DEC.
  • Ajusta a linha “IA” da DEC-001 Stack Tecnológica: Anthropic é o padrão, não uma dependência.

Status

aceita.