2.1 KiB
Regras do Sistema de Sugestão
Estado atual
O DayMaker não usa atualmente um motor de regras local como fonte principal de recomendações.
A sugestão é gerada pela IA através de AiRecommendationService, usando o inventário real do utilizador como contexto.
Regras ativas
R1 — Usar apenas inventário do utilizador
A IA recebe apenas itens do utilizador autenticado.
items.user_id == currentUser.id
R2 — Contexto textual dos itens
Cada item é enviado com:
- nome
- categoria
- tags
- nota/notes, quando disponível
R3 — Modo silencioso para sugestões
Quando a sugestão vem da Home, o serviço usa silent: true e instrui a IA a responder apenas com nomes exatos dos itens.
R4 — Correspondência com itens reais
A app cruza as linhas devolvidas pela IA com os nomes dos itens carregados do Supabase.
Apenas itens correspondidos são mostrados com imagem e podem ser exportados.
R5 — Exportação para semana
Ao exportar:
- A app cria ou encontra um registo em
planspara o dia escolhido. - Insere relações em
plan_items. - Evita duplicados já existentes no plano.
Limitações atuais
- A IA pode devolver nomes com pequenas diferenças.
- O matching é textual e pode falhar se o nome não coincidir.
- Não existe ranking local por categoria, clima ou duração.
- Não existe checklist de itens preparados.
Regras futuras recomendadas
RF1 — Resposta estruturada
Pedir à IA JSON com identificadores ou nomes normalizados.
RF2 — Score local
Calcular pontuação por:
- categoria
- tags
- ocasião
- histórico do utilizador
- clima
RF3 — Checklist
Guardar estado de cada item planeado:
- planeado
- preparado
- levado
RF4 — Clima
Ajustar sugestões quando houver dados meteorológicos.
Notas para manutenção
- Não mudar o comportamento do modo
silentsem atualizar05_RECOMMENDATION_ENGINE.md. - Se a app passar a usar IDs na resposta da IA, atualizar este ficheiro e o serviço.
- Manter a exportação compatível com
planseplan_items.