Skip to content

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 27 Oct 09:23
· 4 commits to develop since this release
v0.7.1
4e2bf4c

Release v0.7.1: Multi-Scope Show Resolution & Metadata Hardening

Release v0.7.1 is a patch release resolving search/show scope disagreement through nearest-first bare ID fallback across scopes, ensuring safe round-trip preservation of custom metadata within sources list items, fixing double-joined relative bundle root resolution in okf mcp, and cleaning up embedded struct selector linter warnings.


1. Bug Fixes & Improvements

Nearest-First Scope Fallback for Bare Concept IDs in show & okf_show (#47, #61)

  • Problem: okf show <id> and the MCP tool okf_show previously resolved bare IDs exclusively within the local project bundle (knowledge/). Concepts residing in user (~/.okf) or system (/etc/okf) memory surfaced in search results but could not be opened with okf show <id>.
  • Resolution: Implemented deterministic nearest-first fallback for bare concept identifiers: project $\rightarrow$ user $\rightarrow$ system.
    • Vendor bundles are strictly excluded from bare-ID fallback to prevent cross-bundle ID collisions; vendor concepts continue to require explicit @<bundle-id>/<concept-id> references.
    • Explicit scoped references (okf://project/..., user:..., system:..., @...) remain exact and never fall back.
    • Human-readable CLI text output, CLI JSON output (--json), and MCP responses now explicitly report the resolved scope. Raw Markdown output (--raw) remains identical to disk contents.
  • Credit: Reported by @DevMasterDru in #47; implemented by @gezerui888 in PR #61.

Safe Round-Trip Preservation of Custom sources Metadata Keys (#57)

  • Problem: OKF v0.2 mandates that consumers must tolerate unknown metadata keys and preserve them across updates. While top-level unknown keys survived okf update, non-standard keys within individual sources list items (e.g. checksum, accessed) were dropped by the parser and discarded during serialization.
  • Resolution: Extended Source with Extra map[string]string (json:"extra,omitempty"). ParseConcept captures unknown item keys and SerializeConcept deterministically serializes them in canonical key order across mutations.
  • Credit: Reported with reproduction tests by @iSkyleya1 in #57.

Relative Nested Bundle Path Resolution in okf mcp (#58)

  • Problem: When starting okf mcp docs/knowledge with OKF_MCP_ROOT unset, the server derived rootDir from the bundle's parent (docs), but kept bundleDir as relative. resolveBundleDir joined the relative bundle path to the root, resolving to docs/docs/knowledge and causing all subsequent tool calls to fail.
  • Resolution: RunMCPServerIO now resolves bundleDir to an absolute path via filepath.Abs before deriving the server rootDir when OKF_MCP_ROOT is unset, preventing multi-segment relative path duplication while preserving strict server boundary confinement.
  • Credit: Reported and diagnosed with reproduction tests by @iSkyleya1 in #58.

Test Suite Cleanliness & Staticcheck QF1008

  • Improvement: Removed redundant embedded field selectors on ScopedConceptResult (res.Concept.Title $\rightarrow$ res.Title), satisfying staticcheck rule QF1008 across all test suites.

2. Knowledge & Architecture


3. Community & Special Thanks

  • @gezerui888: For implementing nearest-first scope resolution in show and okf_show in #61.
  • @iSkyleya1: For diagnosing and providing regression tests for sources custom key preservation in #57 and relative nested MCP bundle resolution in #58.
  • @DevMasterDru: For reporting the search/show scope disagreement in #47.

🌐 Discover & Share Knowledge: OKF Registry

Scale persistent memory across projects and agent sessions with the decentralized OKF Registry:

  • Browse & Share: Discover curated, quality-scored memory packages (e.g. framework best practices, architecture rules, compliance guidelines) at registry.okf-memory.dev.
  • Install in Seconds: Pull external knowledge directly into .okf/vendor/ with zero dependencies:
    okf pull <bundle-id>
  • Guaranteed Conformance: Every package is verifiable against Open Knowledge Quality Scorecards (--min-score) with atomic rollback to ensure deterministic agent consumption.

Pre-built Binaries & Verification

Release binaries are automatically built by GitHub Actions:

Full Changelog

Full Changelog: v0.7.0...v0.7.1