66> anyone can consume it (file servers, Obsidian/Notion/MkDocs, LLMs, search
77> indexes, graph viewers).
88>
9- > Source: https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/main/okf/SPEC.md
9+ > Source: < https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/main/okf/SPEC.md >
1010
1111## Core principles
1212
2626
2727A knowledge bundle is a hierarchical directory of markdown files:
2828
29- ```
29+ ``` text
3030bundle_root/
3131├── index.md (optional; only place frontmatter is allowed in an index)
3232├── log.md (optional)
@@ -38,6 +38,7 @@ bundle_root/
3838```
3939
4040** Reserved filenames:**
41+
4142- ` index.md ` — progressive-disclosure directory listings.
4243- ` log.md ` — chronological update history.
4344
@@ -51,12 +52,12 @@ Two sections: required YAML frontmatter, then a markdown body.
5152
5253``` yaml
5354---
54- type : <Type name> # REQUIRED — non-empty string
55- title : <Display name> # Recommended
56- description : <One-line summary> # Recommended
57- resource : <Canonical URI> # Recommended for assets
58- tags : [<tag>, <tag>] # Optional
59- timestamp : <ISO 8601 datetime> # Optional
55+ type : <Type name> # REQUIRED — non-empty string
56+ title : <Display name> # Recommended
57+ description : <One-line summary> # Recommended
58+ resource : <Canonical URI> # Recommended for assets
59+ tags : [<tag>, <tag>] # Optional
60+ timestamp : <ISO 8601 datetime> # Optional
6061# Producers may add arbitrary custom keys.
6162---
6263```
@@ -78,11 +79,11 @@ on round-trips.
7879Standard markdown. Conventional section headings (prefer structural markdown —
7980tables, lists, code blocks — over prose):
8081
81- | Section | Purpose |
82- | --------------- | ----------------------------------------------- |
83- | ` # Schema ` | Structured description of columns/fields. |
84- | ` # Examples ` | Concrete usage examples in code blocks. |
85- | ` # Citations ` | External sources supporting claims. |
82+ | Section | Purpose |
83+ | ------------- | ----------------------------------------- |
84+ | ` # Schema ` | Structured description of columns/fields. |
85+ | ` # Examples ` | Concrete usage examples in code blocks. |
86+ | ` # Citations ` | External sources supporting claims. |
8687
8788## Cross-linking
8889
@@ -102,12 +103,12 @@ Optional, support progressive disclosure. Sections group concepts. No frontmatte
102103``` markdown
103104# Section Heading
104105
105- * [ Title] ( relative-url ) - description from the linked concept
106- * [ Subdirectory] ( subdir/ ) - group description
106+ - [ Title] ( relative-url ) - description from the linked concept
107+ - [ Subdirectory] ( subdir/ ) - group description
107108
108109# Another Section
109110
110- * [ Title] ( url ) - description
111+ - [ Title] ( url ) - description
111112```
112113
113114Producers may generate them automatically; consumers may synthesize dynamically.
@@ -121,11 +122,13 @@ Date headings must use ISO 8601 `YYYY-MM-DD`. Leading bold words are conventiona
121122# Directory Update Log
122123
123124## 2026-05-22
124- * ** Update** : Description of change
125- * ** Creation** : Description of new content
125+
126+ - ** Update** : Description of change
127+ - ** Creation** : Description of new content
126128
127129## 2026-05-15
128- * ** Initialization** : Foundational changes
130+
131+ - ** Initialization** : Foundational changes
129132```
130133
131134## Citations
@@ -166,7 +169,7 @@ Best-effort consumption is preferred over rejection.
166169
167170## Minimal example
168171
169- ```
172+ ``` text
170173my_bundle/
171174├── index.md
172175├── datasets/
@@ -209,7 +212,7 @@ timestamp: 2026-05-28T00:00:00Z
209212# Schema
210213
211214| Column | Type | Description |
212- | --------------- | --------- | ------------------------------------------ |
215+ | ------------- | ------- | ---------------------------------------- |
213216| ` order_id ` | STRING | Unique order identifier. |
214217| ` customer_id ` | STRING | FK to [ customers] ( /tables/customers.md ) . |
215218| ` total_usd ` | NUMERIC | Order total in USD. |
0 commit comments