System Diagram

The Legal Obligation Register data model, mapped — 18 models, 32 relationships

🔍 Open the Interactive Diagram Viewer — pan, mouse-wheel zoom, fit-to-screen, full-screen, per-area tabs, the full ERD, and a focus mode that draws one model and its neighbours at a chosen depth. LegalObligation, LegalInstrument and BusinessUnit are hub tables, so their links can be hidden to declutter the overview.


Architecture overview

Sources on the left create obligations; obligations are managed by controls, proven by evidence, tested by verification, and — when they fail — handled by exceptions and corrective actions.

flowchart LR
    subgraph INSTRUMENTS["📜 Instruments & sources"]
        LegalInstrument
        InstrumentProvision
        InstrumentChange
        BusinessUnit
    end
    subgraph OBLIGATIONS["⚖️ Obligations"]
        LegalObligation
        ObligationApplicability
        ObligationOccurrence
        ObligationReview
    end
    subgraph CONTROLS["🛡️ Controls & evidence"]
        Control
        ObligationControl
        EvidenceRequirement
        EvidenceItem
    end
    subgraph VERIFICATION["✅ Verification & assurance"]
        VerificationPlan
        Verification
        ComplianceAssessment
    end
    subgraph EXCEPTIONS["⚠️ Exceptions & actions"]
        Exception
        CorrectiveAction
        Communication
    end

    LegalInstrument --> InstrumentProvision
    LegalInstrument --> LegalObligation
    InstrumentProvision --> LegalObligation
    BusinessUnit --> LegalObligation
    BusinessUnit --> Control
    LegalObligation --> ObligationApplicability
    LegalObligation --> ObligationOccurrence
    LegalObligation --> ObligationControl
    Control --> ObligationControl
    LegalObligation --> EvidenceRequirement
    EvidenceRequirement --> EvidenceItem
    ObligationOccurrence --> EvidenceItem
    LegalObligation --> VerificationPlan
    VerificationPlan --> Verification
    LegalObligation --> ComplianceAssessment
    LegalObligation --> Exception
    Verification --> Exception
    Exception --> CorrectiveAction
    LegalObligation --> ObligationReview
    LegalInstrument --> InstrumentChange
    Exception --> Communication

Instruments & sources

LegalInstrument and its InstrumentProvisions are the source of truth; InstrumentChange records amendments and their impact assessment; BusinessUnit (self-nesting) is the ownership structure for obligations and controls.

Obligations

LegalObligation is drawn from an instrument/provision, owned by a business unit, typed and risk-rated with a frequency and due rule. ObligationApplicability scopes it to entities/sites, ObligationOccurrence is each dated instance, and ObligationReview keeps the interpretation current.

Controls & evidence

Controls are mapped to obligations via ObligationControl; EvidenceRequirement defines what must be kept; EvidenceItem is the actual record (hash, acceptance), linked to its obligation, occurrence and requirement.

Verification & assurance

VerificationPlan/Verification independently test control effectiveness; ComplianceAssessment records the resulting assurance status with a stated basis.

Exceptions & actions

Exception captures a breach or control failure (with a regulator-notification flag); CorrectiveAction tracks the remediation to verification; Communication logs related correspondence.

Regenerating this diagram

The interactive viewer is generated — after any DSL, menu_config.yaml or schema/diagram_config.yaml change, re-run:

python scripts/build_diagram_viewer.py lor