MAnálise MES + Sankhya
Auditoria técnica e funcional • 10 ago 2026

Análise integral do MES e da integração Sankhya

Como o sistema funciona hoje, onde estão as regras que controlam a produção, quais partes são reais ou simuladas e em que ordem corrigir os erros pendentes sem comprometer a operação.

Projeto 51710 MES Manipulação Sankhya como fonte operacional Documento HTML autônomo

01 • Visão de decisão

Resumo executivo

O sistema é um MES híbrido em transição: uma camada real consulta e altera atividades no Sankhya, enquanto grande parte da experiência operacional continua sendo um protótipo em memória. Essa mistura é hoje a principal fonte de risco e de dificuldade para corrigir erros.

10tabelas locais confirmadas no inventário atual
65Server Functions ativas no contexto consultado
6SFs centrais efetivamente chamadas no fluxo atual
3.474entradas no manifesto histórico de migrations
Diagnóstico central O frontend declara modoTeste = true, mas ainda executa operações reais de início, finalização e registro no Sankhya. Portanto, o rótulo “teste” não representa isolamento técnico. Hoje é possível misturar OP real, etapa real e sessão real com reatores, timers, CQ, supervisor, QR e dossiê simulados.
Ação imediata

Segurança e integridade

Rotacionar credenciais materializadas no histórico, impedir identidade forjada, mover o bloqueio de tempo para o backend e revisar a exposição pública de login e OPs.

Ação estrutural

Separar protótipo e produção

Definir uma única fonte de verdade por domínio, desativar fallback fictício em operação real e tornar explícito o que ainda é homologação.

Ação operacional

Controlar concorrência

Adicionar expiração de locks, idempotência, correlação de execução, proteção contra jobs sobrepostos e recuperação de estados parciais.

Ação de governança

Observabilidade e testes

Criar logs por etapa, tela de integração, última atualização real, reconciliação Sankhya × Mitra e testes automatizados das condicionais críticas.

02 • Confiabilidade

Escopo, método e limites

A análise cruza quatro fontes: código do backend, código do frontend, histórico de migrations e inventário operacional retornado pela plataforma. O guia oficial de integração de dados foi usado como checklist de conformidade.

Confirmado

Comportamento diretamente visível no código, no manifesto ou no inventário operacional.

Inferido

Consequência técnica provável, dependente de carga, configuração externa ou estado do Sankhya.

Não validado

Resultado que exige teste controlado no ERP, revisão com Produção/CQ ou acesso operacional específico.

O que foi auditado

  • Scripts de setup, adição, correção e sincronização no backend.
  • Server Functions de login, listagem de OPs, fluxo, início, finalização e problemas.
  • Jornadas de Operador, Auditoria/Supervisor, Qualidade e Cadastros.
  • Tabelas locais, integrações, jobs, crons, locks, formulários e fluxo de CQ.
  • Histórico funcional e migrations mais recentes, sem editar migrations aplicadas.
  • Documentos de escopo, UX, design e tarefas anteriores.
Limite desta entrega Este documento é uma auditoria e um plano. Nenhuma regra de produção, Server Function, tabela ou integração foi alterada. Pelo protocolo obrigatório, correções de integração só devem ser implementadas depois do alinhamento e da aprovação explícita do contrato revisado.

Escopo de banco: “toda a base Sankhya” neste relatório significa o conjunto de tabelas, serviços e relações efetivamente usados pelo projeto. Um catálogo completo de todo o banco Sankhya exigiria acesso ao dicionário integral do ERP e não foi inferido sem evidência.

03 • Estado atual

Arquitetura que existe hoje

Tablet / BrowserReact, sessão local e modo de teste
SDK MitraExecução de SF pública ou autenticada
Server FunctionsSQL, Integration e JavaScript
Integration GatewayConexão sankhya-drexell
SankhyaOP, atividade, processo, formulário e CQ

Quatro camadas reais

1. Interface MES

Uma única página React muito extensa concentra fila, execução, auditoria, supervisor, qualidade, cadastros, mocks, estados e chamadas remotas.

2. Orquestração Mitra

SFs executam consultas SQL locais, chamadas via Integration e lógica JavaScript para encadear operações Sankhya.

