- Documentation
- /
- Arim
- /
- 02 — System Diagram
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. AuditRequest and Investigation are hub tables, so their 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 arim.
The case spine
flowchart TD
Entity[Entity]
AR[AuditRequest]
Iss[RequestIssue]
Tri[TriageAssessment]
Jur[JurisdictionAssessment]
Con[ConflictAssessment]
IR[InformationRequest]
Inv[Investigation]
Plan[InvestigationPlan]
Ev[EvidenceItem]
EIL[EvidenceIssueLink]
CoC[ChainOfCustody]
Int[Interview]
Chr[ChronologyEvent]
Find[Finding]
FEL[FindingEvidenceLink]
PFR[ProceduralFairnessResponse]
Rec[Recommendation]
Ref[Referral]
Dec[Decision]
Clo[ClosureRecord]
SH[StatusHistory]
Entity --> AR
AR --> Iss
AR --> Tri
AR --> Jur
AR --> Con
AR --> IR
AR --> Inv
Inv --> Plan
Inv --> Ev
Ev --> EIL
Iss --> EIL
Ev --> CoC
Inv --> Int
Inv --> Chr
Inv --> Find
Iss --> Find
Find --> FEL
Ev --> FEL
Find --> PFR
Inv --> Rec
AR --> Ref
AR --> Dec
AR --> Clo
AR --> SH
How to read it
- Two hubs. The AuditRequest carries intake, triage and outcome; the Investigation carries plan, evidence, interviews, chronology and findings. The viewer lets you hide their edges to see local structure.
- Evidence is linked and controlled.
EvidenceItems link to issues (EvidenceIssueLink, supports/contradicts) and to findings (FindingEvidenceLink), and each carries aChainOfCustodytrail — the defensibility backbone. - Findings are tested. A
Findingagainst aRequestIssueis corroborated by evidence and put through aProceduralFairnessResponse(natural justice) before it is settled. - Outcomes then closure.
Recommendation,Referraland an authorisedDecisionlead to aClosureRecordwith a completeness checklist (records, evidence index, conflicts, procedural fairness). StatusHistoryis the audit trail of the request's state transitions.
Backing data (denormalised for display)
Each foreign key carries a denormalised <fk>_name display column so lists read in plain
language (link tables resolve both sides — e.g. an EvidenceIssueLink shows both its
evidence and its issue) without a join at read time — the house style for these apps.