Skip to main content

Governance-grade knowledge-base format (OKF-compatible) plus CLI and single-writer MCP server

Project description

data-olympus

knaisoma/data-olympus MCP server

New here? Start with WHY.md. It is the story behind the project: the problem we kept hitting with coding agents, what data-olympus does differently, how it relates to Google's Open Knowledge Format, and where our benchmarks say it is strong and where it is not. The rest of this README is the technical reference.

data-olympus is a governance-grade knowledge-base format and server for agent workforces. It is designed to be readable by Open Knowledge Format (OKF) consumers: it inherits OKF's directory structure, frontmatter conventions, reserved filenames, and link model, then layers governance extensions on top (stable id, controlled type/status/tier fields, supersedes chains) plus a single-writer MCP server and a CLI. Formal conformance testing against the OKF reference tooling is not yet in place (tracked in issue #82). The result is a git-native, version-controlled document graph of engineering standards, architectural decisions, and project knowledge that agents and humans can read, search, and extend without any proprietary service.

It governs decisions, not code. When an agent is about to make a choice (a library, a pattern, a migration), data-olympus surfaces the established standard or decision that should govern that choice. It is deliberately not a code-search, reference-finding, or "where is X used" tool: LSP, grep, and Sourcegraph already do that well. The retrieval task it targets is coding-intent to governing-rule, and it helps where current model interaction during vibe-coding is weakest: keeping the model aligned to patterns the team has already established as correct.

Status: pre-1.0 beta. Latest release: v0.4.1.

Why

  • Portable, no lock-in. The entire KB is a directory of markdown files in git. No database, no proprietary schema, no vendor.
  • Git-native diffs and review. Every change is a commit. Proposed edits go through a pending queue before commit; history is plain git log.
  • Agent and human readable. Plain markdown with YAML frontmatter. No SDK required to read or author a document.
  • Governed multi-agent writes. The single-writer MCP pipeline (advisory locks, per-session worktrees, durable push queue) prevents concurrent write races without requiring distributed locking infrastructure.
  • Queryable by status, tier, and type. Filter by status: accepted, tier: T1, or type: decision without post-processing. The supersedes chain makes it possible to trace decision history across the graph.
  • Designed to be OKF-readable. Built on OKF's directory structure, frontmatter conventions, reserved filenames, and link model; formal conformance testing against OKF reference tooling is tracked in issue #82, not yet implemented.

Quickstart

Requires Python 3.13+ and uv.

# Install
uv venv && uv pip install -e '.[dev]'

# Lint the example bundle
uv run data-olympus lint example-bundle

# ...or scaffold your own bundle instead of copying example-bundle/
uv run data-olympus init my-kb

# Start the MCP server against the example bundle
./scripts/run-local.sh

See docs/quickstart.md for the full local-run walkthrough, including curl and kb CLI queries. See docs/adoption.md for the full bundle-authoring guide.

Documentation

  • SPEC.md: format specification (bundle layout, frontmatter schema, serving contracts).
  • docs/quickstart.md: verified local-run procedure.
  • docs/adoption.md: bring-your-own-KB guide (author, lint, index, serve, wire an agent).
  • docs/serving.md: single-replica serving model, read-only replicas, git pull loop, health/readiness/liveness split, proxy headers, audit-log rotation.
  • docs/operations.md: production runbook — backup, upgrade, recovery playbooks (degraded/fetch-failed, history rewrite, frozen/demoted push entries, orphaned locks), and the health/alerting model.
  • docs/comparison.md: how data-olympus relates to OKF, enterprise catalogs, markdown KB tools, agent-context conventions, RAG, and ADR tooling.
  • docs/okf-profile.md: field-by-field OKF profile — which governance extensions are stable, which are runtime-only serving fields, and which are experimental candidates.
  • docs/glama.md: Glama registry claim, release, and score-maintenance notes.
  • docs/enforcement.md: turning the KB into a mandatory consultation gate (hooks, kb enforce).
  • benchmarks/README.md: retrieval benchmark methodology and how to reproduce the numbers in docs/comparison.md.
  • SECURITY.md: supported versions and how to report a vulnerability.

License

Apache 2.0. See LICENSE and NOTICE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

data_olympus-0.5.0.tar.gz (367.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

data_olympus-0.5.0-py3-none-any.whl (346.4 kB view details)

Uploaded Python 3

File details

Details for the file data_olympus-0.5.0.tar.gz.

File metadata

  • Download URL: data_olympus-0.5.0.tar.gz
  • Upload date:
  • Size: 367.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for data_olympus-0.5.0.tar.gz
Algorithm Hash digest
SHA256 307db653a02797b163ef343ef7b32607f2a0eaf458b718630d869768ee2317bc
MD5 4c1a0e69f61fc683f56919e82d45c476
BLAKE2b-256 cff30cec557423884c86ddb0ce9b10fc24aa3e07707617293784f3c4962c3d34

See more details on using hashes here.

Provenance

The following attestation bundles were made for data_olympus-0.5.0.tar.gz:

Publisher: tag-release.yml on knaisoma/data-olympus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file data_olympus-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: data_olympus-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 346.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for data_olympus-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac416014cea9d479a315e51923c887ef6f492a1df5647f5fe9d668d734a2ee49
MD5 7980ec86bd05fd1f2c6d7fc57616a79d
BLAKE2b-256 6e60c656830619796498a6a5c1de64ed5a5cec745021a9502912d23204af66b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for data_olympus-0.5.0-py3-none-any.whl:

Publisher: tag-release.yml on knaisoma/data-olympus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page