Once messages have been extracted and linked into candidate issue paths, the next step is to build a graph. This is the structure that makes governance behavior visible. Nodes represent participants and organizational units. Edges represent communication and escalation relationships. The graph, once constructed, can be traversed, classified, and measured over time.
This post explains what graph construction looks like in practice, what design decisions matter, and why edge semantics deserve more attention than they typically receive.
An issue graph starts with a set of linked messages. Each message has participants (sender, recipients), a timestamp, and routing metadata. The graph construction step transforms this flat sequence into a relational structure.
Nodes come in two types:
Edges represent relationships between nodes within the context of a specific issue path. An edge is created when participant A sends a message to participant B as part of the same linked issue. Edges carry properties: direction, timestamp, and whether the communication crossed an organizational boundary.
The most common mistake in graph construction is treating all edges as equivalent. A reply within the same team is not the same as a forwarded escalation to a senior manager in a different department. Both are edges, but they represent fundamentally different governance behaviors.
The BBCO reference implementation distinguishes several edge types:
Each edge type has different implications for governance observation. A path that escalates quickly through three authority levels tells a different story than one that circulates laterally for two weeks before crossing a single domain boundary. The graph must capture that distinction, or the shape classification that follows will be meaningless.
One of the harder problems in graph construction is determining what "adjacent" means in an organizational context. Two departments may sit next to each other on an org chart but have no routine communication. Two individuals may be in different divisions but collaborate daily.
The community's approach treats organizational adjacency as an empirical property, not an assumed one. Adjacency is derived from observed communication patterns within the data, not from a static org chart. If two units communicate frequently across multiple issue paths, they are adjacent in practice regardless of formal structure.
This matters because domain crossings are one of the key structural properties used in shape classification. If adjacency is wrong, domain crossings are miscounted, and shape types are misassigned.
A well-constructed issue graph should be traversable from any node. Starting from a participant, you can follow edges to see who they communicated with, when, and across what boundaries. Starting from an organizational unit, you can see which issues entered, how they were routed, and where they terminated.
The reference implementation provides traversal primitives for common queries:
These properties feed directly into shape classification (Phase 4 of the pipeline). The graph is not an end in itself. It is the structure that makes measurement possible.
Graph construction is a solved problem in computer science. What makes it challenging in the governance context is the domain-specific decisions: what constitutes an edge, how to classify edge types, how to handle organizational ambiguity. These decisions should not be made in isolation by each organization.
The BBCO community maintains reference implementations precisely so that these decisions are made in the open, documented, and subject to challenge. When someone identifies a better way to handle edge classification for forwarded messages, that improvement becomes available to everyone. For captive insurance programs, where the graph structure directly informs variance metrics, retention decisions, and reinsurance positioning, getting these edges right is not an academic exercise.
A graph is only as honest as its edges. If the edges do not distinguish between a lateral FYI and an upward escalation, the structure is there but the meaning is not.
Read more from the BBCO community.