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. ReleaseRequest 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_10_release.

Documents

flowchart LR
  REL0[ReleaseDocumentType] --> SHI1[ShippingDocument]
  SHI1[ShippingDocument] --> SHI2[ShippingDocumentLine]
  SHI1[ShippingDocument] --> SHI1

Release Requests

flowchart LR
  REL3[ReleaseRequest] --> REL4[ReleaseItem]
  REL3[ReleaseRequest] --> REL5[ReleaseCheck]
  REL3[ReleaseRequest] --> REL6[ReleaseCargoHold]
  REL3[ReleaseRequest] --> REL7[ReleaseEvidence]

Authority & Reservations

flowchart LR
  REL8[ReleaseAuthority] --> REL9[ReleaseAuthorityItem]
  REL9[ReleaseAuthorityItem] --> REL10[ReleaseReservation]
  REL10[ReleaseReservation] --> REL13[ReleaseValidation]
  REL10[ReleaseReservation] --> REL11[ReleaseException]
  REL8[ReleaseAuthority] --> REL11[ReleaseException]
flowchart LR
  SHI1[ShippingDocument] --> REL8[ReleaseAuthority]
  REL3[ReleaseRequest] --> REL8[ReleaseAuthority]
  REL4[ReleaseItem] --> REL9[ReleaseAuthorityItem]
  REL3[ReleaseRequest] --> REL11[ReleaseException]
  REL3[ReleaseRequest] --> REL12[ReleaseAudit]
  REL8[ReleaseAuthority] --> REL12[ReleaseAudit]

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

flowchart LR
  subgraph coast_10_release
    RQ[ReleaseRequest]
    AU[ReleaseAuthority]
    RS[ReleaseReservation]
    DC[ShippingDocument]
  end
  subgraph coast_02_manifest
    EC[effective cargo]
    LC[manifest.line_corrected]
  end
  subgraph coast_04_yard
    GT[GateTransaction]
    YR[YardReleaseReservation]
  end
  subgraph coast_09_cartage
    POD[cartage.pod_verified]
  end
  EC -. "manifest.effective_cargo" .-> RQ
  LC -. "suspends authority" .-> AU
  YR -. "release.reserve / validate / consume / cancel" .-> RS
  GT -. "gate fact" .-> YR
  AU -. "release.authority_changed" .-> YR
  RS -. "release.reservation_consumed" .-> YR
  POD -. "evidence only" .-> RQ