The Enola Knowledge Format (EKF) is an open specification for organizing, interlinking, and maintaining persistent knowledge bases for humans and AI agents.
EKF defines a file-based architecture for Knowledge Bundles—hierarchical collections of Markdown documents with structured metadata designed to be collaboratively curated by AI agents and humans, version-controlled via Git, and browsed online.
The architecture and operational model of EKF are inspired by three foundational concepts:
While EKF adopts OKF's core vision of file-based, Git-friendly knowledge bundles and frontmatter-based provenance and trust, EKF differs technically and syntactically in several key aspects:
| Feature | Upstream OKF Specification (v0.2) | Enola Knowledge Format (EKF) |
|---|---|---|
| Links & References | Standard CommonMark links with explicit paths and file extensions: [Customers](/tables/customers.md) |
Markdown Magic Links: [[vector-search]], [[https://...]]. Forbids .md extensions and explicit labels (`[[ref |
| Frontmatter Metadata | Recommends title: and description: in YAML frontmatter |
Inferred from Content: title: and description: are omitted from frontmatter and derived directly from the first # H1 and the first paragraph. |
| Linked Data | Arbitrary unstandardized frontmatter fields | Native YAML-LD (@context, Schema.org, Wikidata URIs) per the Markdown YAML-LD Frontmatter specification. |
| Directory Indexing | Requires or allows checked-in index.md files for progressive disclosure |
Strictly forbids checked-in index.md. Category indexes are synthesized dynamically in memory during build. |
| Landing Pages & Lead Concepts | Standard directory tree without concept-directory binding | Optional source README.md (GitHub landing page) converted to index.html, and Topic Lead Concepts (<dir>/<dir>.md) whose summaries are hoisted into category preambles. |
| Markdown Quality | Unconstrained CommonMark | Constrained by Well formed Markdown (strict heading hierarchy, list formatting, no broken links). |
An EKF Knowledge Bundle is a directory tree of Markdown files organized by domain taxonomy:
bundle-root/
├── <domain>/ # Top-level subject area (e.g., computer, science, philosophy)
│ ├── <subdomain>/ # Sub-topics (e.g., ai, systems, networks)
│ │ ├── <topic>/ # Specialized area (e.g., software, hardware)
│ │ │ ├── <entity>.md
│ │ │ └── <topic>.md # Optional lead concept document
kebab-case or dotted identifiers, matching ^[a-z0-9]+([.-][a-z0-9]+)*$).vector-search.md, memory-architectures.md).index.md files: Category indexes are purely auto-generated build artifacts.When organizing categories:
README.md (Optional Landing Page):
README.md so that Git repository hosts (such as GitHub) render a human-friendly landing page when browsing that folder.README.md is never listed under ## Articles. In the generated output bundle and HTML site, README.md is automatically converted to index.md / index.html.index.md and README.md.<dir>/<dir>.md):
memory/memory.md).index.md / index.html) are generated dynamically during the build pipeline.README.md exists, its H1 heading and intro text are used as the category title and preamble.<dir>/<dir>.md exists, its link and summary are placed into the preamble (merged after any custom intro prose from README.md).[[memory]]) and README.md are automatically omitted from the ## Articles list to prevent duplicate indexing.<dir>/<dir>.md exists, all articles in that directory are listed under ## Articles.All documents must adhere to Well formed Markdown constraints:
# Title).# -> ## -> ###).# hash notation (not underline style).- dashes (not asterisks or pluses).Inter-document references and external entity links MUST use Markdown Magic Links syntax ([[...]]):
[[URI-Reference]]):
[[second]] automatically resolves the title from second.md (e.g., rendered as [Second Article Title](second.md))..md extension: write [[vector-search]], never [[vector-search.md]].[[¬/...]]) or filesystem-root prefixes ([[/...]]).[[URI-Reference|Text]]) are forbidden; link text is always derived automatically from the target's title.[[https://www.example.org]] and resolve automatic link titles from the remote resource when supported by tooling.Every concept document MUST include YAML frontmatter delimited by --- at the beginning of the file.
type: (Required) Short string identifying the kind of concept (e.g., Specification, Software, Playbook, schema:Person).resource: Canonical URI identifying the underlying asset on the Web. Omitted for purely abstract concepts.generated: Provenance mapping describing creation (by: <actor>, at: <iso8601-timestamp>).verified: List of verification events (by: <actor>, at: <iso8601-timestamp>).tags: YAML list of short strings for cross-cutting taxonomy.sources: List of materials the concept derives from, external or internal:
resource: (Required) URI or relative link to the source.id: Stable key used for per-claim attribution.title: Human-readable label for the source.author: Entity that produced the source.last_modified: When the source itself last changed.status: Lifecycle state (draft, deprecated). For stable documents, the status field is omitted.updated: Date of last significant update (YYYY-MM-DD).Unlike standard OKF, EKF strictly omits the following keys from YAML frontmatter:
title: Omitted because it is inferred directly from the first # H1 heading in the Markdown AST.description: Omitted because it is inferred directly from the first non-empty paragraph following the H1 heading.This eliminates synchronization errors between frontmatter and document body prose.
EKF natively supports Linked Data in YAML-LD format within the YAML frontmatter:
@context to declare RDF namespaces (such as schema: https://schema.org/ or wikidata: https://www.wikidata.org/wiki/).schema:givenName, schema:alumniOf, schema:sameAs) to structure semantic knowledge.---
type: Software
resource: https://www.cognee.ai
generated: { by: reference_agent/gemini-3.7-flash, at: 2026-08-23T15:41:05Z }
verified:
- { by: human:/people/vorburger.ch, at: 2026-08-23T15:46:03Z }
tags:
- ai
- memory
- agents
sources:
- resource: https://docs.cognee.ai/
title: Cognee Documentation
updated: "2026-08-23"
---
# Cognee AI Memory
Cognee is an open-source framework for building persistent memory engines and knowledge graphs for AI agents.
## Architecture
Cognee structures unstructured data into knowledge graphs...