3. Persistência local

Espelhos parciais do Sankhya, locks e problemas de OP. O inventário atual não contém todas as tabelas do protótipo descritas no setup original.

4. ERP Sankhya

Fonte oficial para OPs, atividades, processos, formulários, executante e ciclo/amostra de CQ. Também recebe escritas operacionais.

Três modelos coexistentes

ModeloExemploEstadoProblema
Online em tempo realSFs 95, 97, 98, 99 e login 113AtivoDependência direta do ERP e baixa tolerância a falhas parciais.
Espelho local periódicoTPRCWC e atividades de OPParcialJobs sem cursor robusto, mutex ou observabilidade completa.
Protótipo localReator, QR, timers, CQ/LIMS, supervisor e dossiêMisturadoDados simulados convivem com ações reais na mesma experiência.

04 • Cérebro de informação

Dados, tabelas e integrações

O Sankhya representa a fonte operacional dominante. O banco local Mitra funciona como apoio, cache parcial e controle de concorrência, mas ainda não constitui uma réplica completa nem um modelo transacional integral do MES.

Tabelas locais confirmadas no inventário

GrupoTabelasFinalidadeObservação
SistemaINT_USERUsuários nativos da plataformaNão deve ser substituída por tabela customizada.
ConcorrênciaOP_ETAPA_EXECUCAO_LOCKReserva de atividade por usuárioSem TTL ou expiração automática.
DesviosPROBLEMAS_OPRegistro de problemas operacionaisIdentidade enviada pelo cliente.
ProdutosPRODUTOS_SANKHYAEspelho parcial da TGFPROEstratégia de ausentes/deletados não está consolidada.
ProcessoTPRIPROC_SANKHYA, TPRIATV_SANKHYA, TPREFX_SANKHYA, TPRPRC_SANKHYAInstância, atividade, elemento e processoEspelhos locais coexistem com consultas online.
FormuláriosTPRFRME_SANKHYA, TPRFORM_SANKHYAVínculos e definição de formuláriosHistórico registra cargas incompletas por timeout.

Principais tabelas Sankhya consultadas

Ordem e processo

TPRIPROC, TPRIPA, TPRPRC, TGFPRO

Atividade e fluxo

TPRIATV, TPREFX, TPRATV, TPRWCP, TPRCWC

Formulários

Tabelas de formulário/campos resolvidas dinamicamente por NOMETAB e NOMECAMPO.

Qualidade

TPRICCQ, TPRACCQ, TGFRAM e serviços de Controle de Qualidade.

Usuário

TSIUSU para resolver o código do executante.

Serviços

DbExplorerSP, OperacaoProducaoSP, CRUDServiceProvider e ControleQualidadeSP.

Server Functions que sustentam a jornada real

IDNomeTipoPapelExposição
95listarOpsAceitasSankhyaJavaScriptFila de OPs elegíveisPública
97listarFluxoProcessoOpSankhyaIntegrationEtapa aberta e campos de formulárioAutenticada
98iniciarFluxoEtapaOpSankhyaJavaScriptAceitar, atribuir e iniciar atividadeAutenticada
99finalizarFluxoEtapaOpSankhyaJavaScriptFormulário, CQ e finalizaçãoAutenticada
112registrarProblemaOpJavaScriptRegistrar desvio localAutenticada
113validarLoginSankhyaJavaScriptAutenticar no ERP e devolver sessãoPública
100/101Jobs de atividades e TPRCWCJavaScriptSincronizações a cada 5 minutosCron
103listarOrdensProducaoInicializadasApiMesIntegrationConsulta à API MES TractworldIntegração paralela
Ausências relevantes no inventário atual Não foram identificados JDBC externo, Data Loaders ou Tabelas Online. O acesso principal ao Sankhya ocorre pelo gateway de integração. Isso favorece tempo real, mas aumenta a dependência da API, do limite do DbExplorer e da disponibilidade do ERP.

05 • Operação

Fluxos ponta a ponta

Fluxo de login atual

CredenciaisUsuário e senha Sankhya no browser
SF 113 públicaValida no ERP
SessãoRetorna sessionId
LocalStorageSalva usuário, sessão e horário
MESLibera rota principal

