Skip to main content

klode

A klode — a rich vein — of grounded, verifiable knowledge, with the machinery to encode it and to supervise work against it. Every claim is anchored to a verbatim source and checked by a fail-closed linter, so the system can't quietly drift or hallucinate: cite, don't recall.

Zero runtime dependencies — Python 3.11+, standard library only.

The two loops

  • Loop A — encode expertise (klode.lib): turn sources into cited, retrievable knowledge. Every card claim carries a verbatim (grep: …) anchor; klode check fails if any citation stops resolving.
  • Loop B — supervise work (klode.gate): submit a draft, score it against criteria loaded from a knowledge base's craft layer, and return Go / Recycle — each cited defect grounded through klode.lib.verify, so the judge's citations are un-fakeable. The boundary is enforced: klode.gate consumes only the klode.lib public API, never its internals.

Install

pip install klode              # once published
# or from a source checkout:
pipx install -e .              # provides the `klode` and `klode-mcp` commands

Three surfaces over one engine

A knowledge base is a library.toml plus a corpus of cited cards. Point klode at one with -c, or register several in a manifest and address them by id (--kb <id> / --registry).

CLIklode:

klode -c path/to/library.toml check                 # citation-rot linter (exit 1 on any broken citation)
klode -c path/to/library.toml search pacing         # retrieval over the cards
klode -c path/to/library.toml consult brevity       # read a craft lens
klode -c path/to/library.toml verify brevity "the exact quote"   # prove a quote against its source
klode ingest paper.pdf --shelf papers               # ingest a source -> clean, grep-ready text
klode kbs                                            # list the KBs in a registry

Add --json to any read verb for machine-readable output (the same structured result the MCP renders).

MCP serverklode-mcp (stdio): exposes the read/verify surface to an agent — list_kbs, search_sources, consult_dimension, consult_framework, zoom_card, verify_quote, diagnose, list_lenses. Serves one KB (-c) or many (--registry), and every grounded result names its KB.

Libraryimport klode.lib: the stable public-API facade — verify, search, consult, resolve, diagnose, Config. Cheap to import; pulls in no frontends or optional backends.

Ingestion — any format to grep-ready text

klode ingest detects the format by content signature (not the extension) and converges every source on one clean-text pipeline: PDF, EPUB, DOCX, HTML/XHTML, TXT. EPUB/DOCX/HTML/TXT are pure stdlib; only PDF's OCR tiers are optional. For table-heavy or scanned PDFs, point $KLODE_DOCLING_URL at a docling-serve endpoint (the GPU runs server-side — klode stays dependency-free) and pass --tier docling.

Architecture

One operations registry projects a single core to both surfaces (CLI + MCP), so they can differ in formatting but never in behaviour. Every grounded result carries structured provenance (which KB, which source, which policy). See dev-docs/ for the design record and SPEC-operations.md for the machine-readable operation table.

Status

0.2.0 — beta. The engine (klode.lib) is solid: 397 tests, a stable public-API facade, an AST layering guard, a content-sniffing multi-format ingester, and an MCP server, all with zero runtime dependencies. klode.gate (Loop B) is a walking skeleton — the un-fakeable-citation mechanism is proven, but the rubric judge is a stub (FixtureJudge); a real LLM judge plugs into the Judge protocol. The optional entailment check (klode check --entail) pulls a small NLI model behind klode[entail] and is advisory, warn-only.

License

MIT — see LICENSE.

Download files

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

Source Distribution

klode-0.2.0.tar.gz (133.5 kB view details)

Uploaded Source

Built Distribution

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

klode-0.2.0-py3-none-any.whl (99.1 kB view details)

Uploaded Python 3

File details

Details for the file klode-0.2.0.tar.gz.

File metadata

  • Download URL: klode-0.2.0.tar.gz
  • Upload date:
  • Size: 133.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for klode-0.2.0.tar.gz
Algorithm Hash digest
SHA256 006944d38f95a3ee6818d515bb6f249b0ca6028867c226390bdfbd488d51fd64
MD5 2e610272458eda0c7fcd7c7ab7cce1a9
BLAKE2b-256 904ebd09bbf1e442895dceddeedb05fe8d2c343f2fa9cc0d31a774d34685760e

See more details on using hashes here.

Provenance

The following attestation bundles were made for klode-0.2.0.tar.gz:

Publisher: workflow.yml on xiaolai/klode

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

File details

Details for the file klode-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: klode-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 99.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for klode-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81cb2956596cd91456a6dbb4205dbc99309243d6bfc341400496be136eeb36ba
MD5 0dbfdf69548dee28d3e049df984c272c
BLAKE2b-256 ac4c24c4a6b84373bcf57b9b2917d3fdd3e17cb16f97aef2252c0b757f464e99

See more details on using hashes here.

Provenance

The following attestation bundles were made for klode-0.2.0-py3-none-any.whl:

Publisher: workflow.yml on xiaolai/klode

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