The Semantic System Graph
By Leo GorodinskiPublished Jul 29, 2026
Software systems do not suffer from a shortage of artifacts. They have code, schemas, APIs, interfaces, workflows, infrastructure, tests, documentation, and telemetry. What they lack is a durable object that says how the meaning distributed across those artifacts fits together.
Cohesive calls the complete, connected, versioned model a semantic system graph. It connects a semantic graph, a system graph, an infrastructure projection, and one or more realization graphs. In this article, system graph refers specifically to the mediating realm that composes domain meaning into a particular system and states its authority, responsibilities, and boundaries.
The distinction matters. An entity is not a table. A transition is not an endpoint. An effect is not a message. A service is not necessarily a deployment. Those things can be related, generated, and checked against one another without being collapsed into the same object.
A Change That Does Not Fit in a File
Consider a seemingly small request:
Let a support agent refund an order.
It sounds like an API operation and a button. Implementation can begin quickly: add a route, call a payment provider, update a record, expose the action in the support interface, and give an agent a tool with the right parameters.
But the request leaves almost every consequential question open.
- Which orders and payment captures are refundable?
- How is the remaining refundable amount calculated across earlier refunds?
- Who may request, approve, commit, and execute the refund?
- Can an AI agent commit the change or only propose it for approval?
- What happens when two refund requests race?
- When does the external payment obligation come into existence?
- How is a timeout distinguished from a failed or duplicated payment call?
- Which record is authoritative for recovery and audit?
- What should the API, UI, workflow, and agent observe at each stage?
The answers are unlikely to live together. Some are encoded in validation code, some in database constraints, some in a payment adapter, some in an approval workflow, and some only in the judgment of the team operating the system. A repository search can locate many of the artifacts. It cannot by itself settle which interpretation the organization is willing to treat as authoritative.
The real change is not a set of files. It is a change in system meaning.
The Canonical Graph Stack
Code executes, but schemas, APIs, interfaces, infrastructure, tests, and runtime traces also reveal system commitments. No one artifact models the whole. The system exists through their correspondences: a button invokes an operation, the operation requests a transition, the transition preserves an invariant and establishes an effect, and a selected runtime attempts that effect under stated conditions.
When those correspondences remain implicit, people and agents reconstruct a provisional model from conventions, filenames, call graphs, tickets, and observations. A canonical system-graph definition makes the meaning-bearing objects and their mappings explicit enough to inspect, version, validate, and attribute.
The complete semantic system graph is connected, but not homogeneous. It separates domain meaning, system-relative composition, operational qualifications, infrastructure capabilities, and concrete realization rather than placing them at one level.
The semantic system graph
An exploded perspective view shows the semantic system graph as a connected stack. The semantic graph sits above the system graph, an infrastructure projection faces the substrate, and several realization graphs sit below. Operational concerns qualify mappings through the stack, while capability and runtime evidence flows back upward.
Semantic graph
- Role: Layer, Qualification, or Projection
- Layer
- Primary Question
- What exists, what can happen, and what does it mean?
- Representative Contents
- Identity, state, values, observations, events, transitions, relations, processes, effects, invariants, policy, authority, and uncertainty.
System graph
- Role: Layer, Qualification, or Projection
- Layer
- Primary Question
- How is that meaning composed and governed in this system?
- Representative Contents
- Entity and observer models, process graphs, services, interfaces, channels, scopes, responsibilities, placement, and boundaries.
Operational concerns
- Role: Layer, Qualification, or Projection
- Qualification
- Primary Question
- Which properties must hold, for which subject and at which boundary?
- Representative Contents
- Requirements attached to nodes, edges, mappings, and boundaries: persistence, ordering, delivery, consistency, coordination, recovery, safety, liveness, and service levels.
Infrastructure graph
- Role: Layer, Qualification, or Projection
- System-graph projection
- Primary Question
- Which public substrate capabilities can satisfy the requirements?
- Representative Contents
- System structure and requirements projected toward compute, storage, communication, execution, identity, placement, topology, and capability evidence.
Realization graphs
- Role: Layer, Qualification, or Projection
- Layer
- Primary Question
- Which concrete mechanisms and artifacts implement the selected system?
- Representative Contents
- Code, schemas, indexes, messages, workflow definitions, runtimes, hosts, networks, deployments, and operational controls.
The layers are connected by typed mappings rather than competing as descriptions of the same thing. Operational concerns qualify those layers and mappings at declared boundaries. The infrastructure graph projects system structure and its requirements toward public substrate capabilities, where capability evidence can be evaluated before a vendor- or environment-specific realization is selected.
The system graph is the stack's mediating layer. It composes semantic subjects into entity, observer, relation, transition, service, and process models; assigns authority and responsibility at boundaries; scopes invariants, policies, and effects; and exposes realization-neutral requirements. The separation keeps architectural choice open: the same process graph may be realized by a workflow engine, an actor, a database-backed process manager, or a generated worker topology when each candidate preserves the required semantics.
Refund Across the Stack
The refund change from the opening already spans this structure:
Semantic graph
- Refund Slice
- Order, Refund, captured amount, and the invariant that committed refunds cannot exceed the captured amount.
System graph
- Refund Slice
- Refund transition, approval authority, refund process, and the boundary at which the payment effect leaves the authoritative system.
Operational qualifications
- Refund Slice
- Atomicity of the refund commit, concurrency control for racing requests, idempotent effect handling, and recovery after partial failure.
Infrastructure projection
- Refund Slice
- Transactional-storage and durable-delivery requirements matched against substrate capabilities and evidence.
Realization graphs
- Refund Slice
- Order and refund schema, transaction, outbox or durable workflow, payment-provider adapter, support UI, and refund API.
The later refund coordination diagram expands this compact mapping into its observations, authority, commit, and effect relationships.
Cross-Realm Mappings Carry Meaning
The stack is held together by cross-realm relations. These are typed correspondences, not claims of identity.
organizes / scopes
- What It States
- A system-graph structure gives selected semantics a system-relative role or boundary.
- Example
- A Refund entity and its transitions are organized by a refund entity model.
requires / constrains
- What It States
- A semantic or system element demands an operational property.
- Example
- CommitRefund requires atomic enforcement of the remaining-refundable invariant.
projects to / exposes
- What It States
- A view preserves selected structure while intentionally omitting other detail.
- Example
- The refund transition projects to an API operation and an agent-facing capability.
realized by
- What It States
- A concrete mechanism carries or preserves a semantic role.
- Example
- A transaction and expected-version check realize the refund commit boundary.
provides capability / satisfies
- What It States
- A substrate supplies evidence that it can discharge a requirement.
- Example
- A transactional outbox supplies local atomicity between refund state and publication responsibility.
observed as / conforms to
- What It States
- Runtime material is evidence about the realized system.
- Example
- A trace relates the committed refund, effect attempt, provider acknowledgment, and visible result.
These mappings prevent category errors without erasing architectural choice. A transition may project to an endpoint without becoming one; a message may carry an effect without defining it; a deployment may realize a service without being identical to it. A requirement may admit several realizations—or none when capability evidence is insufficient.
Versioned Claims and Semantic Deltas
A system definition is useful only if its meaning survives the ordinary motion of software development.
Durable means semantic identities outlive filenames, classes, endpoints,
and deployment arrangements. CommitRefund remains referable when its handler
moves, when a REST operation becomes a workflow signal, or when a database
schema is replaced.
Accumulative means accepted decisions become reusable context. A new feature extends or revises existing meaning rather than beginning with another round of repository archaeology. The reason for an approval boundary, the scope of an invariant, and the authority behind a transition remain connected to the subjects they govern.
Versioned means the graph records semantic evolution, not only the latest snapshot. Let be the accepted modeled system and a proposed semantic change:
The delta becomes authoritative only after its relevant constraints, compatibility rules, and review obligations have been satisfied. A semantic diff can then say more than which files changed. It can say that a transition became legal, an invariant was strengthened, authority moved, a process gained an approval boundary, or an effect acquired an idempotency requirement.
A proposed refund delta, , can make those changes concrete without committing to a particular authoring syntax:
Delegated authority
- Proposed Semantic Delta
- Allow a support agent to authorize CommitRefund when the refund amount is at or below the declared approval threshold.
Approval process
- Proposed Semantic Delta
- Require human approval before CommitRefund may proceed when the amount is above that threshold.
Effect boundary
- Proposed Semantic Delta
- Establish a payment obligation when refund authorization commits; do not equate that local commit with provider settlement.
Operational qualification
- Proposed Semantic Delta
- Require attempts to discharge the payment obligation to be idempotent, keyed by the stable Refund identity.
Projections
- Proposed Semantic Delta
- Project the same transition, authority envelope, and semantic identity into API, UI, workflow, and agent-capability surfaces.
The delta changes accepted meaning while leaving realization choices open. An outbox, a durable workflow, or another mechanism may later realize the payment obligation if it satisfies the attached requirements.
Versioning also makes long-lived execution explicit. A process started under one graph revision may continue while a newer revision is deployed. Stored events, snapshots, API clients, and agent capability descriptions may outlive the code that created them. Compatibility is therefore a relationship between semantic revisions and their coexisting realizations, not merely a schema decoder accepting old bytes.
Versioning the graph also means versioning its claims. An accumulative graph cannot treat every assertion as equally true. It has to remember not only what was claimed, but where the claim came from, where it is in its lifecycle, what the available evidence says, and who may make it authoritative. These are independent dimensions: a claim can simultaneously be inferred from code, proposed as intent, and contradicted by a runtime observation.
Lifecycle
- Representative Values
- Proposed · committed · deprecated
- What It Establishes
- Whether a claim is awaiting acceptance, accepted as intent, or retained only for history and compatibility.
Provenance
- Representative Values
- Authored · inferred · derived · observed
- What It Establishes
- How the claim entered the graph: direct authorship, inference, mechanical derivation, or reported observation.
Conformance
- Representative Values
- Unknown · supported · contradicted
- What It Establishes
- How available evidence relates to the claim without turning that evidence into intent.
Authority
- Representative Values
- Subject · scope · boundary · revision · source
- What It Establishes
- Where, when, and from whom the claim is permitted to count as authoritative system meaning.
Authority is boundary-relative. Code and runtime traces can provide evidence without authority to redefine intent. Learned or probabilistic tools can infer candidate structures, contradictions, and semantic deltas, but confidence does not grant authority; inferred meaning still needs an explicit path to acceptance.
This is where the comprehension bottleneck and the intent-specification bottleneck meet.
Comprehension is retrospective and epistemic: what does the system mean now, and why? Intent specification is prospective and normative: what should the system mean after this change? Implementation realizes the transition between the two.
Semantic change from accepted meaning to runtime evidence
Accepted model Mₜ, then comprehend, Proposed semantic delta Δₜ, then specify · validate, Accepted model Mₜ₊₁, then project · realize, Derived realizations, then observe · compare, Runtime evidence
Because accepted intent accumulates, comprehension begins from a known model and specification becomes a proposed delta over existing identities, constraints, authorities, and boundaries. Review can focus on the semantic change rather than reconstructing it from a large implementation diff.
Detailed Refund Coordination
Return to the refund request. A useful semantic slice might declare an Order, a Refund, captured and previously refunded amounts, a refund-request process, and a payment effect. It can state the central invariant:
Here, CommittedRefunds(o) means refunds whose local payment obligations have
been authorized and committed. It does not mean that funds have already moved
or that the payment provider has settled the refund.
The lifecycle keeps several facts distinct:
- Refund proposed: an agent or person has requested a candidate action.
- Refund authorized / obligation committed: policy and current order state permit the refund, and the local system atomically records the refund authorization and payment obligation.
- Provider request submitted: a realization attempts the external payment effect, usually under an idempotency key.
- Provider accepted: the provider acknowledges only what its response contract says it accepted.
- Refund settled or failed: later evidence resolves the payment outcome; provider acceptance alone does not establish settlement.
In this model, CommitRefund intentionally means authorize the refund and
commit its payment obligation. The system graph scopes the invariant to the
authority that performs that local commit, places approval in a process graph,
and exposes a separately governed agent-facing capability.
Refund transition, authority, and effect coordination
Agent capability connects to CommitRefund local commit as constraint / authority: propose within delegated scope. Policy + approval authority connects to CommitRefund local commit as constraint / authority: threshold + approval. Order observation connects to CommitRefund local commit as observation: captured amount + prior refunds. CommitRefund local commit connects to Refund authorized as fact: authorize refund. CommitRefund local commit connects to Payment obligation committed as obligation: commit payment obligation. Payment obligation committed connects to Payment provider as obligation: submit idempotent provider request. Payment provider connects to Payment obligation committed as acknowledgment: acceptance evidence.
The boundary between the authoritative refund commit and the payment provider is now visible. The selected realization might use a local database transaction plus an outbox, a durable workflow, or another coordination pattern. Those choices are not interchangeable in every environment. Each has to satisfy the requirements attached to this graph slice.
The same slice can project into an API operation, a support action, a generated
client, an agent tool contract, an approval task, persistence artifacts, and
runtime traces. Those projections share semantic identities. They do not have
to rediscover that CommitRefund means commitment of an authorized payment
obligation rather than completed movement of money or a best-effort call to a
payment API.
Consumers and Non-Goals
The semantic system graph gives several disciplines a shared referent without requiring identical views. Humans review semantic deltas. Compilers generate and validate artifacts. Development agents receive stable context for change; operational agents receive selected observations, actions, policies, and authority scopes. Formal tools analyze selected state spaces and constraints, while runtimes return histories and conformance evidence.
Each consumer receives a projection model appropriate to its question. An agent need not receive every internal relation, and a formal model need not include deployment details irrelevant to the property under analysis. Sharing semantic identities does not require sharing every detail.
The shared model is also easier to understand by what it is not:
An architecture diagram
- Because
- It relates architecture to domain meaning, behavior, authority, guarantees, and evidence rather than stopping at components and dependencies.
A knowledge graph
- Because
- It includes executable behavior, constraints, authority, operational obligations, and realization relationships—not only navigable facts and definitions.
Documentation
- Because
- Its definitions can constrain generation, interpretation, validation, capability matching, and conformance.
One universal formal specification
- Because
- Different questions require selected abstractions and specialized formal projections rather than one model containing every proof detail.
The public Cohesive knowledge graph is the definition surface for the language:
it defines concepts, distinctions, and relationships. An authored application's
semantic system graph is an instance of that language. The definition of
Authority in the knowledge graph is not the same object as the authority
relation governing a particular refund transition.
From Searching for Meaning to Working From Meaning
Without a durable semantic system graph, every change begins by reconstructing a model from organizational residue. People and agents search code, documentation, tickets, telemetry, and design artifacts, infer likely correspondences, and hope the inferred model is complete enough for the task.
With an accepted semantic system graph, comprehension begins from accumulated semantic commitments. New intent can be expressed as a delta over known identities, constraints, authorities, and boundaries. Realizations can be generated or checked against explicit requirements. Runtime evidence can be attributed to the definitions it supports or contradicts.
The graph does not eliminate engineering judgment. It gives judgment a durable place to accumulate. It does not replace the realization that runs, fails, recovers, and serves users. It gives that realization something precise to mean.