# D5.3.23.1 · Altas de campo y revisión de Inventarios ## Objetivo Permitir que un inspector registre durante una inspección un elemento que no existe todavía en el Inventario, siga trabajando con ese registro provisional y deje la decisión definitiva para oficina. ## Flujo 1. Sólo un inspector autenticado desde la aplicación móvil puede generar un alta de campo. 2. La visita debe estar `IN_PROGRESS` y el inspector debe integrar el equipo asignado. 3. El elemento se crea como `DRAFT`, con origen `FIELD_SURVEY`, referencia a la visita y trazabilidad completa. 4. El elemento se incorpora inmediatamente a la visita y, si el Acta ya existe y sigue abierta, también al Acta para poder registrar Hallazgos sobre él. 5. En oficina, la bandeja **Inventarios → Altas de campo** permite: - abrir y corregir la ficha; - aprobarla, pasando a `VALIDATED`; - conciliarla con un registro existente de la misma Empresa y Área; - rechazarla. 6. Conciliar o rechazar nunca elimina el registro provisional: se archiva como `INACTIVE` para conservar las referencias históricas. 7. Actas y Hallazgos ya emitidos no cambian de `asset_id`; el vínculo con un registro existente se registra aparte mediante `matched_asset_id`. ## Validación mínima al aprobar La ficha debe mantener como mínimo Empresa, Área, Tipo de elemento y Nombre/código. El esquema ya exige Nombre y Código; la aprobación agrega el control explícito de Empresa y Área. ## Seguridad - Creación en campo: permiso `assets.create` + política de inspector móvil. - Bandeja: `assets.read`. - Aprobar, conciliar y rechazar: `assets.change_status`. - No se agregan permisos nuevos ni se amplían roles en esta fase. ## Persistencia Nueva tabla `asset_field_discoveries`, append-preserving, con estado `PENDING | APPROVED | MATCHED | REJECTED`, visita, inspector, decisión de oficina y eventual coincidencia. SMTP no forma parte de esta fase y puede continuar sin configurar. ## Parche 23.1 El enlace del objeto provisional con `inspection_visit_assets` y `inspection_act_assets` se aisló en `FieldDiscoveryInspectionLinkService`, manteniendo `AssetsService` libre de escrituras directas sobre tablas de inspección y conservando el test arquitectónico de D5.3.14.