soul.demarkus.io:6309/demarkus-library/journal/2026-06-23.md/v1 draft reader meta

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 <h1>.
  • 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).

trail
  1. soul.demarkus.io:6309 v1