Supporting schemas cover the rest of the format:
definitions/entity-reference.schema.json (entity references, $ref’d by the
two schemas above), document-reference.schema.json (standalone
DocumentReference, ADR-014), container.schema.json (the optional Container
Profile, ADR-021), and relationship-types-config.schema.json (custom
relationship types declared in .mif/config.yaml). Each is served under
https://mif-spec.dev/schema/.
All schemas use JSON Schema Draft 2020-12. Canonical $id values are unversioned and stable; each MIF release also publishes an immutable versioned mirror (for example https://mif-spec.dev/schema/1.4.2/mif.schema.json, plus latest/ and the major alias v1/) for consumers that need to pin a version. This page tracks MIF specification 1.4.2.
MIF Document Schema
ID:https://mif-spec.dev/schema/mif.schema.json
Required Fields
Field
Type
Description
@context
string/array/object
JSON-LD context
@type
"Concept" (or array containing "Concept"; the deprecated alias "Memory" is also accepted)
Concept URN urn:mif:<uuid>; <uuid> is the frontmatter id (Specification §6.1)
conceptType
enum
Knowledge taxonomy classification
content
string (minLength: 1)
Concept content: the Markdown body of the .md file, a named property only in the JSON-LD projection
created
string (date-time)
Creation timestamp
memoryType is a deprecated v0.1 alias for conceptType, retained for
backward compatibility. New documents MUST use conceptType. The schema
requires one of the two: a document carrying only memoryType still
satisfies the type check.
(The deprecated v0.1 alias memoryType accepts the same enum.)
Type
Description
Use For
semantic
Declarative knowledge
Facts, decisions, preferences, concepts
episodic
Time-bound experiences
Incidents, sessions, conversations
procedural
How-to knowledge
Runbooks, patterns, migration guides
Ontologies can define extended types that map to these base types via namespace conventions (e.g., _semantic/decisions, _episodic/incidents).
Optional Fields
Basic Metadata
Field
Type
Description
title
string
Human-readable title
description
string
OKF-recommended description (mapped from MIF summary)
modified
date-time
Last modification timestamp
timestamp
date-time
OKF-recommended mirror of modified (or created)
namespace
string (pattern)
Hierarchical scope
tags
array of strings
Classification tags
aliases
array of strings
Alternative names
documents
array of DocumentReference
Source documents carried by reference, not embedded (ADR-014). Each entry has @type: "DocumentReference" plus a url or an id; optional documentType, hash and other integrity metadata
properties
object (string → string/number/boolean/null)
First-class scalar key/value pairs (e.g. from a knowledge-graph literal-object triple) with no concept target, so they cannot be a relationship. Values MUST be scalar; nested objects/arrays are out of scope at Level 1
The related concept: a bundle-relative path (e.g. /semantic/policy.md) for a concept in the same bundle (RECOMMENDED), or urn:mif:<uuid> for one outside it
strength
No
0.0-1.0 relationship strength
metadata
No
Additional properties
Relationship Types:
Type
Description
relates-to
General relationship
derived-from
Created based on source
supersedes
Replaces an older concept
conflicts-with
Contradicts another concept
part-of
Component of larger whole
implements
Realizes a concept/pattern
uses
Utilizes a technology/tool
created
Authored by entity
mentioned-in
Referenced in a concept
Temporal Metadata
"temporal": {
"@type": "TemporalMetadata",
"validFrom": "2026-01-26T00:00:00Z",
"validUntil": null,
"recordedAt": "2026-01-26T10:00:00Z",
"ttl": "P90D",
"decay": {
"model": "exponential",
"halfLife": "P7D",
"currentStrength": 0.85
},
"accessCount": 5,
"lastAccessed": "2026-01-26T14:00:00Z"
}
Field
Type
Description
validFrom
date-time or null
When fact becomes valid
validUntil
date-time or null
When fact expires
recordedAt
date-time
Transaction time
ttl
ISO 8601 duration
Time-to-live
decay.model
enum
none, linear, exponential, step
decay.halfLife
ISO 8601 duration
Decay half-life
decay.currentStrength
0.0-1.0
Current strength (alias: strength in Markdown frontmatter)
decay.lastReinforced
date-time
When the concept was last reinforced
accessCount
integer
Times accessed
lastAccessed
date-time
Last access time
reinforcementHistory
array
Array of reinforcement events (see below)
Reinforcement History Entry:
Field
Required
Type
Description
timestamp
Yes
date-time
When reinforcement occurred
event
Yes
string
What triggered the reinforcement
strengthDelta
No
number
Strength change amount
context
No
string
Additional context about the reinforcement
Recommended Half-Life Values:
Duration
Use Case
P7D
Short-term context, episodic records
P14D
Medium-term project context
P30D
Long-term knowledge, semantic facts
These are pragmatic freshness defaults for how quickly knowledge of a given kind loses currency, not prescriptive values; the cognitive-memory rationale behind them lives in the AI Memory profile. See Specification §9.3, Freshness Rationale for detailed rationale.