Examples

DNA modeled across seven business domains. Each example validates against the schemas and exercises specific parts of the model — start here when you want to see how a real domain looks.

Each example is a complete, validating DNA document. They are organized to exercise different parts of the language: Memberships, scoping, system Roles, parallel Processes, scope-narrow inheritance, and the registry meta-pattern. Pick whichever one is closest to the system you're modeling.

Lending

A bank approves and disburses loans. The canonical first example — small, complete, and exercises the operational triangle of Person, Role, and Operation.

Demonstrates

  • Operations, Tasks, Process
  • Operation-level and Process-level Triggers
  • A system Role (scheduled delinquency sweep)
  • A scoped Role (Underwriter within BankDepartment)
  • Person-as-actor (Borrower) and Role-as-actor (Underwriter)
  • Memberships

View source on GitHub →

Mass Tort

A law firm runs many parallel plaintiff cases. Group-heavy modeling — each Case is a Group with multiple lawyers attached via Memberships.

Demonstrates

  • Case as Group
  • Multiple Person→Role Memberships (Partner → LeadCounsel / CoCounsel)
  • Multiple Processes
  • Process triggered by an Operation completion

View source on GitHub →

Marketplace

A two-sided rental marketplace. A single Member can be both Host and Guest — the same Person template eligible for two peer Roles via Memberships.

Demonstrates

  • Same Person template eligible for two peer Roles via Memberships (Member → Host AND Member → Guest)
  • Two Groups (Listing, Booking)
  • A global (unscoped) Role
  • Step.else routing

View source on GitHub →

Healthcare

A hospital admits and discharges patients. Patient as a Person template with its own lifecycle, and per-Patient scope for the attending physician.

Demonstrates

  • Patient as Person template (structure and lifecycle)
  • Per-Person Role.scope (AttendingPhysician.scope = Patient)
  • Mixed scope targets (Person + Group)
  • Multi-predicate condition Rule

View source on GitHub →

Manufacturing

A factory floor with multiple system Roles (CNC, press, paint robot, scheduler) coordinating parallel and sequential Steps.

Demonstrates

  • Multiple system Roles with `system: true` and `resource:` link
  • Parallel fan-out and fan-in via Step.depends_on
  • Schedule-source Trigger on a system Operation

View source on GitHub →

Education

A university models Courses (Resource catalog) separately from CourseOfferings (Group instances). Faculty teach; UniversityMembers enroll.

Demonstrates

  • Course (Resource catalog) vs CourseOffering (Group)
  • Two Person templates eligible for distinct Roles (Faculty → Instructor, UniversityMember → Student)
  • Three scope tiers
  • Calendar-aligned schedule Triggers

View source on GitHub →

Registry

A meta-pattern: a platform that lets users define their own types at runtime. TypeDefinition / Instance / Link triad, with category-driven dispatching.

Demonstrates

  • Type-driven platform meta-pattern (TypeDefinition / Instance / Link triad)
  • `category` enum dispatching condition Rules (TypeIsNotRole, TypeIsPublished)
  • A system Role on a Resource template (ValidationEngine)
  • Process-level Trigger off a config-primitive lifecycle Operation

View source on GitHub →