UML data model: tenant isolation and durable recordsTenant isolation lives in the data modelUML associations: tenant-scoped keys, pinned versions, durable executionTenanttenant_id: UUID [PK]policy_epoch: longquota_policy_id: UUIDApplicationtenant_id + app_id [PK]active_release_id: UUIDdefinition_version: longRuntenant_id + run_id [PK]release_id: UUID [FK]owner_epoch + statusDocumentRevisiontenant + source + entityrevision: long [PK part]acl_revision: longdeleted + content_hashReleasetenant_id + release_id [PK]app_id: UUID [FK]manifest_hash: stringimmutable: trueSteptenant + run + step [PK]intent_hash: stringattempt + owner_epochresult_ref: URI?Evidencetenant + evidence_id [PK]source_revision: string?tool_call_id: UUID? [FK]interval + artifact_hashToolCalltenant + operation_key [PK]run_id + step_id [FK]input_hash + stateexternal_status_ref: URI?RunEventtenant + run + seq [PK]step_id: UUID? [FK]event_type: stringevent_version: long1 / 0..*1 / 0..*1 / 0..*1 / 1..*1 / 0..*0..1 / 0..*1 / 0..*Step 1 / ToolCall 0..*1 / 0..*Every foreign key includes tenant_id. Evidence may also refer to queried telemetry.