# OKF and ARD: complementary by accident — Joost de Valk
> [!question] Lingering Questions
> - Which field name wins — `mediaType` (base spec) or `type` (ARD layer) — and who actually decides?
> - Will an OKF bundle media type get registered, and through which authority?
> - How long should an interim constant stay "interim" before it becomes de facto permanent?
> [!tip] Article Ideas
> - "Compose, ship, file upstream" as a repeatable early-adopter workflow for forming web standards — worth a short case-study writeup pairing this with other standards-citizenship examples. #articleseed
> [!link] Cross Reference
> - [[3. Resources/Permanent Notes/Real Standards Adoption Means Implementing the Draft and Pushing the Gaps Upstream]] — this source's central claim, already captured as a Permanent note with this article as its origin. #xref
> - [[3. Resources/MOCs/Open Source Governance MOC]] — narrow, single-concern specs composing by accident is a governance pattern worth tracking as more agentic-web standards land. #xref
> [!quote] Vocabulary
> - **OKF (Open Knowledge Format)** — Google Cloud spec packaging a knowledge base as typed Markdown concept files; deliberately excludes serving/discovery.
> - **ARD (Agentic Resource Discovery)** — Google-developer-blog spec, built on a Linux Foundation base, publishing a catalog at `/.well-known/ai-catalog.json`.
## Bib capsule
Joost de Valk, "OKF and ARD: complementary by accident," joost.blog, June 2026. https://joost.blog/okf-ard/
## Author's thesis (Adler Q1+Q2)
Two "agentic web" standards — OKF (knowledge packaging) and ARD (discovery) — landed within a week of each other, both touched by Google, neither referencing the other, yet they compose almost perfectly because each scopes itself narrowly to one concern OKF leaves undiscoverable by design; ARD is exactly the missing discovery layer. De Valk adopted both on specification.website, generating the OKF bundle as one more derived output of a single content pipeline rather than a second copy to maintain. The specs also contradict each other on a field name (`mediaType` vs `type`), which he patched pragmatically and then filed upstream as issues on both projects, offering his live bundle as a reference adopter.
## Key arguments
- Complementarity by accident: OKF's explicit non-goal (discovery) is exactly ARD's job, so scoped, single-concern specs compose without coordination.
- The standard disagrees with itself: the base `Agent-Card/ai-catalog` spec uses `mediaType`, the ARD layer uses `type` — De Valk ships both fields with the same value, valid under either reading since both specs require ignoring unrecognized keys.
- Real early adoption means finding the gap a draft leaves and pushing it back upstream (filed two issues; invented and documented an interim OKF media type as a stopgap).
## Claim atoms
### Narrow specs compose because each leaves the other's gap
> [!quote] ID:rw_pending
> "OKF packages a knowledge base it deliberately leaves undiscoverable, and ARD is a discovery layer that only pays off when there is something worth pointing at."
**Where/why**: Core thesis — complementarity by accident, not coordination. Relevant to any governance thinking about scoped, single-concern open standards.
**Tags**: #xref #articleseed
### Early adoption means filing the gap upstream, not just implementing
> [!quote] ID:rw_pending
> "Being an early adopter is not only implementing the draft. It is finding the gap the draft left and pushing it back upstream."
**Where/why**: The "ecosystem-citizen" move — two upstream issues plus a live bundle offered as reference adopter. Already promoted to a Permanent note.
**Tags**: #xref #aphorisms #share
### Dual-field tolerance lets one entry satisfy conflicting specs
> [!quote] ID:rw_pending
> "Both specs require consumers to ignore keys they do not recognise, so the dual-field entry validates under either reading."
**Where/why**: Pragmatic fix for the `mediaType` vs `type` split — a generalizable pattern for adopting competing draft specs without waiting for reconciliation.
**Tags**: #xref
### Unregistered media types fragment without a registration authority
> [!quote] ID:rw_pending
> "Every publisher will invent a different string, and they will never converge."
**Where/why**: Why De Valk marked `application/okf-bundle+gzip` interim and filed for registration rather than shipping it silently. Names a coordination-failure mechanism distinct from the upstream-citizenship claim.
**Tags**: #xref #articleseed
## Permanent candidates
- **Standards citizenship (implement + file the gap upstream)** — already exists as [[3. Resources/Permanent Notes/Real Standards Adoption Means Implementing the Draft and Pushing the Gaps Upstream]], created from this article. Not duplicated here.
- **Unregistered types fragment without a registration authority** — distinct from the citizenship claim (this one is about coordination-failure mechanics, not adopter behavior). Promoted to a new Permanent note: [[3. Resources/Permanent Notes/An Unregistered Format Fragments Because Every Adopter Invents Their Own Name For It]].
## Processing checklist
- [x] All claim atoms have header + verbatim quote + where/why
- [x] Triage callouts populated for every tagged highlight
- [x] Checked existing Permanents first — found direct coverage for the primary claim, linked rather than duplicated; promoted one genuinely distinct secondary claim
- [x] Connected into MOC — [[3. Resources/MOCs/Open Source Governance MOC]]
## Links
- [[3. Resources/MOCs/Open Source Governance MOC]] — a live case of interoperability via scoped, single-concern specs and upstream-citizenship norms
- [[3. Resources/Permanent Notes/Real Standards Adoption Means Implementing the Draft and Pushing the Gaps Upstream]] — because evidence-for; this article is that claim's origin source
- [[3. Resources/Permanent Notes/An Unregistered Format Fragments Because Every Adopter Invents Their Own Name For It]] — because evidence-for; new Permanent note from this article's secondary claim
- [[3. Resources/Readwise/Articles/OKF and ARD Complementary by Accident]] — source document