Skip to main content

Hermeneutic

Hermeneutic — understanding in between

Stop correcting the same agent mistake twice.

Mine corrections from your AI work logs, bring relevant lessons into the next task, and check outgoing claims before they ship.

by Hermes Labs

PyPI · Try the gate · Use your corrections · Integrations

Your agent says a feature is done before it has checked the work. You correct it. A week later, another session makes the same claim. Hermeneutic gives you two ways to close that loop: a fixed, fast draft gate for risky wording, and personal correction memory that retrieves past guidance when a similar task comes up. Either part can be used on its own.

Try the gate

Requires Python 3.10+. This first check needs no account, model, logs, or configuration:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install hermeneutic==0.1.14
printf '%s\n' 'Done — shipped 14 files, all tests pass.' | hermeneutic gate

The gate reports RISK for the precise completion and “all tests” claims and exits 1. Try printf '%s\n' 'Draft ready for review.' | hermeneutic gate to see a PASS (exit 0). For a real draft, use hermeneutic gate --draft response.txt. Unreadable or non-text input exits 2.

The check highlights English wording that needs a closer look. It cannot tell whether a claim is true. You decide whether to revise, verify, or send the draft.

Experimental language support

From this source branch, the draft gate supports Korean (ko), Chinese (zh), Japanese (ja), Turkish (tr), German (de), French (fr), Spanish (es), and Portuguese (pt) through trigger mapping. Local phrases map to the triggers the same English gate already checks. This is not translation or a separate set of risk rules, and it adds no model calls or runtime dependencies. The pinned PyPI release above does not include these adapters yet.

python -m pip install -e .
printf '%s\n' '5개 파일을 수정했습니다.' | hermeneutic gate --lang auto
hermeneutic gate --draft response.txt --lang zh

The CLI keeps its English default. --lang auto uses script and vocabulary hints; select a code explicitly for ambiguous or short text. Japanese kana is checked before Chinese Han characters; kanji-only Japanese needs --lang ja. Shared Spanish/Portuguese vocabulary may fall back to English. One adapter is selected per draft, so multilingual mixtures may need explicit selection. Shipped response hooks enable automatic mapping before the gate. Their existing advisory/retry behavior remains host-specific.

For Python callers, hermeneutic.lang.risk_score(text, lang="auto") returns hits with spans and matched snippets in the original draft. Router(lang="auto") enables mapping at stage 1 while downstream reviewers and repairers receive the original text. hermeneutic.risk_score and the default Router remain English-only.

Synthetic development-set results, replayed with explicit language selection:

Language Drafts caught Clean drafts flagged
Korean 116/180 (64.4%) 4/135 (3.0%)
Chinese 16/20 (80.0%) 0/20 (0.0%)
Japanese 16/20 (80.0%) 0/20 (0.0%)
Turkish 16/20 (80.0%) 0/20 (0.0%)
German 16/20 (80.0%) 0/20 (0.0%)
French 15/20 (75.0%) 0/20 (0.0%)
Spanish 14/20 (70.0%) 0/20 (0.0%)
Portuguese 15/20 (75.0%) 0/20 (0.0%)

A catch means any gate hit, including a low-severity advisory. These are small synthetic development sets, not held-out measurements or real-use coverage estimates. Automatic Korean routing catches 111/180 (61.7%) with 4/135 (3.0%) false fires; the other fixture results match explicit routing. See the validation methodology and replayable receipt for misses and limitations.

Use your corrections

For a fictional agent correction → saved episode → later evidence replay, start with the five-minute developer demo. It needs no personal logs; retrieval explicitly requires local Ollama. The demo ships with inspect and offline recall in this release.

If you have Claude Code session logs, mine correction episodes, group the recurring types, and build a local retrieval index:

hermeneutic mine ~/.claude/projects --format claude-code \
  --glob '**/*.jsonl' --out ~/.hermeneutic/triples.jsonl
hermeneutic bucket ~/.hermeneutic/triples.jsonl
hermeneutic inspect ~/.hermeneutic/triples.jsonl --limit 3
ollama pull nomic-embed-text
hermeneutic compile-index --triples ~/.hermeneutic/triples.jsonl
hermeneutic compile 'Finish the release and report what passed.'

The last two commands need Ollama running locally. If your logs contain a relevant correction, compile can return a short advisory preamble grounded in those past episodes. An empty result is possible when no match clears the threshold. The worked example shows the full path from a real correction to retrieved guidance. Codex and OpenAI message logs are also supported; see hermeneutic mine --help for the input formats.

Mining reads the paths you supply and stores local JSONL records. It does not silently teach new rules to the fixed gate. Retrieval uses local embeddings; it does not use Ollama to generate the guidance text.

Inspection rejects records larger than 1 MiB and non-standard JSON constants, escapes diagnostic paths, and rejects file changes observed during reading. Finish concurrent writers before inspection; this is not a transactional lock.

Before indexing, inspect validates the complete existing JSONL file and emits at most five preview records by default; --limit accepts a positive record count. Each JSON preview includes its source line, session (up to 128 characters), timestamp (64), and correction (160), with explicit truncation flags. Prior/next assistant messages and the original prompt are omitted. Malformed records produce a line-specific error and exit 2 without partial preview output. Inspection reads the file without modifying it and needs no network connection or Ollama. Previews can still contain private text; review them before sharing.

Where it fits

Part Put it here Output
Correction memory Before or during a similar future task Advisory context from prior corrections
Draft gate Before an agent sends its response PASS or RISK with matched patterns

Use the standalone CLI in any workflow you control. The integration guides cover optional Claude Code, Codex, Gemini CLI, Qwen Code, OpenClaw, Hermes Agent, and other host paths. Integration capabilities vary by host; check the individual guide before expecting automatic gating or blocking. The Python Router is available if you want to compose your own review stages.

Hermeneutic's gate matches fixed English surface patterns and can miss a mistake or flag an innocent phrase. Correction retrieval depends on the history you supply and has not been shown to improve downstream outcomes across users. It is a way to surface previous guidance and scrutinize a draft, not a security boundary or a factuality guarantee.

Worked example · Integration guides · Evaluation results · Privacy and security · Contributing · Changelog

Apache-2.0. Hermes Labs builds agentic infrastructure for autonomous systems.

Metadata

Release files for hermeneutic 0.1.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hermeneutic 0.1.14
File Size Uploaded Provenance Actions
hermeneutic-0.1.14.tar.gz 317.7 kB With provenance Details for hermeneutic-0.1.14.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hermeneutic 0.1.14
File Interpreter ABI Platform Actions
hermeneutic-0.1.14-py3-none-any.whl Python 3 none any Details for hermeneutic-0.1.14-py3-none-any.whl

Total release size: 388.0 kB

Release files / hermeneutic-0.1.14.tar.gz

Download URL hermeneutic-0.1.14.tar.gz
Size 317.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6de43ec5064f899b804685b16c0e612f4f9a2aae0da759096f87e49450308a7b
BLAKE2b-256 checksum
How to use checksums
64ce69b0cf7f44f59f492b6531f19690e9561ad5040867579bffe8c3e652281a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / hermeneutic-0.1.14-py3-none-any.whl

Download URL hermeneutic-0.1.14-py3-none-any.whl
Size 70.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d2af1e77fd1ca25369f6293f2f6df3e8187e1c3cfda9641e2117bbcdd7d4c17
BLAKE2b-256 checksum
How to use checksums
73311917320f56ec8ddfee92a8fc426f69dc35c33fc2f6a935c43bfbc384d3ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for hermeneutic 0.1.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for hermeneutic-0.1.14.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page