Provenance, trust, and lifecycle
July 31, 2026 · View on GitHub
OKF v0.2 (§5) introduces three frontmatter families that make "where did this come from," "how much should I trust it," and "is it still current" answerable from frontmatter. All are optional, and their absence carries meaning: an unverified concept is distinguishable from a verified one, but is never rejected (§11).
New in v0.2. These families did not exist in v0.1. A v0.1 concept simply lacks them and is consumed as unverified, with
generated.atfalling back to a legacytimestampwhere present (§13).
§5.1 Provenance — sources
Records the materials a concept derives from. Covered in detail on the
Provenance page: a sources list with a REQUIRED per-entry
resource, an optional stable id for per-claim footnote attribution, and optional
credibility signals (author, usage_count, last_modified) framed by a shared
usage_window.
§5.2 Trust — generated and verified
Kept distinct because who wrote a concept need not be who confirmed it.
generated: { by: reference_agent/gemini-2.5-pro, at: 2026-06-20T22:53:05Z }
verified:
- { by: human:ahormati, at: 2026-06-25T09:00:00Z }
- { by: process:finance-nightly, at: 2026-06-26T02:00:00Z }
generated.by— REQUIRED withingenerated. An actor (§7).generated.at— ISO 8601 datetime marking the content's last meaningful change. Supersedes v0.1'stimestamp.verified— a list of{ by, at }verification events. Multiple entries capture independent checks (a human sign-off plus a nightly process). "How recently" is the latestat. It is independent ofgenerated.at: content can change without re-confirmation, and facts can be re-confirmed without regeneration.- A single verifier MAY be written as one
{ by, at }mapping without the list dash; consumers MUST treat a bare mapping as a one-element list.
§5.3 Trust tiers
Consumers derive an advisory tier from verified, lowest to highest:
- No
verifiedkey ⇒ unverified. verifiedby non-human:actors only ⇒ machine-confirmed.verifiedby ahuman:<id>actor ⇒ human-reviewed.
Tiers are inferred, not stored, and are not access control. A concept with no trust frontmatter is still consumable (§11).
§5.4 Lifecycle — status
status: stable # draft | stable | deprecated
draft— not yet reviewed; possibly incomplete.stable— default; ready for consumption.deprecated— kept for links and history; no longer current.
Absent status ⇒ stable.
§5.5 Lifecycle — stale_after
stale_after: 2026-09-23 # absolute date; content is stale on/after this day
Optional absolute date (YYYY-MM-DD). A concept is stale when today >= stale_after.
An absolute date (not a relative TTL) keeps the staleness decision a plain date
comparison with no reference to when the concept was read.