Conformance

July 31, 2026 · View on GitHub

OKF (§11) sets a deliberately low bar. A bundle conforms with OKF v0.2 if:

  1. Every non-reserved .md file has parseable YAML frontmatter;
  2. That frontmatter has a non-empty type; and
  3. Any reserved files present follow their structures (index §8, log §9).

That is the entire required producer obligation. type is the only always-required key.

Changed from v0.1. This section was §9 in v0.1; it is §11 in v0.2. The three hard requirements are unchanged, but v0.2 adds SHOULD-level rules for the optional provenance / trust / lifecycle (§5) and computation (§10) families, and expands the list of things consumers MUST NOT reject over.

When the optional families are present

When the trust, lifecycle, provenance, or computation families appear, producers SHOULD follow §5 through §10, and consumers:

  • MUST treat a bare verified mapping as a one-element list (§5.2).
  • MUST NOT reject a concept for missing any optional family (§5.3).
  • SHOULD derive trust tiers and staleness only from the fields specified in the spec.
  • SHOULD surface, not silently drop, a failing attestation (§10.5).

Trust tiers (§5.3)

Consumers derive an advisory trust tier from verified, lowest to highest:

  • No verified key ⇒ unverified.
  • verified by non-human: actors only ⇒ machine-confirmed.
  • verified by a human:<id> actor ⇒ human-reviewed.

A concept with no trust frontmatter is still consumable. Trust tiers are advisory signals, not access control.

What consumers MUST NOT reject over

To keep OKF tolerant and forward-compatible, consumers MUST NOT reject a bundle for any of:

  • missing optional frontmatter fields;
  • unknown type values;
  • unknown additional frontmatter keys (and SHOULD preserve them when round-tripping);
  • broken links; or
  • missing index files.

Checklist for this bundle

The lint operation and the repo's conformance check verify:

  • every concept document has frontmatter with a non-empty type;
  • reserved index.md/log.md carry no frontmatter (except the root index's okf_version);
  • the root index declares okf_version: "0.1" (this bundle is authored in v0.1 while documenting v0.2);
  • log date headings use YYYY-MM-DD.

Broken links are reported by lint as a health signal but, per §6 and §11, never affect conformance.

Citations

  1. OKF Specification (SPEC.md)