Skip to content

08 — Regras semânticas ​

← Índice · Prefixo de citação: UFE-08#RS-nn

✅ Consolidado. Doze invariantes. São o capítulo mais curto e o mais acionável: cada regra é um teste que a modelagem tem que passar, e a violação de qualquer uma produz um schema que só falha em produção.

Uso sugerido em revisão: ao revisar um schema, tipo ou coleção do domínio operacional, passe as doze. É checklist, não leitura.

IDRegraConsequência de modelagem
RS-01Escala planejada não comprova trabalho realizadoEscala e jornada são entidades separadas. Apuração de horas lê jornada, nunca escala
RS-02Apresentação não significa início da jornadaT-111 e T-114 são timestamps distintos, não o mesmo campo
RS-03Início da jornada não significa disponibilidade operacionalA máquina da jornada e a de disponibilidade são independentes (UFE-07)
RS-04Policial, equipe, guarnição e viatura possuem ciclos de vida independentesQuatro máquinas de estado, não um status compartilhado
RS-05Pausa do policial não significa necessariamente pausa de toda a equipeA pausa tem escopo (UC-28): indivíduo, guarnição, recurso ou capacidade parcial
RS-06Uma equipe pode atender várias ocorrências durante a jornadaRelação N:N entre jornada/equipe e ocorrência, com participação como entidade
RS-07Uma ocorrência pode atravessar diferentes turnos e equipesA ocorrência não pertence a uma jornada. Transferência (UC-33) é primeira classe
RS-08O encerramento do despacho não encerra automaticamente a ocorrênciaEstado do despacho ≠ estado da ocorrência (D-07). Encerrar todos os despachos não fecha o caso
RS-09A devolução física não encerra a cautela sem conferênciaEstado EmConferencia entre EmUso e Devolvido. Baixa (T-142) ≠ devolução (T-140)
RS-10Uma jornada pode terminar com pendência, desde que ela esteja formalizadaO encerramento não bloqueia; ele exige que a pendência tenha registro (UC-39, UC-40)
RS-11Atividades pessoais devem usar classificação genérica e preservar privacidadeRegistrar o efeito operacional (indisponível), não a causa íntima. "Pausa pessoal", não "banheiro"
RS-12A localização deve estar associada ao recurso institucional, não ao policial fora de serviçoO sujeito do rastreamento é a viatura/rádio; o escopo termina em UC-41 (liberação)

As três regras que mais custam se violadas ​

RS-07 — a ocorrência não pertence à jornada ​

É a mais fácil de violar porque a modelagem ingênua é tentadora: a ocorrência aparece durante o turno, então parece filha dele. Mas uma ocorrência longa — desaparecimento, ocupação, desastre — atravessa dias e dezenas de equipes. Amarrá-la à jornada obriga a duplicá-la a cada troca de turno, e o histórico se fragmenta exatamente no momento em que ele é mais necessário.

Teste: a ocorrência sobrevive ao encerramento de todas as jornadas envolvidas, sem cópia?

RS-09 — devolver não é dar baixa ​

O intervalo entre a devolução física e a baixa da cautela é onde toda a apuração de responsabilidade acontece. Um modelo que faz devolver() fechar a cautela transforma "o rádio voltou quebrado" em um registro que não existe — porque o único momento em que ele poderia ser criado já passou.

Teste: existe um estado em que o recurso está fisicamente na unidade e a cautela ainda está aberta?

RS-11 / RS-12 — privacidade não é um requisito adicional ​

As duas últimas regras não são preferência de UX; são o que separa um sistema de gestão operacional de um sistema de vigilância do trabalhador. E elas mudam o schema, não só a interface: se o tipo de pausa tiver um valor banheiro, a privacidade já foi perdida no banco — nenhuma permissão de leitura resolve depois.

Teste: o enum de pausa e o modelo de localização conseguem responder "esta equipe está disponível?" sem conseguir responder "onde estava o policial X ontem às 22h?"

Regras que a fonte não cobre ​

Vazios reconhecidos, para não passarem por completude:

  • Retenção e expurgo. Por quanto tempo cada registro vive. RS-11 e RS-12 limitam o que se coleta, mas nada limita por quanto tempo se guarda.
  • Quem pode ler o quê. As regras tratam de estrutura, não de autorização.
  • Correção de registro. Um marco lançado errado — chegada registrada no endereço errado — precisa de retificação com trilha, não de UPDATE.
  • Conflito entre fontes. Quando a telemetria AVL diz que a viatura está a 3 km do local e a equipe registrou chegada, quem ganha.

← 07 — Máquinas de estado · Índice · Próximo: 09 — Panorama de sistemas no Brasil →