Ponto frágil: a sessão não tem expiração local efetiva e a autenticação Sankhya não cria, por si só, uma sessão Mitra consistente após recarregar a página.

Fluxo da fila de OPs

Carregar telaInicializa OPs fictícias
SF 95Consulta até 50 OPs no Sankhya
SucessoSubstitui mocks por OPs reais
Falha/vazioMantém fallback fictício
OperadorSeleciona card ou QR

Ponto frágil: erro de integração pode parecer operação normal porque a tela continua com dados simulados.

Fluxo de início da atividade

  1. Frontend carrega a etapa aberta pela SF 97.
  2. Envia IDIATV, identificadores da OP, usuário e sessão Sankhya à SF 98.
  3. Backend resolve CODUSU em TSIUSU.
  4. Verifica o executante atual na TPRIATV.
  5. Adquire lock local por atividade.
  6. Aceita a atividade no Sankhya.
  7. Grava executante e inicia a atividade.
  8. Atualiza novamente o executante.
Falha parcial possívelSe o aceite funcionar e o início falhar, o lock local pode ser removido, mas a atividade já pode ter sido assumida no Sankhya.

Fluxo de finalização

  1. Frontend valida respostas obrigatórias.
  2. SF 99 verifica usuário e lock.
  3. Se houver formulário, monta inserção dinâmica pela tabela/campos retornados.
  4. Se a descrição contiver “AMOSTRA CQ”, inicia o fluxo de CQ.
  5. Localiza ou cria amostra, vincula ao ciclo e aprova automaticamente.
  6. Finaliza a atividade no Sankhya.
  7. Grava o executante final e encerra o lock.
  8. Frontend recarrega o fluxo e escolhe a próxima atividade aberta.
Não há transação distribuídaFormulário, CQ, amostra, finalização e lock podem terminar em estados diferentes. Retries não possuem uma chave de idempotência ponta a ponta.

Fluxo de sincronização periódica

TPRCWC

Full scan paginado a cada cinco minutos, upsert local e marcação de ausentes por lote. Tem melhor tratamento de deletados, mas não possui mutex para impedir sobreposição.

Atividades de OP

Reconsulta o histórico das OPs já conhecidas a cada cinco minutos. O loop ocorre dentro de uma única SF JavaScript e não usa cursor incremental persistido.

06 • Regras do cérebro

Mapa das principais condicionais

As condicionais estão espalhadas entre SQL Sankhya, SFs JavaScript e estado React. Essa distribuição explica por que algumas correções funcionam em uma tela e podem ser contornadas por outra.

RegraOnde decideCondição atualRiscoCorreção recomendada
OP entra na filaSF 95 / SQL SankhyaProcesso ativo, instanciado, etapa aberta, exclusões e heurística de CQLimite de 50 e regra de reprovação heurísticaPaginar e formalizar estados de negócio por códigos.
Separação QuímicaSF 95Exclusão por texto da descriçãoRenomeação ou acento quebra a regraUsar ID/tipo estável.
Etapa atualFrontend + SF 97Primeira atividade aberta retornadaAtividades finalizadas somem e progresso fica incoerenteRetornar histórico e status ou calcular progresso no backend.
Quem pode iniciarSF 98 + lockExecutante atual e lock por IDIATVUsuário vem do cliente e lock não expiraDerivar identidade da sessão e adicionar lease/TTL.
Tempo mínimoFrontendRelógio do browser compara início e tempo da atividadeBypass pela Auditoria ou chamada diretaValidar na SF 99 usando horário do servidor/Sankhya.
Formulário obrigatórioFrontend + SF 99 + SankhyaTodos os campos retornados devem ter valorCampos de tabelas distintas podem ser agrupados incorretamenteAgrupar por NOMETAB e validar schema permitido.
AMOSTRA CQFrontend e SF 99Descrição contém texto específicoAciona aprovação automática e encerra fluxoUsar configuração estrutural e decisão formal da Qualidade.
SupervisorFrontendClique simples ou texto literal SUPERVISORSem autenticação ou segregação de funçãoPerfis reais e autorização server-side.
QualidadeFrontend mock / SF CQTela acessível a qualquer autenticado; parte localAprovação sem segregação e comportamento ambíguoPerfil CQ, trilha de auditoria e contrato CQ/LIMS.
Fallback de integraçãoFrontendFalha mantém dados mockOperação fictícia pode parecer realFail closed em produção e ambiente de homologação separado.
Registro de problemaSF 112Identidade e campos enviados pelo browserRastreabilidade fraca e possível 403 em businessSF SQL, usuário derivado do contexto e evidência persistida.
Princípio de correção Toda regra que protege integridade, segurança, tempo, sequência, identidade ou qualidade deve existir no backend. O frontend pode antecipar a validação para melhorar a UX, mas não pode ser a única barreira.

