This commit is contained in:
Luiz Silva 2026-08-10 20:32:54 -03:00
parent 573cfe4742
commit b04caf382c

View file

@ -0,0 +1,39 @@
# Registro de Otimizações da Sessão — Aprimoramento da IA
**Data:** 10/08/2026
**Sessão / Contexto:** Resolução de inconsistências de histórico de eventos, consultas SQL de banco e formatação visual no módulo Qualifica (Empresa / Formulários / Avaliação).
---
## 📌 Principais Aprendizados e Regras Consolidadas
### 1. Escopo e Filtragem de Histórico (Avaliação Pai vs Formulário)
- O histórico da **Avaliação Pai** deve exibir estritamente eventos cujo `tabela_origem === 'avaliacoes'`.
- O histórico de um **Formulário específico** deve exibir eventos do próprio formulário E de todos os seus campos associados (`ev.codigo_origem === formId || ev.codigo_resposta_formulario === formId`).
### 2. Esquema do Banco PostgreSQL (`respostas_avaliacao`)
- A tabela `respostas_avaliacao` **não possui** a coluna `codigo_resposta_formulario`.
- Consultas Knex não devem selecionar nem filtrar diretamente por `codigo_resposta_formulario` nessa tabela (evita erro SQL `42703` `errorMissingColumn`).
- O relacionamento entre respostas de campo e formulários deve ser resolvido via `codigo_avaliacao` e mapeado em memória usando a hierarquia de seções/perguntas de `todasPerguntas`.
### 3. Cores Dinâmicas e Identidade Visual dos Status
- Os badges e ícones de status em linhas do tempo devem consumir as propriedades de cores dinâmicas (`cor`, `textoCor`, `corVuetify`) exportadas por `qualifica-comuns` (`statusFormularioDetalhes`, `statusAvaliacaoMacroDetalhes`, `classificacaoRespostaDetalhes`).
- Cores estáticas ou *hardcoded* (como fundo azul fixo `#EBF8FF` ou verde fallback `#688C00`) são proibidas para status com cores do domínio.
### 4. Formatação de Textos de Eventos (Quebras de Linha e Nomes)
- Textos de descrição e justificativa em cartões e timelines de eventos devem conter explicitamente as regras CSS:
`white-space: pre-wrap; word-break: break-word; line-height: 1.5;`
- Nomes de autores devem ser sanitizados para remover marcas repetidas (ex: `(Sistema)` prefixado indevidamente).
### 5. Botão de Histórico Universal por Campo
- O componente `CampoRespostaBase.vue` (invocado por todos os tipos de entrada de campo) contém um botão universal `<History />` com tooltip `"Ver histórico do campo"`.
- O modal `ModalHistoricoEventos.vue` aceita `:eventos-direct` para renderizar o histórico diretamente da memória do componente quando pre-carregado.
---
## 🔍 Checklist de Verificação de Artefatos
- [x] Artefatos dependentes revisados
- [x] Nenhuma regra ficou implícita
- [x] Referências cruzadas e linters validados (`pnpm run biome`, `tsc --noEmit`)
- [x] Nomes de funções e variáveis mantidos conforme contratos