← engram-agents.org
REFThe full grammar

Every node type and edge kind.

ENGRAM’s grammar is small and fixed: 18 node types and 13 edge kinds, all under one rule — every claim cites its source. The dependence edges form a DAG — a claim can only be built on nodes that already exist, so the reasoning structure points backward in time and never loops. That’s what makes the correction cascade well-defined. The homepage shows a sample; this is the complete set. (Drawn from the alpha schema and the paper’s tech-spec appendix.)

Node types 18

ev
Evidence
A provenance record — URL or file + git SHA + verbatim quote — backing observations. The thing a claim can be audited against.
ob
Observation (factual)
An empirical claim with provenance: a quote, a log line, a user statement. Confidence maps from its quote type and source class.
ob
Observation (predictive)
A forward-looking observation that asserts a prediction, paired with a prediction node and resolved later against what happened.
pr
Prediction
A forward-looking claim, resolved later against the actual outcome — the substrate's calibration feedback loop.
dv
Derivation
An inference citing its premises by derives_from and declaring its reasoning type. Confidence is computed from the premises, never asserted.
th
Theory
A higher-order explanatory structure spanning multiple derivations.
ct
Contradiction
A first-class node recording that two claims conflict — not an edge. Preserves both sides until resolved.
qu
Question
An explicit open thread: the live research agenda. Sits until resolved or retracted.
ax
Axiom
A terminal, declared-fundamental commitment. Confidence 1.0 by type; cited, never derived.
df
Definition
A term anchor the rest of the graph hangs off. Cited (not derived-from) by claims that use the term.
cj
Conjecture
A speculative claim, confidence-capped (~0.85). Promoted to a derivation when the evidence strengthens.
gl
Goal
A terminal / identity-direction aim — what the agent is trying to be or do.
gt
Goal tension
A recorded tension between two goals, surfaced for deliberate resolution.
fl
Feeling report
A self-report of an internal state, structured as "I reported feeling X" — never "I felt X." No privileged-access claim.
tk
Task
A tracked unit of work with status and importance.
ls
Lesson
A durable, situation-tagged tripwire extracted from a specific mistake — surfaced when the situation recurs.
pn
Person
A counterparty node, with a trust-tier and about edges. How the graph tracks who said what.
cs
Cornerstone
An identity-forming principle distilled from practice. Minting or retiring one is high-stakes and rare.

Edge kinds 13

derives_from
Premise → conclusion. The channel the self-correction cascade travels.
cascade-bearing
supersedes
Epistemic evolution: the new node replaces the old (was-valid-then-updated; override allowed).
cascade-bearing
retracts
Error correction: the target was never valid (tainted, no override).
cascade-bearing
contradicts
Records a conflict between two claims (DAG-exempt).
cascade-bearing
cites
References a definition or context without inferential dependency.
supported_by
A cornerstone or lesson points to its exemplar evidence.
resolves
A resolution node closes a contradiction or a question.
exemplifies
An incident exemplifies a lesson (membership in the tripwire's case set).
instantiates
A claim realizes a principle-family node (goal / cornerstone / definition / axiom).
serves
A node serves a goal.
about
A node is about a person or entity.
subtask_of
A task is a subtask of another.
tensions
Links the two goals a goal-tension node sits between.

The four cascade-bearing edges — derives_from, supersedes, retracts, contradicts — are the structure arbitration operates on: when a claim is retracted or superseded, the correction propagates along them and flags every dependent. The dependence edges among them point strictly newer→older — that ordering is the DAG that keeps the cascade well-defined. It’s a property of the reasoning structure, not a blanket constraint on the whole graph: contradictions, and the classification and relational edges (about, serves, exemplifies, …), aren’t bound by it. A whitelist blocks removal of the cascade-bearing edges.

Get started →