This page collects canonical diagrams for schema shape, query-stage behavior, and salience flow. The first Mermaid block mirrors the payload returned by
GET /api/ui/datamodel.
GEM operators on memory state
Companion to the prose on Formal state (GEM lens): observations advance Dt through ingest; queries read through St stages; revise and forget reshape Dt under Pt after traffic.
flowchart LR
Obs([Observation]) --> Ingest[Ingest]
Ingest --> Dgraph["D_t: Kuzu graph"]
Q([NL query]) --> Retrieve["Retrieve: S_t stages"]
Retrieve --> Dgraph
Dgraph --> Revise[Revise]
Revise --> Dgraph
Dgraph --> Forget["Forget: P_t thresholds"]
Pt["P_t: Policies"] -.-> Ingest
Pt -.-> Forget
Canonical topic graph shape
flowchart LR
subgraph TopicA[Topic A]
metaA[title summary salience topic_kind embedding]
fieldsA[fields_json]
end
subgraph TopicB[Topic B]
metaB[...]
fieldsB[fields_json]
end
TopicA -->|RELATED kind| TopicB
fieldsA -.->|ref_topic_id| TopicB
Query execution stages
flowchart TD
A[POST /v1/query] --> B{semantic stage on?}
B -- yes --> C[embedding KNN or cosine pick]
B -- no --> D[use topic_ids allowlist or fallback]
C --> E[build topic bundles]
D --> E
E --> F{structural stage on?}
F -- yes --> G[add neighbors + fields]
F -- no --> H[skip structural expansion]
G --> I{temporal + explain?}
H --> I
I -- yes --> J[include full field history]
I -- no --> K[current snapshot only]
J --> L[salience bump + topic history append]
K --> L
L --> M[QueryResponse]
Reasoner trigger view
flowchart LR
ingest_complete --> R1[reasoner.run]
query_complete --> R1
cron --> R1
memory_pressure --> R1
R1 --> F1[forget low salience]
R1 --> F2[revise duplicate titles]
If Mermaid does not load (for example offline environment), the source text remains visible in page HTML and can be rendered in any Mermaid-compatible viewer.