Skip to main content
The system view is the entry point for conseqa-viz. It renders your entire architecture as a directed SVG graph, giving you an at-a-glance picture of what services exist, how operations communicate, and where the model’s proof obligations land.

Layout and nodes

The graph places services as boundary boxes with their operations inside. Topics, external systems, and a synthetic Client node sit around them:
  • Service boxes — each service is drawn as a named boundary box containing its operations as labeled nodes inside it.
  • Topic nodes (pill-shaped) — one node per declared topic.
  • External system nodes — one node per external effect target.
  • A synthetic Client node — represents callers that invoke request inputs no modeled operation invokes.

Edge types

Every edge in the graph corresponds to a declared information route. The style tells you what kind of route it is: Dashed edges indicate a declared but unexecuted capability: the effect exists on the operation but no step in its program ever executes it. A solid edge names the program step locations (for example, 2 or 3.ok.1) that execute it in its detail panel. Effects owned by state-machine transitions are attributed to the operations that execute them through intents and marked “via transition.”

Requirement badges

Each operation node carries badges for the requirement kinds declared on it:
  • S — Serialization
  • O — Ordering
  • I — Idempotency
  • R — Recoverability
These badges are always visible regardless of whether a proof report is loaded.

Proof overlays

When you load a report (via --verify or --report), the graph gains status indicators:
  • Status rings appear around operation and topic nodes, colored by the worst obligation status across that node’s requirements: green for proven, amber for unknown, red for disproven.
  • Rollup chips display a count of obligations at each status level.
  • Requirement badges on operation nodes are colored individually to reflect their obligation’s verdict.
The rule for rollup is: disproven overrides unknown, which overrides proven. A single disproven obligation turns the whole node’s ring red.

Interacting with the graph

Click any node, edge, topic, or external system node to open the detail panel on the right. The panel shows the entity’s declared facts organized into collapsible sections with key/value grids and clickable IDs that open related entities in place. Double-click an operation node to navigate directly to its Operation View. Filter nodes by name using the search box in the top bar. Non-matching nodes are dimmed. Clear the filter to restore the full graph. Re-center the graph using the fit control in the canvas corner. The graph supports pan and zoom with standard mouse or trackpad gestures.

Top bar

When a report is loaded, the top bar gains an Obligations button carrying the total tally. Clicking it opens the obligations panel, which lets you browse all obligations grouped by subject, filter by status (all / unknown / proven / disproven), and expand individual cards to see the declared assumptions, checker evidence, or a counterexample trace.