Skip to content

Context Map

Part of the Designer guide. Previous: Workspace Board · Next: Bounded Context Editor.

The Context Map shows how the bounded contexts of a domain relate to each other, with the canonical DDD patterns. There is one map per domain, since a domain forms the classic context-map frame.

Context Map: strategic view with Core/Supporting/Generic classification

Nodes

Three node types, grouped by subdomain into swim lanes:

  • Real bounded contexts — derived from the workspace, not deletable here.
  • Planned bounded contexts — marked dashed, not yet built.
  • External systems — freely named, without any Jardis binding; the only node type that is deletable and editable here.

The node side panel shows real and planned BCs read-only (name + classification Core/Supporting/Generic as a badge); external systems are editable (name/note, deletable). Positions are purely presentational.

The node side panel of a bounded context

Edges & the Eight Patterns

Every edge carries one of the eight canonical DDD patterns:

  1. Partnership
  2. Shared Kernel
  3. Customer/Supplier
  4. Conformist
  5. Anti-Corruption Layer (ACL)
  6. Open Host Service
  7. Published Language
  8. Separate Ways

For asymmetric cases there is an optional secondary pattern (e.g. upstream = Open Host Service, downstream = ACL), and for directed patterns an explicit upstream/downstream role. A freshly drawn edge first comes into being as a draft edge without a pattern (visually marked as a warning) until you choose a pattern in the edge inspector.

The Three Views

Context Map: tactical view

  • Strategic — keeps the domain classification (Core / Supporting / Generic) in view.
  • Tactical — the concrete couplings between the contexts.
  • Reconcile — the drift check (see below).

A traffic-light dot per real BC node (green = all couplings covered, red = at least one deviation) is visible in the tactical and the Reconcile view.

Reconcile

Reconcile compares the declared (target) edges against the actually executed, synchronous calls (actual) that the domain's processes really make. It's computed on demand and never persisted.

Context Map: Reconcile — declared against real coupling

Six finding states:

FindingMeaning
undeclaredA real call without a declared edge.
unusedA target edge with a call-carrying pattern, but without a real call.
direction conflictA directed target pattern that a one-sided actual call contradicts.
pattern conflictA real call over a call-less pattern (Separate Ways, Shared Kernel, Partnership).
bidirectional-vs-directedCalls in both directions against a directed target pattern.
used bidirectionallyNo finding — the "quiet" state.

Findings appear as marked edges and in a findings panel whose entries jump to the respective location. A finding is always resolved as a deliberate user action (opens the pattern dialog). There is deliberately no "sync everything" button.

Report

Context Map: report with extended findings

The report extends the Reconcile findings with: open draft edges, planned BCs without adoption into implementation, and empty subdomains.

Headless

An AI agent reads the same drift check read-only via the MCP server, including call evidence per actual edge. The pattern catalog is retrievable as a resource instead of hard-wiring the eight names.