07 • Gap de implementação

Planejado versus realizado

Capacidade previstaDocumentaçãoImplementação observadaGap
Integração em tempo realSankhya como fonte oficialOP, atividade, formulário e CQ parcialmente reaisParcial Há mistura com mock.
Perfis Operador/Supervisor/CQ/PCPSegregação por responsabilidadeNavegação acessível sem guard de perfilAusente
Compatibilidade de reatorBloqueio sistêmicoPredominantemente mock/localNão produtivo
Bipagem e loteValidar lote real e CQ no SankhyaCatálogo QR hardcoded e logs voláteisProtótipo
Tempo mínimoImpedir conclusão antecipadaBloqueio no frontend, contornávelInseguro
CQ/LIMSGate entre Produção e QualidadeCenários locais + aprovação automática em caso específicoAmbíguo
Dossiê digitalPDF auditável e não editávelEstado React, perdido no reloadAusente
ObservabilidadeDashboard de falhas e retryLogs parciais de dois jobsInsuficiente
OfflinePonto em abertoSem estratégia robustaDecisão pendente
Agente de negócioAvaliar para Supervisor/CQ/PCPNão configuradoFase futura
Documentos históricos desatualizados Há trechos afirmando que nada grava no Sankhya, mas o código atual executa início e finalização reais. Antes de continuar o desenvolvimento, a documentação funcional deve ser atualizada para refletir a realidade operacional.

08 • Priorização

Riscos e correções propostas

Crítico
R-01

Credencial privilegiada materializada em código/migrations

Configuração sensível foi serializada no código de SFs e aparece no histórico versionado.

Correção: revogar/rotacionar, criar nova migration sem segredo embutido e remover dependência de token administrativo serializado. Não editar migrations antigas.

Crítico
R-02

Tempo mínimo não é garantido no backend

A Auditoria chama a finalização diretamente e uma chamada externa à SF também ignora o cronômetro.

Correção: validar o tempo na SF 99 com horário confiável e retornar erro de negócio estruturado.

Crítico
R-03

Identidade do executante pode ser manipulada pelo cliente

Usuário e sessão são enviados pelo browser, mas não há derivação inequívoca do usuário pela sessão.

Correção: resolver a identidade server-side e rejeitar divergência entre sessão e usuário.

Crítico
R-04

Modo teste aciona produção

A interface combina estados fictícios com SFs que escrevem no ERP.

Correção: separar homologação e produção por configuração de ambiente/feature flag server-side, com fail closed.

Crítico
R-05

Aprovação automática de CQ por texto

Descrição contendo “AMOSTRA CQ” dispara criação/vínculo e aprovação automática.

Correção: validar formalmente a regra com Qualidade; preferir estado/código estrutural e trilha auditável.

Alto
R-06

Operação distribuída sem idempotência

Início e fim dependem de várias chamadas que podem ter sucesso parcial.

Correção: usar chave de idempotência, máquina de estados/saga, log por etapa e compensações explícitas.

Alto
R-07

Locks eternos e pouca recuperação

Lock não tem TTL, heartbeat ou processo de desbloqueio seguro.

Correção: lease com expiração, owner visível, renovação controlada e procedimento de recuperação.

Alto
R-08

Jobs podem se sobrepor

Crons a cada cinco minutos não têm mutex e um job percorre todas as OPs em loop único.

Correção: lock por entidade, lotes assíncronos, cursor persistido, retry e retomada.

Alto
R-09

Full refresh com janela sem dados

Alguns scripts fazem DELETE antes da recarga.

