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/eprompts/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.mdeGEMINI.mdsó importam oAGENTS.md(@AGENTS.md). Uma única fonte, várias ferramentas.- A fonte é o próprio
AGENTS.mdna 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
modeloeprompt_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.