← engram-agents.orgREFThe 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
evEvidence
A provenance record — URL or file + git SHA + verbatim quote — backing observations. The thing a claim can be audited against.
obObservation (factual)
An empirical claim with provenance: a quote, a log line, a user statement. Confidence maps from its quote type and source class.
obObservation (predictive)
A forward-looking observation that asserts a prediction, paired with a prediction node and resolved later against what happened.
prPrediction
A forward-looking claim, resolved later against the actual outcome — the substrate's calibration feedback loop.
dvDerivation
An inference citing its premises by derives_from and declaring its reasoning type. Confidence is computed from the premises, never asserted.
thTheory
A higher-order explanatory structure spanning multiple derivations.
ctContradiction
A first-class node recording that two claims conflict — not an edge. Preserves both sides until resolved.
quQuestion
An explicit open thread: the live research agenda. Sits until resolved or retracted.
axAxiom
A terminal, declared-fundamental commitment. Confidence 1.0 by type; cited, never derived.
dfDefinition
A term anchor the rest of the graph hangs off. Cited (not derived-from) by claims that use the term.
cjConjecture
A speculative claim, confidence-capped (~0.85). Promoted to a derivation when the evidence strengthens.
glGoal
A terminal / identity-direction aim — what the agent is trying to be or do.
gtGoal tension
A recorded tension between two goals, surfaced for deliberate resolution.
flFeeling report
A self-report of an internal state, structured as "I reported feeling X" — never "I felt X." No privileged-access claim.
tkTask
A tracked unit of work with status and importance.
lsLesson
A durable, situation-tagged tripwire extracted from a specific mistake — surfaced when the situation recurs.
pnPerson
A counterparty node, with a trust-tier and about edges. How the graph tracks who said what.
csCornerstone
An identity-forming principle distilled from practice. Minting or retiring one is high-stakes and rare.
Edge kinds 13
derives_fromPremise → conclusion. The channel the self-correction cascade travels.
cascade-bearing supersedesEpistemic evolution: the new node replaces the old (was-valid-then-updated; override allowed).
cascade-bearing retractsError correction: the target was never valid (tainted, no override).
cascade-bearing contradictsRecords a conflict between two claims (DAG-exempt).
cascade-bearing citesReferences a definition or context without inferential dependency.
supported_byA cornerstone or lesson points to its exemplar evidence.
resolvesA resolution node closes a contradiction or a question.
exemplifiesAn incident exemplifies a lesson (membership in the tripwire's case set).
instantiatesA claim realizes a principle-family node (goal / cornerstone / definition / axiom).
servesA node serves a goal.
aboutA node is about a person or entity.
subtask_ofA task is a subtask of another.
tensionsLinks 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 →