Correção: shadow table, versionamento ou upsert atômico.

Alto
R-10

Login e OPs expostos por SF pública

Login não mostra rate limit/auditoria e a fila pública revela dados operacionais.

Correção: revisar necessidade pública, limitar tentativas, auditar acessos e reduzir dados retornados.

Alto
R-11

Perfis operacionais inexistentes na interface

Qualquer autenticado pode acessar Supervisor, Qualidade, Auditoria e Cadastros.

Correção: perfis reais, guards de rota e autorização repetida no backend.

Médio
R-12

Observabilidade incompleta

Não há tela central, tempos por etapa, correlação ou última atualização real.

Correção: LOG_IMPORTACOES, monitoramento, alertas e reconciliação por entidade.

09 • Backlog técnico

Erros pendentes identificados

PrioridadeErro ou fragilidadeEfeito observado/provávelValidação necessária
P0Regex numérica materializada como /^\d+$/Usuário numérico não segue o caminho esperadoTeste unitário da resolução de usuário.
P0Bypass do cronômetro na AuditoriaFinalização antes do tempo mínimoTeste direto na SF e pelas duas telas.
P0Fallback mock após falha do SankhyaOperador pode atuar sobre dados fictíciosSimular indisponibilidade da integração.
P0Token/segredo no históricoCredencial comprometida por persistênciaRotação e varredura de todos os artefatos.
P1Consulta de fluxo retorna apenas atividades abertasProgresso tende a 0% enquanto há etapa e 100% no fimOP real com múltiplas etapas concluídas.
P1Limite fixo TOP 50OPs elegíveis podem desaparecer da filaBase com mais de 50 OPs.
P1Lock sem expiraçãoAtividade pode ficar bloqueada indefinidamenteFechar browser após iniciar e tentar retomar.
P1Respostas fora de ordem no frontendFluxo de OP A pode sobrescrever OP BTroca rápida de OP com rede lenta.
P1Formulário usa a primeira NOMETABCampos de tabelas diferentes podem ser inseridos juntosEtapa com múltiplos grupos/tabelas.
P1MAX + 1 para IDsColisão em finalizações concorrentesTeste simultâneo controlado.
P1Jobs sem cursor incrementalCarga crescente e timeoutMedição por volume e plano de execução.
P2Script fix-ops-aceitas-public.mjs obsoletoReexecutar pode remover correções atuaisBloquear/arquivar script sem executá-lo.
P2Correção de login fora do manifestoRebuild por migrations pode regredirComparar SF ativa com baseline reproduzível.
P2172 SQLs fora do manifestoHistórico concorrente difícil de reproduzirInventário de aplicação por ambiente.
P2Metadados e idioma do frontend incorretosTítulo/favicon/lang de templateInspeção do build final.
P2Sem suíte automatizadaRegressões nas regras críticasAdicionar testes de unidade, contrato e E2E.
P2Árvore npm com 9 vulnerabilidades altasRisco em dependências transitivas do frontendExecutar npm audit, avaliar impacto e atualizar com teste de regressão; não usar correção automática sem revisão.
P2Projeto marcado como Sankhya mantém login customizadoFluxo pode conflitar com o auto-login esperado da plataformaConfirmar arquitetura de autenticação oficial antes de remover ou manter a tela.

10 • Sequenciamento seguro

Plano de correção por etapas

A ordem abaixo reduz primeiro o risco de segurança e corrupção, depois estabiliza o motor, e somente então completa funcionalidades.

Etapa 0 — Congelamento controlado e backup lógico

Mapear SFs ativas, exportar códigos, registrar IDs, crons e integrações; impedir execução acidental de scripts obsoletos. Nenhuma operação destrutiva.

Etapa 1 — Segurança urgente

Rotacionar segredo exposto, remover token materializado, revisar SFs públicas, aplicar rate limit/auditoria e eliminar sessão em URL quando tecnicamente possível.

Etapa 2 — Regras invioláveis no backend

Tempo mínimo, identidade, sequência, permissão, validação de IDs e decisão de CQ passam a ser garantidos server-side.

Etapa 3 — Idempotência e concorrência

Lease de lock, chave de idempotência, estado por operação, saga/compensação, retry seguro e prevenção de cliques/chamadas duplicadas.

