Entity Model

Entity Relationships

CaseMgr uses ArcadeDB as a graph database, storing entities as vertices and relationships as edges.

Core Entities

EntityDescription
CaseTop-level container for case management
CaseFileItemItems within a case (12 types)
ClientBilling entity with rate and currency
WorktreeGit worktree tracking across machines

CaseFileItem Types (12)

TypeDescriptionRequired Fields
bookmarkWeb bookmarkurl, title
directoryFilesystem pathpath
fileFile attachmentfilename
folderOrganizational folder(none)
noteMarkdown notecontent
invoiceBilling invoiceinvoice_number, amount
durationTime trackingstart_time
desktopWorkspace configname
taskCMMN tasktitle, status
stageCMMN stagename, status
milestoneCMMN milestonename, status
sentryEntry/exit criterianame, sentry_type

Edge Types (Relationships)

EdgeRelationship
HasCaseFileItemCase → CaseFileItem
ParentOfCaseFileItem → CaseFileItem (hierarchy)
BelongsToCase → Client
HasInvoiceClient → Invoice
LinkedToAny → Any (flexible)
HasWorktreeCase → Worktree

Visual Diagram

CLIENT ──BelongsTo──► CASE ──HasCaseFileItem──► CASE FILE ITEM
   │                    │                              │
   │                    └──HasWorktree──► WORKTREE     │
   │                                                   │
   └──HasInvoice──► INVOICE (CaseFileItem)        ParentOf
                                                       │
                                                       ▼
                                                  Child Items