EKOSdocs
Docs / Concepts Learn

Facts

A fact is a statement about an object or a relationship between two objects.

CustomerService
    depends_on
CustomerRepository

In the ledger, facts appear in two related senses:

  • Semantic facts — an object (Table orders), a relationship (CustomerService DependsOn CustomerRepository), or a property on either.
  • Stored facts — the ledger's fact engine decomposes each entry into timeless (entity, attribute, position, value) tuples, which is what makes point-in-time reconstruction and per-attribute search cheap.

A fact is never edited. A new version is appended, and history is reconstructed by reading entries up to a timestamp.

Facts are typed

Objects have an ObjectKind (Table, Service, File, Pipeline, …, or a registered custom kind such as RustSymbol); relationships have a RelationshipKind (DependsOn, Calls, ForeignKey, …). See Fact Types and Knowledge Schema.