1.2 KiB
ADR-005 — Vigência temporal e snapshots
- Estado: Aceite como convenção de contrato; aplicar por domínio.
- Data: 2026-10-01
- Contexto: schema usa
valid_from/valid_until,valid_to, revisões e snapshots; não há convenção temporal única para todo o legado.
Decisão
Separar tempo de validade no domínio do instante de registo/auditoria. Para novos intervalos de validade com datas, adoptar intervalo inclusivo no início e exclusivo no fim ([valid_from, valid_to)), valid_from obrigatório quando a regra de domínio o exigir e fim aberto representado por NULL; UTC/timestamptz para instantes e date para vigência civil. Snapshots imutáveis guardam versão do catálogo e IDs de origem quando resultado depende de dados versionados. Não reescrever semântica de colunas existentes (valid_until, expires_at, published_at) até migração contratual específica; documentar inclusividade em cada schema.
Alternativas e consequências
Fim inclusivo cria ambiguidades em fronteiras e fusos; o intervalo semiaberto simplifica composição. Bitemporalidade integral foi adiada por não estar exigida em todas as entidades. Importações e correcções históricas preservam proveniência e não actualizam snapshots passados.