Every table in every insigz tenant is one of six things: a source registry, an observation log, an entity table, an event log, a case binding, or a report manifest. There are no exceptions and no escape hatches. That sentence is the entire architecture, and defending it is most of the engineering.
The five nouns
A Source is an external system we read from — ais.spire, entso-e.transparency, ofac.sdn. An Observation is an atomic, timestamped, geolocated, signed fact produced by an ingestor. An Entity is a noun in the world — a vessel, a cable, a sanctioned party — that accumulates observations over time under a stable ID. An Event is a change in entity state derived from observations. A Case is a bound set of events that mean something together. A Report is what a case becomes when a human signs it.
The chain is a synthesis of two traditions — defense data fusion (the JDL levels) and the entity-centric ontology pattern that commercial platforms standardized. We didn't invent it; we named the lineage so any reviewer with a fusion background can place it immediately.
Why it survives new sources
The test of a data model is what happens when source number 48 arrives. In a bespoke-pipeline architecture, a new source means a new pipeline, a new schema, a new silo, and a new set of bugs. In the canonical model it means one thing: write an ingestor that emits observations in the standard shape. Everything downstream — resolution, events, cases, the analyst's grounding — inherits automatically.
// one shape for every fact, from every source
{
"id": "OBS-50412",
"source_id": "spire-ais",
"observed_property": "vessel_position",
"observed_at": "…Z", // event time (when true)
"ingested_at": "…Z", // system time (when received)
"entity_ref": "VESSEL-SF12",
"geo": { "lat": 59.81, "lon": 24.77 },
"provenance": { "signature": "sha256:…", "classification": "OPEN" }
}
What "canonical" buys you
- Bitemporality. Keeping
observed_atandingested_atseparate is what powers time-travel reconstruction — asking what we knew, as of a past moment, versus what was true then. - Provenance. Every observation is signed by its source. A degraded feed can be down-weighted or quarantined without corrupting the picture, and a disputed conclusion traces back to specific signed facts.
- Grounding. Because the analyst is anchored at the observation layer, it cites
[OBS-####]rather than asserting. The model is the reason the AI can be made honest.
The chain is a communication device, not a claim that data only flows left to right.
Why "Case" is a stage
In pure sensor-fusion vocabulary, a case isn't a level — it belongs to investigative and compliance practice. We kept it as a first-class stage anyway, because our maritime, sanctions, and academic users think in cases. For a hard-defense reader, the same stage reads as "investigation." Naming it for the user, not the textbook, is a deliberate choice we'd make again.
