# Journal — 2026-06-23 ## Grouped OKF fields in the document-view margin Regrouped the `doc-meta` margin (web reading room) so the OKF section holds **only** OKF-spec fields. **Gotcha (got it wrong twice):** demarkus catalog metadata ≠ OKF. Grounded the split in the actual OKF v0.1 spec (GoogleCloudPlatform/knowledge-catalog/okf/SPEC.md), not the demarkus policy doc. OKF v0.1 frontmatter = `type` (required) + optional `title`, `description`, `resource`, `tags`, `timestamp`. Mapping onto the doc view: - **OKF group:** `type` (kind), `tags` (pills), `timestamp` (← demarkus `modified`, "last meaningful change"). `title` stays the `

`. - **NOT OKF** (demarkus catalog/provenance, render outside the OKF box): `status` badge, `version`, `agent`, `importance`. The original error was sweeping `status`/`importance` into "OKF" while leaving `tags`/`modified` out — exactly backwards. **Threading:** `type` was never surfaced in the view model. Added `Type` to `domain.Document` (from `raw.Metadata["type"]` in `reading.go`), and to both VMs that share the `doc-meta` template: `page` (reading_handlers.go) and `paneVM` (trail_handlers.go — the canvas mirrors page VM). Forgetting the canvas/paneVM copy is an easy miss since `doc-meta` is shared. `description`/`resource` aren't carried in the demarkus metadata channel, so they're absent from the OKF group for now. Files: `internal/core/domain/document.go`, `internal/core/service/reading.go`, `internal/adapter/inbound/web/reading_handlers.go`, `trail_handlers.go`, `templates/content.html`, `templates/page.html` (`.okf`/`.meta-head` CSS).