# 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.