19. IMR — Instrumento de Medição de Resultado
O motor que transforma sinal técnico e registro de processo em valor a faturar, com nexo auditável. Exclusivo de contratos do Governo Federal brasileiro.
O IMR não é mais um indicador. É um motor de apuração financeira: transforma telemetria e registros em valor a faturar por contrato, por mês, com nexo auditável.
Ele não coleta dado e não opera nada. Recebe fatos de duas fontes, aplica regra contratual e produz três saídas: a memória de cálculo, a proposta de ateste ou glosa, e o registro imutável que sustenta a decisão da Administração.
O princípio que governa tudo:
Disponibilidade isolada não confere conformidade. Uma unidade só é conforme quando os três sinais coincidem no mesmo período, sobre o mesmo ativo, com evidência no canal pactuado.
E a consequência disso, que explica metade das decisões do módulo: ausência de sinal nunca vira conformidade. Um sinal que não chegou vale DESCONHECIDO, jamais OK.
Ligar e desligar
O módulo nasce desligado. Em Administração ▸ Normas disponíveis, no bloco IMR — Instrumento de Medição de Resultado, o botão mostra Desligado ou Ligado nesta instalação; clique nele para trocar (exige admin:estrutura). Ligado, acrescenta o grupo IMR, com dez telas, ao menu de quem tem imr:ler; desligado, nenhuma tela aparece.
As permissões do módulo separam quem faz o quê: imr:ler consulta; imr:operar conduz o ciclo (abrir período e ligá-lo ao contrato, congelar, apurar, propor consequências, abrir contraditório, registrar alegação, declarar janela e registrar à mão ocorrência aberta); imr:decidir registra o ato da Administração, revisa apuração, responde alegação, define parâmetro e vê o Faturamento; imr:contratar cadastra contrato, atividade, regra, modelo de cálculo e unidade; imr:ingerir é das plataformas que enviam dado.
Desligar não apaga nada. Períodos, apuração e decisões continuam gravados, e religar devolve tudo — um interruptor que destrói dado não é interruptor, é armadilha.
A razão de nascer desligado: o instrumento atende exclusivamente a contratos do Governo Federal brasileiro. Numa instalação privada seriam dez itens de menu que ninguém abre, e menu que não serve ensina a pessoa a ignorar o menu.
Como o módulo fica desacoplado
O IMR é um módulo Maven próprio, com esquema próprio (imr) e permissões próprias. A dependência aponta só para dentro: ele conhece o núcleo e o escopo, e nenhum outro módulo o conhece. Tirar a linha do pom.xml deve deixar a plataforma compilando — se um dia não deixar, o acoplamento voltou e alguém precisa desfazer.
As dez telas
Contratos — o que foi contratado, por quanto, e sob que regras. É a primeira tela do menu porque é onde o instrumento começa: sem contrato não há valor a ratear, e a glosa fica só em percentual.
Unidades de remuneração — U1 a U7, com o que cada dimensão significa em cada uma e quais itens estão nelas. A unidade é o que liga o item de configuração ao dinheiro: o item pertence a uma, a atividade contratada atende uma, e é por essa coincidência que o motor sabe quanto vale cada item no rateio.
Períodos — o ciclo mensal, um período por contrato, e suas ações: abrir já com o contrato, congelar, apurar, propor consequências, abrir contraditório. Cada botão só acende no estado em que faz sentido.
Apuração — item a item, com estado, percentual de pagamento, valor rateado e montante da glosa. Cada linha abre: os sinais que a sustentam, o histórico de revisões, e a ação de revisar.
Contraditório — os itens abertos para contestação com o valor em jogo, e as alegações apresentadas. Antes da decisão e não depois: um instrumento que glosa e depois ouve inverte a ordem que o contrato estabelece.
Decisões e travas — o ato da Administração, e o indicador de tempestividade.
Memória de cálculo — de qualquer valor, o caminho até o sinal que o sustenta, com o contrato, o método de rateio e o hash da base na mesma folha. Exportável em CSV, formato aberto, independente do produto.
Parâmetros do ANS — os limiares, com rótulo, unidade, faixa e explicação, versionados por data de vigência.
Faturamento — o que vai para pagamento no mês, uma linha por contrato.
Itens de configuração — o que o Autonomous descobriu, e os sinais que foram rejeitados.
O caminho de um mês, na ordem das telas: cadastre o contrato (com atividades e regras), confira as unidades, abra e conduza o período, confira a apuração, ouça o contraditório, registre a decisão, e só então o faturamento mostra o valor a pagar.
Itens de configuração e sinais rejeitados
A tela IMR ▸ Itens de configuração é de consulta: os itens chegam pela ingestão do Autonomous (POST /api/v1/imr/ingestao/ativos), e não por cadastro na tela.
1. Em Procurar por nome, identificador ou endereço IP, digite parte do nome, o identificador ou o IP.
2. A tabela mostra Item, Endereço, Tipo, Unidade, Criticidade, Localidade e Visto em. Clique no nome do item para ver o inventário que cada fonte reportou.
3. Em Sinais rejeitados, no fim da tela, fica o que a ingestão recusou, com o motivo e quando chegou — é o primeiro lugar a olhar quando um item aparece sem sinal na apuração.
Trocar o item de unidade é na tela Unidades (coluna Mover para).
As unidades, e o que cada dimensão significa em cada uma
U1 a U7 existiam como restrição no banco e lista fixa no formulário: sem nome, sem explicação, e sem nenhum lugar onde ver quais itens estão em cada uma.
Na tela IMR ▸ Unidades (alterar exige imr:contratar):
1. Clique numa unidade para abrir a lista dos itens dela; na coluna Mover para, escolha outra unidade para mudar o item de lugar.
2. Para criar uma unidade que o ANS definiu, clique em Nova unidade, preencha Código, Nome, Ordem, Descrição e os três critérios — Critério de disponibilidade, Critério de registro e Critério de controle — e clique em Salvar.
3. Para corrigir uma unidade própria, use editar no cartão dela. As marcadas do requisito não têm esse link.
O que a tela traz de novo não é o cadastro — é o critério de cada dimensão. O requisito define, para cada unidade, o que conta como disponibilidade, como registro e como controle, e são coisas diferentes: num endpoint a disponibilidade é o agente reportando; num ativo de rede é a coleta de estado e enlace; num ativo recuperável, a conformidade nem se mede por estar de pé, e sim por uma restauração testada dentro do tempo acordado.
| Disponibilidade | Registro | Controle |
|---|---|---|---|
U1 Endpoint | agente ativo e reportando | item ativo na CMDB | EDR ativo, disco cifrado, postura de MDM, atualização no prazo |
U2 Servidor ou instância | telemetria de SO e de desempenho | item e serviço no catálogo | linha de base, backup com restauração válida, agente presente |
U3 Ativo de rede | coleta de estado e enlace | item com janela de mudança registrada | regra revalidada após a mudança, registro íntegro no SIEM |
U4 Serviço digital | monitor sintético e desempenho | serviço publicado no catálogo | mudança aprovada, WAF ativo, backup válido |
U5 Ativo protegido | telemetria do controle de proteção | item vinculado ao controle | controle reportando saúde no período |
U6 Ativo recuperável | rotina de backup íntegra | item com política vinculada | restauração testada dentro de RTO e RPO |
U7 Outros, sob demanda | caso a caso, no ANS | registro obrigatório | definido no ANS |
Sem esse texto à vista, quem recebe um item em "não governável" não tem como saber o que deveria ter chegado, e a conversa com o fornecedor vira troca de opinião.
A tela mostra, por unidade, quantos itens existem, quantas atividades a cobrem e quanto vale cada item no rateio — e avisa quando há unidade com item e sem atividade contratada: esses itens são apurados e rateados a zero, e apareceriam na apuração sem valor e sem explicação.
Mover um item de unidade é possível, e é recusado quando ele está numa base congelada de período ainda não encerrado: trocar a unidade ali mudaria o denominador de um rateio já feito. Não se move o poste depois do tiro.
As sete de fábrica não se editam — o texto delas é o do requisito, e reescrevê-lo faria a plataforma divergir do documento que o contrato cita. O órgão cria as próprias quando o ANS definir outras.
O contrato, que é a base de tudo
O IMR nasceu apurando conformidade e propondo glosa em percentual. Faltava o denominador: um item em 50% propunha "glosa de 50%" de coisa nenhuma. Percentual sem base não é glosa, é opinião — e nenhuma Administração assina uma opinião.
Na tela IMR ▸ Contratos (cadastrar exige imr:contratar), nesta ordem:
1. Modelo de cálculo — no bloco Modelos de cálculo, no fim da tela, clique em Novo modelo e preencha Código, Nome, Versão, Descrição, Rateio, Arredondamento, Casas decimais e Teto mensal (%). Salvar. Para mudar o método, prefira uma versão nova a editar: preserva o histórico.
2. Contrato — clique em Novo contrato e preencha Código, Nome, Objeto, Número, Processo, Papel no nexo (Governança C1-GOV, Operação C2-OPR ou Segurança C3-SEC), Fornecedor, Órgão, Vigência — início e fim, Valor mensal (o denominador do rateio), Valor global e Modelo de cálculo. Salvar.
3. Atividades — clique no contrato para abri-lo; na aba Atividades e serviços, clique em Nova atividade e preencha Código, Nome, Tipo (Serviço, Atividade ou Insumo), Unidade do IMR, Quantidade, Valor unitário e Valor mensal. A tela diz se a soma das atividades fecha com o valor mensal do contrato.
4. Regras de glosa — na aba Regras de glosa, clique em Nova regra e preencha Código, Nome, Gatilho, Condição (ex.: CONTROLE=FALHA), % de glosa, Base (Item, Atividade ou Contrato), Teto (%), Vigente de e Aplica-se a (Todo o contrato ou uma atividade). Salvar.
Para corrigir um contrato, use editar no cartão dele.
O cadastro tem quatro objetos, nesta ordem de dependência:
Modelo de cálculo — o como. Existe antes do contrato e serve a vários: o rateio, o arredondamento, o teto mensal. Um órgão tem um jeito de calcular e vários contratos; redigitar o método a cada assinatura é onde a divergência nasce. O contrato o herda, não o copia.
Contrato — o o quê: objeto, número, processo, fornecedor, órgão, vigência, valor mensal e valor global. O contrato também é um Alvo da plataforma, porque contrato é dimensão de avaliação em auditoria, risco e painel — e o cadastro cria ou liga o Alvo sozinho, pelo código. Dois cadastros do mesmo contrato garantiriam que um dia eles divergissem, e esse dia seria o de uma glosa calculada sobre o valor errado.
Atividades e serviços — o que o contrato presta, cada um com quantidade, valor unitário, valor mensal e a unidade do IMR que atende. A unidade é o que liga dinheiro a apuração: o item de configuração pertence a uma unidade, a atividade também, e é por essa coincidência que o motor sabe quanto vale um item. A tela soma as atividades e diz se elas fecham com o valor mensal do contrato — quando não fecham, a diferença não é rateada sobre item nenhum, e é melhor saber disso antes do fechamento.
Regras de glosa — quando se glosa e quanto, por contrato ou por atividade. O percentual é de glosa, não de pagamento: 20% em NC leve glosa um quinto. Antes disto o percentual vinha do código; funciona para um contrato e para nenhum outro, e um número negociado que só existe dentro do jar é um número que ninguém audita. Sem regra cadastrada o motor usa o padrão do produto — o complemento do percentual de pagamento — e a memória de cálculo diz qual dos dois caminhos foi usado, porque um padrão não pode passar por uma negociação que não houve.
Cinco gatilhos, e a ordem de procura vai do mais específico para o mais geral — que é a ordem em que a Administração escreve o contrato:
Gatilho | Dispara quando | Condição |
|---|---|---|
DIMENSAO | uma dimensão chega em certo valor | CONTROLE=FALHA |
NAO_GOVERNAVEL | o item não é governável | — |
VISIBILIDADE | a evidência está fora do canal pactuado | — |
INCLUSAO | item novo remunerado | — |
ESTADO | a faixa do estado apurado | NC_MEDIA |
Primeiro o caso nomeado — controle em falha glosa tanto —, depois a faixa do estado, e só então o padrão. Começar pelo estado faria a regra de dimensão nunca pegar, porque todo item não conforme tem estado.
Entre regras do mesmo gatilho, a da atividade vence a do contrato inteiro, a de vigência mais recente vence a anterior — aditivo sucede o texto, não o apaga —, e a de menor ordem desempata.
A base escolhe sobre o que o percentual incide: o item que falhou, a atividade inteira quando a falha a compromete, ou o contrato quando o descumprimento é estrutural. As três contas produzem valores muito diferentes. O teto limita o percentual efetivo da própria regra, e a memória registra quando ele pegou.
Como o valor de um item é calculado
Na tela IMR ▸ Memória de cálculo, escolha o Período. Os cartões trazem o contrato, o fornecedor, o valor mensal, o estado do período, a base rateada, a glosa proposta, os itens na base congelada e o Hash da base; o quadro Como este valor foi calculado diz o método, o teto e o residual do rateio; e Consequências lista cada proposta, inclusive as suprimidas por não cumulatividade. Exportar memória (CSV) baixa tudo num arquivo só, com o hash da base, e a exportação fica registrada.
O período pertence a um contrato, e o contrato só responde pelas unidades que presta. Por isso o congelamento e a apuração consideram apenas os itens das unidades cobertas — apurar o parque inteiro produziria linhas "não governável, R$ 0,00" que não dizem respeito a ninguém. Período sem contrato continua pegando tudo, que é o modo sombra.
Com o rateio padrão, por parque da unidade:
ou, quando há regra cadastrada, o percentual e a base dela no lugar do complemento. O valor fica gravado na apuração, e não recalculado na leitura: a apuração é append-only e sustenta glosa, e se o valor viesse de junção, mudar o contrato amanhã mudaria a memória de cálculo de ontem — que existe exatamente para não mudar.
A soma das bases quase nunca fecha exatamente com o valor mensal: dividir o valor de uma atividade por catorze itens deixa centavos de fora. A memória declara o residual em vez de deixá-lo sumir — quem confere soma a coluna e compara com o contrato, e alguns centavos sem explicação custam uma reunião. Acima de um real a diferença deixa de ser arredondamento e a tela diz isso: provavelmente há atividade sem item apurado na unidade dela.
Faturamento: o que vai para pagamento no mês
A tela IMR ▸ Faturamento (exige imr:decidir) é a saída para o financeiro: uma linha por contrato, e não a memória de cálculo.
1. Em Referência, escolha o mês.
2. Confira cada contrato: Valor mensal, Inclusões, Glosa, Líquido e Situação — faturável, travado ou sem ato. O total do alto é Faturável no mês.
3. Exportar bloco (CSV) baixa o bloco para o financeiro.
Só entra na soma o contrato com ato da Administração registrado (em Decisões e travas) e sem trava. Contrato travado aparece com zero e com o motivo, e não some da lista: omiti-lo faria a soma fechar como se ele não existisse. Mês sem período aberto não mostra linha nenhuma.
O teto mensal de glosa
Depois de todas as regras, e depois da supressão por não cumulatividade, a glosa acumulada é comparada ao teto: um percentual do valor mensal do contrato, vindo do parâmetro do ANS quando ele existe e do modelo de cálculo quando não — e a memória diz de qual dos dois, porque o modelo é o método padrão do órgão e o parâmetro é o que aquele instrumento negociou.
Passando do teto, o corte é proporcional, e não por ordem de chegada: cada item cede a mesma fração. Cortar as últimas glosas até caber faria o valor de um item depender de quando ele foi processado, que é o oposto de reprodutível.
Nada é apagado. O evento guarda o valor bruto e o valor limitado, e a diferença entre as duas colunas é o corte — visível na memória de cálculo em vez de sumir numa subtração que ninguém vê. Um evento próprio registra o excedente, o fator aplicado e o critério.
A ordem importa: o teto vem depois da supressão porque consequência suprimida não pode consumir teto. Fosse antes, a supressão — que existe para não cobrar duas vezes pelo mesmo fato — acabaria reduzindo a glosa dos outros itens.
Revisar a apuração
Na tela IMR ▸ Apuração:
1. Escolha o Período. Os cartões mostram contrato, valor mensal, base rateada e glosa proposta no filtro.
2. Filtre por Estado, Unidade ou Buscar item (identificador ou nome); limpar volta a tudo.
3. Clique no item para abrir Sinais recebidos no período e Revisões.
4. Para corrigir, clique em Revisar esta apuração, escolha o Estado, informe o % de pagamento e o Motivo, e clique em Gravar revisão.
Se o período não estiver ligado a um contrato, a tela avisa: a conformidade é apurada do mesmo jeito, mas a glosa fica só em percentual. O contrato se liga em IMR ▸ Períodos, e só antes de congelar a base (veja O ciclo, passo a passo); com a base já congelada, a saída é apagar o período e abri-lo de novo escolhendo o contrato.
A apuração pode ser corrigida, e a correção não apaga nada: grava uma revisão nova com estado, percentual, motivo e autor, e a anterior continua inteira e consultável. Exige imr:decidir, e não imr:operar — mudar o estado apurado à mão muda o que se vai faturar, e isso é ato de quem decide.
A alternativa, deixar corrigir o número no lugar, é o que transforma um instrumento de medição em planilha: quem confere a glosa precisa poder perguntar o que dizia antes, e quem mudou, e se a resposta some no UPDATE, a memória de cálculo vira declaração de fé.
O contraditório tem prazo
Na tela IMR ▸ Contraditório:
1. Escolha o Período. O quadro Como funciona neste período diz o prazo para alegar e o prazo para a Administração decidir. Alegação só entra depois de o contraditório ser aberto, pelo botão Contraditório da tela Períodos.
2. Em Itens abertos para contestação, ordenados pelo valor em jogo, clique em registrar alegação no item, preencha Fornecedor, Alegação e Evidência e clique em Registrar.
3. Em Alegações apresentadas, clique em Acolher ou Rejeitar, escreva o Fundamento e clique em Registrar resposta.
Acolher não corrige o valor sozinho: a correção é uma revisão na tela Apuração.
Abrir o contraditório calcula dois prazos em dias úteis sobre o calendário de feriados, a partir dos parâmetros do ANS: até quando o fornecedor pode alegar, e até quando a Administração tem para decidir.
O calendário fica em Parâmetros do ANS ▸ Calendário de prazos. Os feriados nacionais vêm de fábrica e não saem — valem por lei, e apagá-los faria o prazo do instrumento divergir do prazo do processo. O municipal é do cliente e se acrescenta ali. Ponto facultativo — Carnaval e Corpus Christi — não é feriado por lei, e a distinção existe no direito administrativo: por padrão ele também não conta, e o parâmetro prazo.considera.ponto.facultativo inverte a escolha.
Quando o calendário não cobre o ano, o cálculo degrada para fim de semana e registra o aviso. Prazo silenciosamente errado é pior do que prazo declaradamente aproximado — e num instrumento que recusa alegação fora do prazo, contar feriado como dia útil produz recusa que o fornecedor contesta com razão. Alegação fora do prazo é recusada, e a recusa diz até quando era — aceitar em silêncio faria o prazo existir só no papel, e o fornecedor seguinte, que respeitou, teria sido prejudicado por respeitar.
A tela mostra primeiro o que pode ser contestado, ordenado pelo valor em jogo, e depois as alegações apresentadas. Antes ela listava só alegações, e no começo do prazo não há nenhuma — a tela nascia vazia justamente no momento em que mais precisa ser usada. A decisão de contestar é econômica antes de ser jurídica, e por isso o montante vem junto.
Acolher ou rejeitar exige fundamento escrito. Sem ele a resposta é recusada: o fornecedor tem direito a saber o motivo, e quem revisa depois precisa dele. Acolher não muda a apuração sozinho — a correção é uma revisão, com motivo próprio. São dois atos porque são duas decisões.
O ciclo, passo a passo
Na tela IMR ▸ Períodos (conduzir exige imr:operar):
1. Em Nova referência (AAAA-MM), digite o mês (ex.: 2026-10), escolha o Contrato e clique em Abrir período. Com um contrato ativo só, ele já vem escolhido. A opção sem contrato (modo sombra) existe de propósito, e a tela avisa o que custa: a conformidade sai, mas não há valor a ratear e a glosa fica só em percentual.
2. A coluna Contrato mostra de qual contrato é cada período. Enquanto o período está aberto e sem base congelada, ligar a contrato (ou trocar) abre a lista: escolha e clique em Ligar. Depois do congelamento a troca não é oferecida — a base congelada é a do contrato, e trocá-lo faria a base de um sustentar a glosa de outro. Se o período aberto já recebeu sinais, eles entraram pela cobertura do contrato de antes: quando o contrato novo presta só parte do que o antigo cobria (o caso comum é ligar o período sem contrato, que cobre o parque todo), a troca passa e os sinais de itens fora do contrato novo saem do período — a tela diz quantos. Quando o contrato novo presta unidade que o antigo não prestava, a troca é recusada: os sinais dessa unidade foram para outro período ou recusados. Apague o período e abra de novo com o contrato; as plataformas reenviam, e reenviar não duplica.
3. Na coluna Avançar, clique em Congelar, depois em Apurar, depois em Consequências e, se houver o que contestar, em Contraditório. Cada botão só acende no estado em que faz sentido; apagado, ele diz O estado do período não permite esta ação agora — ou, se o que falta é permissão, qual permissão falta.
4. Apagar remove o período e o que foi calculado nele (base congelada, sinais, apuração, propostas), depois de uma confirmação. É o caminho para o período que foi congelado sem contrato: apague e abra de novo, já com o contrato. Período com decisão registrada não se apaga — decisão é ato da Administração, e o servidor recusa.
5. A tabela mostra, por período, Sinais, Apurados, Propostas e a Base congelada (revisão e hash). A decisão é em Decisões e travas.
Abrir, ligar a contrato, apagar e conduzir o ciclo exigem imr:operar; sem ela os botões aparecem apagados, com o motivo.
Em Exceções do ciclo, abaixo, declare o que o cálculo precisa saber para não cobrar o que foi combinado. Escolha a aba — Janelas de manutenção, Restrições da contratante ou Ocorrências abertas —, clique em declarar (na aba de ocorrências, registrar ocorrência), preencha os campos (item, unidade ou localidade, início, fim, motivo; na janela, também RFC e Aprovada por; na ocorrência, Item, Referência, Protocolo e Resumo) e clique em registrar. Janela exige imr:operar; restrição exige imr:decidir, porque vira ARRC e afasta glosa.
Quem registra ocorrência aberta. A ocorrência aberta chega normalmente pela integração — é o Citsmart X que sabe o que está aberto, e a conta de integração (perfil Integração do IMR, com imr:ingerir) a envia sozinha. Registrar à mão existe para quando o conector ainda não está ligado, e é preparo do fechamento do mês, como declarar uma janela: por isso pede imr:operar, a permissão de quem conduz o ciclo. A rota aceita as duas (imr:operar ou imr:ingerir) e grava de onde veio: o que foi marcado à mão aparece com a fonte manual, e não como se tivesse vindo do conector. imr:ingerir continua fora dos perfis de pessoa — a separação entre ingerir e operar é o que impede a conta de integração de conduzir ciclo. Sem imr:operar, a aba mostra o botão apagado e explica por quê.
O registro à mão nunca altera o que veio do conector. Item, mês e protocolo identificam a ocorrência; se já existe uma com a mesma chave vinda do Citsmart X, registrar à mão é recusado e a mensagem diz de onde veio a existente — registre com outro protocolo, ou deixe que a integração a feche. O caminho inverso vale: o conector pode confirmar ou fechar o que foi marcado à mão, e a ocorrência passa a ser dele. O administrador, que tem as duas permissões, grava manual quando não diz a fonte. E a pessoa só registra ocorrência de item cadastrado em Itens de configuração e, se tiver acesso restrito por contrato, de item de um contrato que ela alcança.
1. Abrir o período. Referência AAAA-MM e o contrato — o período é por contrato, e a mesma referência se abre uma vez para cada um.
2. Congelar a base. O motor tira um retrato dos itens ativos e grava o hash do conteúdo ordenado. Depois disso, inclusão ou exclusão não altera o período: não se move o poste depois do tiro. Recongelar é possível e fica registrado como ato extraordinário — recongelamento silencioso apagaria a razão de existir do congelamento.
3. Receber sinais. Três dimensões por item: disponibilidade, registro e controle.
4. Apurar. As três dimensões decidem o estado:
Estado | Pagamento | Quando |
|---|---|---|
conforme | 100% | as três dimensões OK, com evidência no canal |
NC leve | 80% | uma dimensão degradada |
NC média | 50% | uma dimensão em falha, ou duas degradadas |
NC grave | 20% | duas falhas, ou uma falha em ativo crítico |
não governável | 0% | sem sinal, ou evidência fora do canal pactuado |
5. Propor consequências. Chamada separada da apuração, e de propósito: apurar conformidade é seguro desde o primeiro dia, aplicar glosa e travar faturamento não. Poder operar meses sem chamar esta ação é o que permite calibrar limiar com dado real antes de ligar a consequência.
6. Contraditório. Fornecedores contestam com evidência.
7. Decidir. Ateste, glosa, ARRC, trava ou reabertura — sempre com autor e fundamento. Sem os dois, a transição é rejeitada.
O que o motor propõe, e nunca decide
Na tela IMR ▸ Decisões e travas (decidir exige imr:decidir):
1. Escolha o Período. Os cartões mostram Contrato, Valor mensal, Glosa proposta e A atestar.
2. Revise O que o motor propõe. Para tirar uma proposta da conta, clique em afastar, escreva o Fundamento — obrigatório e confirmar. As afastadas ficam listadas logo abaixo, com devolver à conta.
3. Em Registrar o ato, escolha o Ato — ateste, glosa, ARRC, trava trilateral ou reabertura —, escreva o fundamento e clique em Registrar.
4. Em Decisões registradas, a decisão não se edita nem se apaga: retificar cria um ato novo que substitui o anterior e o deixa visível, marcado como retificado.
Tempestividade, no fim da tela, mede quantos dias cada decisão levou.
Cada regra do requisito vira uma proposta registrada, não um ato:
• Glosa por nexo recai sobre o contrato responsável pela falha, e não sobre quem a reportou. Falha de controle imputa C3-SEC; de disponibilidade, C2-OPR; de medição, C1-GOV.
• Glosa por visibilidade quando a evidência não é consultável no canal pactuado — e ela é suprimida quando há glosa por nexo sobre o mesmo fato. A supressão aparece na memória de cálculo: supressão silenciosa quebraria a auditabilidade.
• Trava trilateral para item não governável sem ARRC deferida: suspende o faturamento nos três contratos simultaneamente. Travar um e faturar os outros é defeito de implementação.
• Inclusão remunerada paga uma vez, com adicional; segunda instalação do mesmo item é bloqueada, não cobrada a menos.
• Teto de U7 corta o excedente e registra o corte.
Nenhuma delas vigora até alguém assinar.
Como as plataformas enviam dado
Duas rotas, e o esquema é este — as plataformas se adaptam a ele. Um motor que aceita o formato de cada fornecedor acaba com um tradutor por fornecedor, e cada tradutor é um lugar onde a regra contratual pode ser distorcida sem ninguém ver.
Os dois conectores
O catálogo de integrações traz CitSmart X (ITSM) e CitSmart Autonomous (monitoração e descoberta), com logo próprio. A divisão de papéis é a do requisito e não é arbitrária:
Origem | Dimensões | O que ela sabe que a outra não sabe |
|---|---|---|
CitSmart Autonomous | disponibilidade, controle | o estado do ativo, e o inventário dele |
CitSmart X | registro | se houve atendimento, e se ele saiu do prazo |
Um chamado fechado com SLA rompido é exatamente o fato que a dimensão de registro pede: houve atendimento — logo há registro — e ele saiu do prazo — logo o registro não é conforme. São os dois lados, e só o ITSM os conhece.
O tenant vem do token, e de nenhum outro lugar
A chave de serviço pertence a um tenant no momento em que é criada, e o token curto que ela gera carrega esse tenant como reivindicação assinada. Tudo o que a chamada grava entra nesse tenant e tudo o que ela lê sai dele. Mandar X-Tenant-Id, tenant na query ou qualquer variante não muda nada: os cabeçalhos são ignorados, e a política do banco não enxerga a aplicação. Para escrever noutro tenant é preciso outra chave, criada lá.
O perfil certo para essas plataformas é `INTEGRACAO_IMR`, que tem imr:ingerir e imr:ler e nada mais: não conduz ciclo, não decide e não cadastra contrato. Ele foi criado porque o banco recusou — corretamente — dar permissão de escrita ao perfil de Monitoramento: aquele perfil tem token que não expira por inatividade, e credencial perpétua com poder de escrita, uma vez vazada, escreve para sempre.
O teste de segurança da cadeia verifica isso a cada execução: a chave escreve no tenant dela, nenhum cabeçalho troca o destino, item de outro tenant não aparece nem procurando pelo identificador exato, e as rotas de operar, contratar e administrar respondem 403.
Inventário — POST /api/v1/imr/ingestao/ativos, permissão imr:ingerir:
[{
"icId": "EP-IBAMA-DF-004821",
"nome": "NB-IBAMA-4821",
"enderecoIp": "10.12.4.21",
"tipo": "ENDPOINT",
"unidadeImr": "U1",
"localidade": "Brasília DF",
"criticidade": "ALTA",
"fonte": "autonomous.edge-agent",
"inventario": { "so": "Windows 11 23H2", "cpu": "i7-1265U", "memoria_gb": 16 }
}]Nome e endereço bastam para o item existir. O resto do inventário entra livre em inventario e acumula entre as fontes: a descoberta de rede sabe o endereço, o agente sabe o hardware, o gerenciador sabe o software. Cada um conhece uma parte, e sobrescrever faria a última mensagem apagar as outras. É por isso que não há esquema fixo ali — o que uma plataforma de descoberta envia hoje não é o que ela envia no ano que vem.
Sinal — POST /api/v1/imr/ingestao/sinais:
[{
"icId": "EP-IBAMA-DF-004821",
"referencia": "2026-09",
"dimensao": "CONTROLE",
"valor": "OK",
"detalhe": { "edr": "ativo", "patch_sla": "dentro", "disco_cifrado": true },
"fonte": "autonomous.edge-agent",
"coletadoEm": "2026-09-30T23:58:04-03:00",
"evidenciaUri": "evid://autonomous/2026-09/EP-004821.json",
"evidenciaHash": "sha256:…",
"canalPactuado": true
}]Dimensões: DISPONIBILIDADE, REGISTRO, CONTROLE. Valores: OK, DEGRADADO, FALHA, DESCONHECIDO.
Três garantias da interface:
Idempotência por item, período, dimensão e instante de coleta. Reenviar o mesmo sinal não duplica.
Lacuna declarada. Quem não mediu envia DESCONHECIDO. Ausência silenciosa também nunca vira conformidade, mas declarar ajuda a distinguir "não medi" de "não chegou".
Rejeição visível. O que não passa fica na tela de Itens de configuração, com o motivo. Descartar em silêncio é a forma mais cara de perder dado, porque quem enviou acredita que chegou.
Sinal para período já apurado é recusado, e a mensagem diz o que fazer: ele entra no período seguinte com marcação de atraso. Aceitar ali reescreveria período já fechado.
De qual contrato é o sinal. O mês tem um período por contrato, e o sinal não diz o contrato: a plataforma descobre pelo item. O sinal entra em todo período do mês cujo contrato presta a unidade do item (uma atividade ativa naquela unidade) — no modelo trilateral, os três contratos que atendem a unidade recebem o mesmo sinal, porque cada um apura o próprio período. Período sem contrato, ou de contrato sem atividade cadastrada, cobre o parque todo, a mesma regra do congelamento da base. Quando nenhum período cobre o item — item ainda não inventariado, ou unidade que nenhum contrato presta —, o sinal só entra se o mês tiver um período só; com dois ou mais, ele é recusado e aparece em Itens de configuração ▸ sinais rejeitados, com o item, a unidade e os contratos do mês no motivo. Antes o sinal ia sempre para o período mais antigo do mês, e os outros contratos apuravam sem sinal — e sem sinal o item é não governável. A resposta traz aceitos (sinais que entraram), gravacoes (linhas novas, uma por período) e repetidos (reenvio do mesmo sinal, aceito e não gravado de novo); a recusa por estado do período é por período, e um contrato já apurado não impede o outro de receber.
Depois do congelamento, vale a base. Para período já congelado, quem decide se o item é dele é a base congelada (a última revisão), e não o cadastro de hoje. O item que muda de unidade depois do congelamento continua recebendo sinal no período em que ele está sendo apurado — sem isso, ele ficaria sem sinal ali e viraria não governável, glosa de 100% sobre um item que estava bem. E o item incluído depois do congelamento não entra no período congelado: não se move o poste depois do tiro. Item inativo no cadastro conta como não inventariado.
Uma coisa de cada vez no mesmo período. Congelar, apurar, ligar ou trocar o contrato e receber sinais travam o período enquanto agem: a segunda operação espera a primeira terminar e lê o estado já mudado. Assim o contrato não troca no meio de um congelamento (a base de um sustentaria a glosa de outro), e o sinal não entra no meio de uma apuração.
Ocorrência aberta — POST /api/v1/imr/ocorrencias, permissão imr:ingerir (a integração) ou imr:operar (quem registra à mão na tela Períodos): icId, referencia, protocolo, resumo, fechada e, opcional, fonte. A conta de integração pode dizer a própria fonte (sem dizer, fica citsmart); quem não tem imr:ingerir grava sempre manual, diga o pedido o que disser, e quem tem as duas sem dizer a fonte também grava manual. Registro manual que encontra, na mesma chave (item, mês, protocolo), uma ocorrência de outra fonte é recusado com 409 — a marcação à mão não fecha nem reescreve o que veio do conector.
Correlação por modelo de linguagem não entra aqui
A plataforma tem um motor de correlação por LLM, e ele não toca em estado de conformidade. O requisito é taxativo e a decisão é acertada: um valor faturado não pode depender de inferência probabilística. Correlação é insumo de priorização e de investigação; estado de conformidade é regra determinística, e por isso a apuração é reexecutável e produz o mesmo resultado.
Painéis do IMR
Dois painéis publicados, porque são duas perguntas feitas em momentos diferentes:
IMR — faturamento e glosa responde a pergunta do fechamento: quanto foi apurado, quanto se propõe glosar, e onde a glosa se concentra — por contrato, por unidade e por atividade.
IMR — conformidade e nexo responde a pergunta de quem vai tratar: onde a falha está, de quem é o nexo, e o que o motor propôs como consequência.
As três fontes do construtor — apuração, consequências e itens de configuração — são registradas pelo próprio módulo do IMR, e não escritas no catálogo comum. Numa instalação privada que nunca rodou a migração do IMR, o catálogo comum citando imr.apuracao faria a plataforma falhar ao iniciar, porque ele é conferido contra o banco na subida.
Uma regra atravessa todas as consultas: só a revisão vigente. A apuração é append-only, e um painel que somasse todas contaria o mesmo item duas vezes e mostraria glosa maior que a proposta. Ninguém desconfia de um número num painel.
Simular as origens no Sandbox
Em Automação ▸ Sandbox há um bloco Origens do IMR — visível só onde o módulo está ligado — que dispara as duas plataformas pelo mesmo caminho de ingestão que elas usariam de verdade, com validação, idempotência e rejeição visível. Um simulador que grava direto na tabela prova que a tabela aceita o dado, que é a parte que nunca falhou.
Escolha o Período de destino (é preciso ter um período aberto), Quantos ativos e, se quiser ver a glosa, marque Incluir uma falha. Depois clique em Disparar CitSmart Autonomous, Disparar CitSmart X — SLA rompido e Reapurar o período; o resultado mostra a base rateada e a glosa proposta. Disparar exige imr:operar.
A separação entre as duas é o ponto: dispare só o Autonomous e todos os itens ficam sem a dimensão de registro, logo nenhum é conforme. É a conformidade tripla funcionando, e vê-la falhar ensina mais do que qualquer texto sobre ela.
Parâmetro geral e parâmetro de contrato
Na tela IMR ▸ Parâmetros do ANS (definir exige imr:decidir):
1. Escolha a aba: Regra padrão (vale para todo contrato sem valor próprio) ou Pactuado por contrato. Nesta, escolha o Contrato; com Todos — mostre onde se combinou diferente, a tela lista só o que cada contrato pactuou fora do padrão.
2. No parâmetro, clique em alterar, informe o Valor (dentro da faixa mostrada), Vigente de e Por quê (o ato que fixou o valor), e clique em Definir.
3. Para desfazer, use voltar ao padrão do requisito (na regra padrão) ou voltar ao geral (no contrato).
4. Em Calendário de prazos, escolha o ano e use Acrescentar feriado local — Data, Nome, Tipo, Abrangência, UF, Município — e Acrescentar. Os de fábrica não se removem. remover, no feriado local, pergunta antes: a data volta a contar como dia útil, e os prazos que passam por ela terminam um dia antes.
O Histórico de vigências mostra cada valor definido, desde quando e por quem.
Cada parâmetro pode valer para a instalação inteira ou só para um contrato, e o do contrato vence o geral. A tela de parâmetros tem um seletor de escopo e diz de onde o valor em vigor veio — sem isso alguém altera o geral esperando mudar um contrato que tem valor próprio, e o número não se move sem explicação.
Vigência não retroage nem antecipa: um valor com data futura não aparece como vigente, e período já apurado continua com o que valia quando foi apurado.
O que ainda depende da Administração
Os limiares que separam leve, média e grave; a proporcionalidade para item com vigência parcial no período; os percentuais de glosa por visibilidade; o critério objetivo de ARRC; e os prazos de contraditório e de decisão.
Nada disso bloqueia o uso. Todos são parâmetros versionados por período — o motor apura com os padrões do requisito e registra tudo, o que permite operar em modo sombra e calibrar com dado real antes de ligar a consequência financeira.