02 — System Diagram

🔍 Open the Interactive Diagram Viewer — pan, zoom and the full ERD.

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

flowchart TD
  CC[Smcs]
  MOD[Modifier]
  JOB[JobCode]

  CC -- parent (inferred) --> CC

The three lists are independent; they meet in the records of other applications.

How Asset Register uses the codes

flowchart LR
  subgraph Classification
    CC[Smcs 4050 Final drive]
    MOD[Modifier LH]
    JOB[JobCode 523]
  end
  subgraph AssetRegister[Asset Register]
    FIT[Fitment: TRUCK-17, position 4050-LH, unit FD-123]
    COMP[Asset FD-123 SMCS 4050]
  end
  CC --> FIT
  MOD --> FIT
  JOB -- removal job --> FIT
  CC --> COMP

Pickers on other applications' forms

sequenceDiagram
  participant F as Fitment form (Asset Register)
  participant A as Asset Register's server
  participant C as Classification
  F->>A: type "final drive"
  A->>C: classification.search_smcs (direct, read-only)
  C-->>A: matching SMCS codes (code, description)
  A-->>F: pick 4050 Final drive -> stores its network id + code