Etapa 4 — Separar produção de homologação

Remover fallback mock em produção, deixar mocks em modo isolado e rotulado, e definir fonte oficial de cada dado.

Etapa 5 — Pipeline Sankhya robusto

Cursor incremental, estratégia de deletados, batching, mutex de job, checagem de burstLimit, paginação estável e reconciliação.

Etapa 6 — Observabilidade

Logs por entidade e etapa, monitor de integração, última atualização real, alertas, execução correlacionada e tela de diagnóstico.

Etapa 7 — Perfis e jornadas

Operador, Supervisor, Qualidade, PCP e Admin com autorização real; simplificação de MesPage em módulos testáveis.

Etapa 8 — Funcionalidades ainda mock

Reator, lote, bipagem, CQ/LIMS, dossiê, apontamento e desvios são integrados um domínio por vez, após contrato aprovado.

Etapa 9 — Homologação e rollout

Testes paralelos com Sankhya, reconciliação, treinamento, plano de rollback e ativação progressiva por grupo.

Ordem sugerida para os primeiros ciclos

Ciclo 1

Conter risco

Credenciais, tempo, identidade, público, locks e scripts regressivos.

Ciclo 2

Estabilizar fluxo

Idempotência, progresso, formulários, erros estruturados e concorrência do frontend.

Ciclo 3

Evoluir produto

Perfis, observabilidade, domínios reais hoje mockados e performance.

11 • Checkpoint obrigatório

Contrato de integração revisado — rascunho

Este contrato consolida o que já foi descoberto e destaca as decisões que precisam ser confirmadas antes de alterar a integração.

ItemEstado propostoDecisão pendente
FonteSankhya via Integration GatewayConfirmar versão/configuração e responsáveis técnicos.
ModeloMisto: online para operação, local para apoio/monitoramentoDefinir quais entidades devem ser materializadas.
OP e atividadesOnline, com paginação e proteção contra indisponibilidadeDelay máximo aceitável e comportamento offline.
Cadastros e recursosCache local incrementalCursor, frequência e estratégia de ausentes.
CQ/LIMSContrato separado, sem aprovação por textoQuem decide e qual status oficial libera produção.
DeletadosSoft delete por entidade quando aplicávelPolítica formal para OP, processo, atividade, produto e formulário.
FrequênciaIncremental conforme SLA; full refresh em janela seguraSLA e janela de baixo uso.
AtomicidadeUpsert idempotente; shadow para full refreshEscolha por entidade.
ConcorrênciaMutex por job + lease por atividadeTempo de expiração e regra de retomada.
MonitoramentoLogs por etapa, alertas e última atualizaçãoDestinatários e retenção.
ReconciliaçãoContagens, chaves, nulos e somatóriosTolerância de divergência por domínio.

Perguntas de decisão para o negócio

  • O modo de produção deve falhar fechado quando o Sankhya estiver indisponível ou haverá operação offline?
  • A etapa “AMOSTRA CQ” deve realmente aprovar a amostra automaticamente? Quem homologou essa regra?
  • Qual status/código oficial identifica reprovação e retorno ao operador, sem inferência por descrição?
  • Qual é o SLA de atualização para OPs, atividades, produtos, recursos e formulários?
  • Como cada entidade deve tratar exclusões ou inativações na origem?
  • Qual tempo torna um lock abandonado e quem pode assumir a atividade?
  • Quais funções são permitidas para Operador, Supervisor, Qualidade, PCP e Admin?
  • Quais dados do protótipo devem virar produção primeiro: reator, bipagem/lote, CQ, dossiê ou apontamento?
  • Qual equipe recebe alertas de falha e quem possui autoridade para reprocessar?
  • A API MES Tractworld continuará coexistindo com o Sankhya? Qual é a fonte de verdade em caso de divergência?
Checkpoint A implementação das correções de integração deve começar somente depois de o responsável confirmar este contrato, incluindo modelo, SLA, deletados, CQ, concorrência, permissões e estratégia de monitoramento.

12 • Qualidade de entrega

Plano de testes e critérios de aceite

