Ucotron Cortex
Arquitectura

Modelo de dominio

De la organización al reporte firmado, y qué gobierna cada salto.

El mapa, por área de permiso

El producto de un vistazo: cuatro áreas de permiso alrededor de un solo eje — un evento produce detecciones sobre los AOIs de tu cartera, una detección puede abrir un peritaje dentro de un siniestro, y el peritaje termina en un reporte firmado verificable offline. Cada área lleva los permisos del catálogo canónico que gobiernan sus endpoints.

Mapa del dominio por área de permiso Cuatro áreas de permiso — cartera, alerting, siniestros y reportes — alrededor del eje central del producto: un evento climático produce detecciones sobre los AOIs de la cartera, una detección puede abrir un peritaje dentro de un siniestro, y el peritaje termina en un reporte firmado verificable offline. El detalle exhaustivo está en el diagrama entidad-relación de abajo. Cartera portfolio:read · portfolio:write PORTFOLIO AOI POLICY CLIENT lo que se monitorea Alerting alerts:read · watch:write WATCH ALERT WEBHOOK cómo te enterás EVENTO DETECCIÓN PERITAJE REPORTE FIRMADO el evento dispara alertas y webhooks la detección cae sobre un AOI de la cartera el peritaje vive dentro de un siniestro y termina en un reporte firmado Siniestros claims:read · claims:write CLAIM PERITAJE el peritaje junta la evidencia satelital del daño Reportes reports:read · reports:sign REPORT MANIFIESTO Ed25519 la firma se verifica offline, sin llamar a la API

La referencia exhaustiva

El detalle completo, entidad por entidad y con sus cardinalidades:

Diagrama: Modelo de dominioDiagrama entidad-relación exhaustivo del dominio: carteras, AOIs, pólizas, eventos, detecciones, siniestros, peritajes, reportes y alertas, con sus cardinalidades.

tiene

tiene

se ve como

agrupa

contrata

cubre

produce

sobre

sobre

se perita en

mide

se reporta en

firmado con

vigilado por

emite

notifica por

ORGANIZATION

PORTFOLIO

CLIENT

ORG_BRANDING

AOI

POLICY

EVENT

DETECTION

CLAIM

PERITAJE

REPORT

SIGNATURE

WATCH_SUBSCRIPTION

ALERT

WEBHOOK_DELIVERY

Diagrama: Modelo de dominioDiagrama entidad-relación exhaustivo del dominio: carteras, AOIs, pólizas, eventos, detecciones, siniestros, peritajes, reportes y alertas, con sus cardinalidades.

tiene

tiene

se ve como

agrupa

contrata

cubre

produce

sobre

sobre

se perita en

mide

se reporta en

firmado con

vigilado por

emite

notifica por

ORGANIZATION

PORTFOLIO

CLIENT

ORG_BRANDING

AOI

POLICY

EVENT

DETECTION

CLAIM

PERITAJE

REPORT

SIGNATURE

WATCH_SUBSCRIPTION

ALERT

WEBHOOK_DELIVERY

Fuente del diagrama (mermaid)
erDiagram
    ORGANIZATION ||--o{ PORTFOLIO : "tiene"
    ORGANIZATION ||--o{ CLIENT : "tiene"
    ORGANIZATION ||--|| ORG_BRANDING : "se ve como"
    PORTFOLIO ||--o{ AOI : "agrupa"
    CLIENT ||--o{ POLICY : "contrata"
    POLICY }o--o{ AOI : "cubre"
    EVENT ||--o{ DETECTION : "produce"
    AOI ||--o{ DETECTION : "sobre"
    AOI ||--o{ CLAIM : "sobre"
    CLAIM ||--o{ PERITAJE : "se perita en"
    DETECTION ||--o{ PERITAJE : "mide"
    CLAIM ||--o{ REPORT : "se reporta en"
    REPORT ||--o| SIGNATURE : "firmado con"
    AOI ||--o{ WATCH_SUBSCRIPTION : "vigilado por"
    WATCH_SUBSCRIPTION ||--o{ ALERT : "emite"
    ALERT ||--o{ WEBHOOK_DELIVERY : "notifica por"

Las cuatro reglas que el modelo impone

Todo cuelga de una organización. No hay entidad sin tenant. Es lo que hace que un recurso de otra organización pueda responder 404 en vez de 403: el runtime siempre sabe de quién es lo que le están pidiendo.

Un peritaje necesita una detección. No es una relación opcional: un peritaje sin medición no es evidencia, es una opinión con formato. El contrato lo valida.

Un reporte aprobado necesita firma. Aprobado sin firma no es evidencia verificable, y publicarlo como si lo fuera es peor que no tener firma.

Un AOI tiene versión de geometría. Redibujar el lote es otro cálculo: aoiVersion entra en el hash de contenido de /v1/jobs para que un footprint viejo no se reuse con una geometría nueva.

Qué gobierna cada área

Cada entidad se lee y se escribe con el permiso de su área del catálogo canónico (ADR 0006), no con uno global:

EntidadPermisos
Portfolio, AOIportfolio:read / portfolio:write
Clientclients:read / clients:write
Policyunderwriting:read / underwriting:write
Event, Detectionevents:read / events:write
Claim, Peritajeclaims:read / claims:write
Reportreports:read / reports:write
Watch, Alertalerting:read / alerting:write
Webhooknotifications:read / notifications:write
Org brandingadmin:read / admin:write

El copiloto y el buscador vuelven a chequear el permiso del área antes de leer. Una puerta única alcanzaría para que alguien con permiso de cartera leyera siniestros por una ventana lateral, sin dejar rastro en ninguna pantalla.

On this page