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.1 — beta. The engine (klode.lib) is solid: 426 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 now a fail-closed supervising gate — freshness/review-aware grounding (verify_evidence), a bounded evidence-context op (verify_context), and an enriched, anchor-validated criterion schema are in place — but the rubric judge is still 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.1.tar.gz (143.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.1-py3-none-any.whl (104.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: klode-0.2.1.tar.gz
  • Upload date:
  • Size: 143.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.1.tar.gz
Algorithm Hash digest
SHA256 b69a0983bae395b7070893f6902292c6f745cebe4fd1ecb29988e80f83f782ef
MD5 ad424de1081bfc3d5fbab587a5b622b1
BLAKE2b-256 d93dcf0da2e1b6e8e096607ff17cd638700e0dfba33c955a1df4845b151b92a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for klode-0.2.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: klode-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 104.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a349986892c83ea5523c2f1f23784faad242051799608b2cc2a20ed868dc150
MD5 789460bba03059b8c7e588704a2a9982
BLAKE2b-256 501c93826e7c13e07b5329ed8276a551b2f5579c2243bf3ee8329e9ed8565340

See more details on using hashes here.

Provenance

The following attestation bundles were made for klode-0.2.1-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