Testes de contrato

  • Formato de cada resposta Sankhya.
  • Campos obrigatórios e tipos.
  • Erros e sessões expiradas.
  • Limite e burstLimit.

Testes de regra

  • Tempo mínimo no backend.
  • Usuário da sessão versus executante.
  • Sequência e formulário obrigatório.
  • Estados CQ e retorno ao operador.

Testes de concorrência

  • Dois operadores na mesma atividade.
  • Duplo clique e retry.
  • Job sobreposto.
  • Expiração e retomada de lock.

Testes de resiliência

  • Gateway indisponível.
  • Falha depois de aceite/formulário/CQ.
  • Reload e sessão expirada.
  • Resposta lenta e fora de ordem.

Critérios mínimos antes de produção

  • Nenhum segredo presente no bundle, código de SF ou nova migration.
  • Finalização antecipada bloqueada também em chamada direta ao backend.
  • Identidade do executante derivada de contexto confiável.
  • Nenhum dado mock aparece em modo de produção.
  • Retries de início/fim são idempotentes e auditáveis.
  • Locks expiram e podem ser recuperados por procedimento autorizado.
  • Perfis impedem acesso indevido a Supervisor, CQ e Cadastros.
  • Fila de OPs é paginada e não perde registros acima de 50.
  • Logs mostram execução, etapa, duração, erro e correlação.
  • Reconciliação entre Sankhya e Mitra aprovada pelo responsável de negócio.

13 • Rastreabilidade

Evidências principais

Referências usadas para permitir que a equipe localize rapidamente a origem de cada conclusão. Os números de linha correspondem ao snapshot auditado.

Mapa de SFs e modo de testefrontend/src/pages/MesPage.tsx:11-83frontend/src/pages/MesPage.tsx:941-944
Chamadas reais Sankhyafrontend/src/pages/MesPage.tsx:753-805frontend/src/pages/MesPage.tsx:2714-2798
Bypass de tempofrontend/src/pages/MesPage.tsx:3882-3921frontend/src/pages/MesPage.tsx:4760-4763
Login e sessãofrontend/src/pages/LoginPage.tsx:20-50frontend/src/lib/mitra-auth.ts:44-65
Fluxo backend Sankhyabackend/add-sankhya-fluxo-op.mjs:132-190backend/add-sankhya-fluxo-op.mjs:697-742
Lock e concorrênciabackend/add-sankhya-fluxo-op.mjs:788-897backend/add-sankhya-fluxo-op.mjs:1007-1020
Consulta da filabackend/add-sankhya-ops-aceitas.mjs:25-165
Jobs de sincronizaçãobackend/add-sankhya-atividades-op-job.mjs:136-233backend/add-sankhya-tprcwc-job.mjs:159-199
Escopo originalfeaturesearquitetura.md:62-72featuresearquitetura.md:130-145
Últimas migrations funcionaisbackend/migrations/3469-update-sf-listaropsaceitassankhya.sqlbackend/migrations/3473-update-sf-iniciarfluxoetapaopsankhya.sqlbackend/migrations/3474-update-sf-finalizarfluxoetapaopsankhya.sql
Tratamento de segredos A auditoria identificou material sensível em artefatos históricos, mas nenhum valor é reproduzido neste relatório. A equipe deve tratar o segredo como comprometido e executar rotação controlada.

14 • Leitura comum

Glossário rápido

TermoSignificado neste sistema
MESSistema de execução da manufatura que guia e registra a produção.
OPOrdem de Produção originada no Sankhya.
SFServer Function executada pela plataforma Mitra.
IntegrationConexão segura usada pelas SFs para chamar o Sankhya ou outra API.
DbExplorerServiço Sankhya usado para consultas SQL via API.
CursorMarca que permite buscar apenas registros novos ou alterados.
UpsertInserção que atualiza um registro quando sua chave já existe.
IdempotênciaCapacidade de repetir uma operação sem duplicar efeitos.
Lock/leaseReserva temporária que impede dois usuários de executar a mesma atividade.
SagaControle de uma operação em várias etapas, com estado e compensações.
Shadow tableTabela paralela usada para preparar uma carga completa antes da troca atômica.
Fail closedQuando a integração falha, o sistema bloqueia a operação em vez de assumir dados fictícios.