Files
dayMaker_lp/documentação/RULE_ENGINE.md
Carlos Correia fee538eebd MVP
2026-05-29 11:03:29 +01:00

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:

  1. A app cria ou encontra um registo em plans para o dia escolhido.
  2. Insere relações em plan_items.
  3. 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 silent sem atualizar 05_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 plans e plan_items.