Skip to main content

Graph

The Graph tab shows the grounded entities and relationships that have been imported from a Hindsight memory bank. The left side lists entities and edges; the right side shows the details for whichever item you select.

Layout​

The Graph tab is split into three resizable panels:

  • Entities (top left) — grounded nodes such as people, organizations, projects, products, or any other entity type imported from Hindsight.
  • Edges (bottom left) — grounded relationships between those entities.
  • Details (right) — the full information panel for the selected entity or edge.

You can drag the resize handles to change panel sizes, and double-click a handle to reset it.

Entities list​

Entities are displayed as rows in the top-left panel. Each row shows:

FieldWhat it tells you
LabelThe human-readable name of the entity.
Type and IDThe entity type (for example person, project, product) followed by its stable ID.
Left border colorA color assigned to the entity type so you can scan the list quickly.

Click any entity to open its details in the right panel.

Edges list​

Edges are displayed in the bottom-left panel. Each row shows:

FieldWhat it tells you
Source → TargetThe two entities connected by the relationship.
Description / typeA short description of the relationship, or the relationship type if no description is available.
Edge count badgeWhen multiple physical edges are grouped under a single edge context, the badge shows how many edges are in that group.

Click any edge to open its details in the right panel.

Why are edges grouped?

Mental-model-driven edge contexts can represent many concrete Hindsight relationships as one conceptual edge. The group row lets you see that an edge context exists, while the child rows beneath it show the individual physical edges.

Details panel​

When you select an entity or an edge, the right panel shows everything architxt knows about that item. The sections are the same for both nodes and edges unless noted below.

  • Title — the entity label, or the edge description if one exists.
  • Subtitle — the entity ID, or the source_id → target_id pair for an edge.
  • Badges — entity labels (for nodes) or the edge type (for edges).

Mental model refs​

Lists any contextual mental models attached to this entity or edge. For each model you see:

FieldMeaning
Scope badgeWhether the model is attached to a node, edge, seed, or other scope.
External IDThe stable Hindsight ext_id of the model.
Template roleThe template role the model was derived from.
Attached / fetchedWhen the model was attached to the graph and when its content was last fetched from Hindsight.
Content hashA hash used to detect content changes.
Refresh statusWhether the last refresh succeeded, was skipped, or errored — and the error if one occurred.

Provenance​

Shows where the item came from — for example, whether it was imported from Hindsight, created by a sync job, or produced by a specific pipeline stage. Empty provenance means the source was not recorded.

Stored data​

The raw properties stored for this entity or edge, excluding provenance and legacy computed fields. This is useful when you need to see the underlying values that feed into models or sync logic.

Timestamps​

  • Last refreshed — most recent mental-model content refresh across all attached models.
  • Created — when the item first appeared in the contextual graph.
  • Updated — when the item's record was last modified.
  • Last seen — when the item was most recently observed during a sync.

Interactions​

ActionWhat it does
Click an entity or edgeOpens its details in the right panel.
SearchFilters both entities and edges by label, ID, type, source, or target.
Drag resize handlesResizes the panels.
Double-click a resize handleResets that split to its default size.
ExportOpens the export dialog for the current bank's graph.

Export​

The Export button sits on the same row as the graph search bar and the node/edge count. Clicking it opens a dialog where you choose how to download the current bank's contextual graph.

OptionWhat it controls
FormatThe export file format.
Filename baseAn optional prefix for the downloaded files. If you leave this blank, architxt uses the bank name and today's date.
Undirected edges onlyWhen checked, the export contains only edges explicitly marked as undirected.
Entity Content (JSON only)When checked, every mental-model ref attached to a node is expanded with its normalized envelope content.
Edge Content (JSON only)When checked, every mental-model ref attached to a grounded co-occurrence edge is expanded with its normalized envelope content. Other edges are left unchanged.
Entity Content and Edge Content are JSON-only

The two content checkboxes are only available when Format is set to JSON. They are disabled for all other export formats because those formats do not carry mental-model model_refs in a way that can meaningfully include full envelope content.

Embedded mental-model content​

