Hydrate already emits an OKF dialect.
Google has published the Open Knowledge Format, a tiny, file-based standard for portable knowledge: markdown plus YAML frontmatter plus a graph of links. That is the shape Hydrate has written from day one. Its wiki, its memory files, its handovers and its packs are already markdown with frontmatter and real links between them. This is not adopt a new format. It is declare the format you already speak.
type: Source File # routes node colour in a graph view
title: cmd/hydrate-server/peer.go
description: Peer listener and metadata endpoints.
resource: file:///…/cmd/hydrate-server/peer.go
tags: [peernet, server]
timestamp: 2026-06-19T11:52:29Z
hydrate-wiki: # preserved verbatim as an extension
id: 1a6e83cf-…
sources: [...] The conformance bar is one field
OKF v0.1 sets a deliberately tiny bar. A bundle conforms if every
non-reserved markdown file carries parseable YAML frontmatter with a
non-empty type field. That is it. Everything else is soft
guidance, and a consumer is required to tolerate unknown fields, unknown
types and broken links. Hydrate already writes markdown with frontmatter
across the board, so it sits one field away from conformance, not one
rewrite away.
The clause that makes this worth doing: OKF requires only type,
producers may add any keys they like, and consumers should preserve those
unknown keys on round-trip. So Hydrate's richer metadata, its trust
scores, decay half-life, scope, provenance, embedding pointers and the
whole hydrate-wiki: block, all ride along as extension fields,
fully preserved, while any generic OKF consumer simply ignores what it does
not understand. Adoption is lossless and near zero cost. That is the whole
argument.
Four surfaces, already the right shape.
Hydrate did not back into this. Local, file-based, markdown, vendor-neutral knowledge has been the architecture since before OKF existed. Here is what each surface needs to declare conformance, and what it unlocks.
The autonomous wiki
Pages already carry frontmatter and real markdown links. Add five
top-level keys (type, title,
description, resource, timestamp),
keep the existing hydrate-wiki: block as an extension, and
generate the reserved index.md and log.md. The
bundle is then conformant.
curate emits the keys Hydration packs
A pack is already a directory of typed concept docs. Each concept takes a
type from the existing taxonomy, Canon, Decision,
Convention, Runbook, Fact, Reference, so a pack becomes a forkable repo,
renderable in the OKF visualiser and ingestable by any OKF consumer.
share a pack = share a bundle The handover archive
The handover directory is already a set of timestamped markdown files
whose chronology maps exactly onto OKF's log.md convention,
date-grouped, newest first, ISO-8601. Add type: Handover and
a generated index and it is conformant, a durable, git-diffable record.
a gift, already chronological Memory files
Memory files are markdown with frontmatter and [[name]]
links between them. Conformance is a type field plus
rewriting the wiki-style links to OKF markdown links. The graph of
relationships is already there to walk.
[[name]] → [name](…) Add a little. Lose nothing.
OKF and Hydrate are not in tension. OKF is the interchange envelope; Hydrate's rich metadata is the cargo that rides inside it, untouched.
| Dimension | OKF v0.1 asks for | Hydrate already has |
|---|---|---|
| File format | Markdown with YAML frontmatter | Markdown with YAML frontmatter, on every surface |
| Required field | A non-empty type | A typed taxonomy already in use: Canon, Decision, Convention, Runbook, Fact, Reference |
| Links | Markdown links between docs | Real links in the wiki; [[name]] in memory, rewritten on export |
| Reserved files | index.md nav, log.md history | Numbered overview pages and a changelog, reshaped to the convention by curate |
| Extra metadata | Producers may add any keys; consumers preserve them | Trust, decay, scope, provenance, embedding pointers, all ride along as extensions |
| Generic consumer | Sees prose plus type, ignores the rest | Reads the bundle as plain knowledge; Hydrate keeps using the extension fields it ignores |
OKF is a representation and interchange format. It has no embeddings, no ranking and no decay semantics, by design.
A conformant wiki is a knowledge graph for free.
The wiki is the cheapest place to start because it unlocks the most. The
dashboard already renders the wiki from frontmatter and body. Once the
wiki is a conformant OKF bundle, the type field drives node
grouping, the markdown links drive edges and the reserved
index.md drives the tree, so a navigable graph view comes
almost for nothing. The wiki also becomes a portable artifact any agent,
ADK or LangChain, can consume.
hydrate wiki curate → OKF bundle
OKF is the boundary, not the engine.
We are not refactoring the core. OKF is a representation format with no
retrieval, ranking or decay, so it is not a replacement for Hydrate's local
store and embedding index. That stays the runtime hot path. OKF is adopted
strictly at the boundaries: export, import, archive, wiki and dashboard
render. The standard is days old and v0.1, so adoption is unproven, but the
bet is structural, a type field and a thin adapter, both cheap
and reversible. If OKF stalls, that is an adapter lost, not an architecture.