02 — System Diagram

🔍 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. CustomsDeclaration fans out to many tables, so its links can be hidden to declutter the overview.

Regenerate the viewer after any DSL, menu_config.yaml or diagram_config.yaml change: python scripts/build_diagram_viewer.py coast_12_customs.

Declarations

flowchart LR
  CUS0[CustomsAuthority] --> CLE1[ClearanceProfile]
  CUS0[CustomsAuthority] --> BRO2[BrokerMandate]
  CLE1[ClearanceProfile] --> CUS3[CustomsDeclaration]
  BRO2[BrokerMandate] --> CUS3[CustomsDeclaration]
  CUS3[CustomsDeclaration] --> CUS3
  CUS3[CustomsDeclaration] --> DEC4[DeclarationItem]
  CUS3[CustomsDeclaration] --> CUS5[CustomsDocument]
  CUS3[CustomsDeclaration] --> CUS6[CustomsTransmission]
  CUS3[CustomsDeclaration] --> DEC7[DeclarationAmendment]

Decisions & Holds

flowchart LR
  CUS3[CustomsDeclaration] --> CUS8[CustomsDecision]
  CUS8[CustomsDecision] --> REG9[RegulatoryHold]
  CUS3[CustomsDeclaration] --> REG9[RegulatoryHold]

Current Clearance

flowchart LR
  CUS3[CustomsDeclaration] --> CLE10[ClearanceAssessment]
  CUS8[CustomsDecision] --> CLE10[ClearanceAssessment]
  CLE10[ClearanceAssessment] --> CUS11[CustomsClearanceCheck]
  CUS3[CustomsDeclaration] --> CUS12[CustomsException]
  REG9[RegulatoryHold] --> CUS12[CustomsException]
flowchart LR
  CUS3[CustomsDeclaration] --> CUS13[CustomsAudit]
  REG9[RegulatoryHold] --> CUS13[CustomsAudit]

No shared tables and no foreign keys: sibling applications are linked by canonical_ref strings and by messages.

flowchart LR
  subgraph coast_12_customs
    DC[CustomsDeclaration]
    DE[CustomsDecision]
    HD[RegulatoryHold]
    AS[ClearanceAssessment]
    CK[CustomsClearanceCheck]
  end
  subgraph coast_02_manifest
    EC[effective cargo]
  end
  subgraph coast_10_release
    RR[release request / reserve / validate]
    DI[release.document_issued]
  end
  subgraph coast_03_tracking
    TH[scoped tracking hold]
  end
  subgraph coast_16_assurance
    AA[assurance cases]
  end
  EC -. "manifest.effective_cargo" .-> AS
  DI -. "supporting document" .-> DC
  RR -. "customs.check_clearance" .-> CK
  CK -. "customs.clearance_checked" .-> RR
  AS -. "customs.clearance_changed" .-> RR
  HD -. "customs.hold_changed" .-> RR
  HD -. "customs.hold_changed" .-> TH
  AS -. "customs.clearance_changed" .-> AA
  HD -. "customs.hold_changed" .-> AA
  AA -. "assurance.action_requested" .-> DC