// Fila interna de auditoria/calibracao para chamados classificados como INSUFFICIENT_CONTEXT. // Nao e enviada a ninguem -- serve so pra identificar problemas de preenchimento no GLPI // (ver secao 10/14 da missao original). Fica gravada dentro do resumo do shadow run. function buildDataQualityReview(items) { return items .filter((item) => item.aiClassification.classification === 'INSUFFICIENT_CONTEXT') .map((item) => { const t = item.ticket; const followups = t.followups || []; const tasks = t.tasks || []; const contextSize = (t.descricao || '').length + followups.reduce((sum, f) => sum + (f.texto || '').length, 0) + tasks.reduce((sum, task) => sum + (task.texto || '').length, 0); return { ticket_id: t.id, title: t.titulo, ai_reason: item.aiClassification.reason, context_size: contextSize, has_description: Boolean(t.descricao && t.descricao.trim().length > 0), followup_count: followups.length, task_count: tasks.length, has_solution: Boolean(t.solucao), last_interaction_at: t.ultima_interacao_em, }; }); } module.exports = { buildDataQualityReview };