# 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