# Fase B5 — Procedencia de datos y consulta temporal Versión: `0.12.0` ## Objetivo Completar el Maestro de Activos con dos capacidades previstas desde su diseño: - identificar de dónde proviene la información principal de cada activo; - reconstruir cómo se encontraba el maestro en una fecha y hora determinada. ## Procedencia Cada activo registra: - origen controlado: carga manual, relevamiento de campo, documentación recibida, importación o sistema; - nombre de la fuente y referencia; - fecha y hora observada; - notas de procedencia; - usuario y fecha de la última actualización; - usuario y fecha de verificación. Actualizar la procedencia reinicia cualquier verificación previa. Las fuentes documentales e importaciones requieren identificar la fuente. ## Permisos - `assets.read_provenance`: cinco roles base; - `assets.manage_provenance`: admin, supervisor e inspector; - `assets.verify_provenance`: admin, director y supervisor; - `assets.read_temporal`: cinco roles base. ## Versionado y auditoría La migración incorpora una versión inicial de procedencia a todos los activos existentes. Las actualizaciones y verificaciones posteriores: - incrementan `assets.current_version`; - generan un snapshot inmutable completo; - registran actor, origen, request ID y evento de auditoría; - no permiten al usuario runtime modificar ni borrar versiones anteriores. ## Consulta temporal La API selecciona la última versión de cada activo cuya fecha sea menor o igual al instante solicitado. Así reconstruye sólo los activos que ya existían en ese momento y conserva sus códigos, nombres, tipos, jerarquías, estados, atributos, geometrías, archivos y procedencia histórica. Rutas: - `GET /api/v3/temporal-assets?at=...`: maestro histórico paginado y filtrable; - `GET /api/v3/temporal-assets/:assetId?at=...`: snapshot exacto de un activo. Las consultas son de sólo lectura y no modifican el estado actual. ## Interfaz - panel de procedencia dentro de cada activo; - estado pendiente o verificado en el listado maestro; - sección **Consulta temporal** con fecha, hora y filtros; - vigencia desde/hasta de cada snapshot; - visor semántico y snapshot técnico exacto.