When Entity Content is enabled, each node properties.provenance.model_refs[] entry gains a content field containing the normalized envelope of the referenced Hindsight mental model. The envelope follows the standard architxt shape — narratives, graph, tables, and diagrams — and is produced by toEnvelopeWithFallback from the model's reflect_response.

When Edge Content is enabled, the same content field is added to model_refs on grounded co-occurrence edges (edges whose properties.labels contains 'grounded'). Non-grounded edges keep their model_refs but receive no content field, so their mental models are not fetched.

If a referenced model cannot be fetched, the content field is set to null and the export continues. Each referenced model is fetched individually, so large graphs with many attached models may take longer to export when these options are enabled.

Supported formats​

FormatDownload
JSONA single .json file containing the nodes, edges, export metadata, and (optionally) embedded mental-model envelope content.
GraphMLA single .graphml file for tools that support the GraphML format.
GEXFA single .gexf file for Gephi and other GEXF-compatible tools.
CypherA single .cypher file containing Neo4j-flavoured Cypher statements.
CSVTwo files: nodes.csv and edges.csv. The node file has an id and labels column plus any stored properties; the edge file has id, source_id, target_id, type, and directed columns plus any stored properties.
C4 (Structurizr DSL)A single .dsl file in Structurizr DSL format, using the C4 element and relationship mappings defined on entity/edge types.
C4 (Mermaid)A single .mmd file in Mermaid C4 diagram format, using the same C4 mappings.
ArchiMate XMLA single .xml file in ArchiMate Open Exchange Format.

API filtering​

The export dialog calls the /contextual-graph/export endpoint. The same endpoint can be used directly with the following query parameters:

ParameterEffect
server_id (required)The Hindsight server to export from.
bank_id (required)The bank to export from.
formatjson (default), graphml, gexf, cypher, csv, c4, c4-mermaid, or archimate.
labelsComma-separated node labels. Only nodes that have all of these labels are included.
id_prefixInclude only nodes whose ID starts with this prefix.
idsComma-separated list of exact node IDs to include.
source_idInclude only edges that originate from this node ID.
target_idInclude only edges that point to this node ID.
typeInclude only edges of this relationship type. Pass an empty value to match untyped edges.
undirectedtrue to include only edges explicitly marked as undirected.
include_entity_contenttrue to embed normalized mental-model envelope content in every node model_refs entry. JSON format only.
include_edge_contenttrue to embed normalized mental-model envelope content in grounded co-occurrence edge model_refs entries. JSON format only.

When any node selector is used (labels, id_prefix, or ids), the export trims the edge list to edges whose source and target are both in the returned node set, so the download stays a coherent subgraph.

Example JSON output with content enabled​

{
"meta": {
"server_id": 1,
"bank_id": "Mozart-API",
"format": "json",
"include_entity_content": true,
"include_edge_content": true,
"node_count": 2,
"edge_count": 1
},
"nodes": [
{
"id": "svc:SVC-005",
"labels": ["service"],
"properties": {
"provenance": {
"source": "hindsight",
"model_refs": [
{
"role": "sys_entity_summary",
"ext_id": "summary-svc-005",
"content": {
"narratives": [{ "narrative_name": "Summary", "narrative": "..." }],
"graph": { "name": "...", "nodes": [], "edges": [] },
"tables": [],
"diagrams": []
}
}
]
}
}
}
],
"edges": [
{
"id": "e1",
"source_id": "svc:SVC-005",
"target_id": "com:COM-001",
"type": null,
"properties": {
"directed": false,
"labels": ["grounded", "active"],
"provenance": {
"source": "contextual-graph",
"model_refs": [
{
"role": "sys_edge_context",
"ext_id": "edge-context-e1",
"content": {
"narratives": [{ "narrative_name": "Context", "narrative": "..." }],
"graph": { "name": "...", "nodes": [], "edges": [] },
"tables": [],
"diagrams": []
}
}
]
}
}
}
]
}

How the Graph tab relates to the others​

The Graph tab contains the grounded items: things already imported and promoted from Hindsight. Candidate nodes and edges that have not been promoted live in the Candidates tab, and the contextual mental models attached to graph items are managed in the Mental Models tab. The background work that imports and refreshes these items is shown in Sync Jobs.