Logo
NeoArc Studio

Architectural Intent Graph

The Architectural Intent Graph is the semantic backbone of NeoArc Studio. A comprehensive set of node and edge types form a complete traceability network connecting every artefact in the workspace: pages, diagrams, schemas, APIs (REST, GraphQL, gRPC, AsyncAPI, Webhooks, MCP), model entities, views, and governance blocks. This graph powers impact analysis, data lineage, governance measurement, and deprecation tracking.

When you add a schema field, you are creating a node. When you embed a diagram in a page, you are creating an edge. When you map a schema field to a model property, you are creating a lineage relationship. When a risk block references a model entity, you are creating a governance edge. Everything you do in NeoArc Studio contributes to a semantic graph that captures the intent behind your architecture.

Most users never interact with the Intent Graph directly. They work with pages, diagrams, schemas, and APIs. But beneath every action lies this graph structure, enabling capabilities that traditional documentation tools cannot provide: impact analysis that traces a field rename across every API type, data lineage from API surface to database column, governance measurement that counts which entities have risk documentation, and deprecation tracking that identifies every active reference to a retired component.

Node Types

The Intent Graph tracks every artefact in the workspace as a typed node. Nodes range from high-level documents to individual fields and properties, covering content, diagrams, the data model, views, schemas, all API types (REST, GraphQL, gRPC, AsyncAPI, Webhooks, MCP), and graph diagram elements.

Edge Types

Relationships between nodes are captured as typed edges, each with specific semantic meaning. Together, they form the traceability network, covering lineage and mapping, references and dependencies, view and model integration, multi-domain projections, and governance and lifecycle.

How the Graph Powers the System

The Intent Graph is not a feature you use directly. It is the infrastructure that makes every other feature work.

Impact Analysis
Before modifying or deleting any artefact, query the graph to find everything that depends on it. Rename a model entity and see every schema, endpoint, view, governance block, and documentation page affected. BFS traversal through outgoing and incoming edges computes the full blast radius.
Data Lineage
Trace any schema field back to its source in the model via maps-to edges. Because all API types (REST, GraphQL, gRPC, AsyncAPI, Webhooks, MCP) share the same schema system, lineage is universal. A field in a Kafka event payload traces back to the same model property as a field in a REST response.
Governance Measurement
Count governs edges from entity blocks to architectural nodes. The governance compliance report evaluates which entity blocks (risks, security controls) satisfy governance rules by checking that they reference the correct node types. Coverage is measured continuously.
Deprecation Tracking
Follow replaced-by and evolved-from edges to trace entity succession. The deprecation impact report finds all active references to deprecated entities. The safe-to-delete report counts inbound edges to determine whether a deprecated entity can be removed.
Drift Detection
Structural hashing (FNV-1a) computes hashes on structurally significant fields of model entities, schemas, and endpoints. Governance references store a reviewedAtHash. When the hash changes, the reference is flagged as stale, prompting a review.
Governance Reports
Every governance report queries the Intent Graph. API coverage counts maps-to edges. Broken lineage validates edge targets. Orphan elements find nodes with zero incoming edges. Cross-API analysis finds schemas with edges from multiple API nodes. The graph is the data source for all reports.

Graph Data Structure

The Intent Graph uses adjacency maps for O(1) edge lookups in both directions.

ComponentPurpose
edges[]Array of all edges in the graph
outgoing MapNode ID to outgoing edges. O(1) lookup for 'what does this node depend on?'
incoming MapNode ID to incoming edges. O(1) lookup for 'what depends on this node?'
nodeLabels MapNode ID to human-readable label for display
nodeTypes MapNode ID to IntentNodeType for type-filtered queries
nodeSourcePaths MapNode ID to workspace-relative file path for navigation
entityTypes MapEntity node ID to entity type string (risk, security-control, etc.)
nodeMetadata MapNode ID to metadata (projections, structural hash, lifecycle status)

Query Capabilities

The Intent Graph service provides a rich query API for traversing relationships.

MethodPurpose
getOutgoing(id, edgeType?)Find all edges leaving a node, optionally filtered by edge type
getIncoming(id, edgeType?)Find all edges entering a node, optionally filtered by edge type
getImpact(id)BFS traversal to find all nodes affected by changes to this node
getLineage(schemaFieldId)Trace a schema field back to its model property source
getPropertyProjections(entityId, propertyId)Find all projection edges for a property across all domains
getPropertyProjectionImpact(entityId, propertyId)Impact analysis for property rename across all projections
getUnprojectedProperties(entityId, domain)Find properties not projected to a specific domain
getNodeStatus(id)Get lifecycle status (active, planned, deprecated)
getNodeHash(id)Get structural hash for drift detection
searchNodes(query, typeFilter?)Full-text search across all node labels with optional type filtering

Real-World Applications

GDPR Compliance
When processing a data subject access request, use lineage to find every API endpoint, event contract, and database column that stores personal data for a given model entity. The graph tells you exactly which systems are affected.
Migration Planning
Before migrating a data model, query the graph to find all schemas that map to its entities, all endpoints that depend on those schemas, and all views that display those entities. Know the full blast radius before you begin.
Architecture Reviews
For review boards, the graph provides evidence of architectural thinking. Show the ADRs that justify design decisions via justifies edges. Demonstrate that governance blocks govern the correct entities. Prove that schema changes have lineage to the model.
Technical Debt Assessment
Identify orphan schemas with no dependents. Find diagrams that no page references. Discover model entities with no views or schema mappings. The graph reveals documentation and artefacts that have drifted from the active architecture.