Founder, Hermes Labs · Research and engineering on the language layer of LLM systems and agents
I study how language models fail, mislead, and break, then build tools from what I find.
My background is philosophy of language. Instructions, tool descriptions, retrieved passages, memory summaries, and grading rubrics are all text, and text changes meaning when it is compressed, retrieved, handed off, or rewritten. A history reducer in Microsoft Semantic Kernel was treating the system prompt as one more message to trim, so the instruction that governs a conversation quietly disappeared mid-run. That is an interpretation error written in code. I fixed it upstream. The same pattern shows up wherever language changes hands in a system.
Hermes Labs is an independent AI research and engineering lab built around that layer. We study how it breaks, build tools that catch it, and integrate working systems for teams shipping LLM applications and agents.
Papers and technical notes, each with a DOI, each stating what its evidence does and does not support:
- Tool Differentia: Relational Static Analysis for AI Agent Tool Descriptions
- Behavioral Canarying for Prompt Injection
- The Generative Horizon
- Precise Records, Unstable Meanings
- A Taxonomy of Epistemic Failure Modes in Large Language Models
- The Asymmetric Burden of Proof
Abstracts, hosted copies, and citation exports: hermes-labs.ai/research
The canonical external contribution record reports current, dated totals and separates merged engineering work, submitted fixes, integrations, documentation, ecosystem listings and research-index submissions. Structured ledger.
Merged AI/framework fixes contributed by Roli Bosch (roli-lpci), founder of Hermes Labs:
- microsoft/semantic-kernel #13610 — Preserve the first system/developer message during Python chat-history truncation and handle the target_count=1 boundary. Case study.
- langchain-ai/langchain #35544 — Drop forced tool_choice with a warning when Anthropic extended thinking is enabled; preserve auto and unaffected requests. Case study.
- microsoft/semantic-kernel #13635 — Use value equality to avoid duplicate null entries in strict JSON Schema type arrays, with three regression tests. Case study.
- stanfordnlp/dspy #9978 — Reject an empty Evaluate devset with a descriptive ValueError before metric-summary division, with a regression test. Case study.
Mem0 #5250 contributed a Redis cosine-distance-to-similarity patch with regression coverage. It closed without merge after a maintainer acknowledged the conversion in a broader sweep. The case study preserves earlier community provenance and the patch’s missing clamp. Other substantive unmerged fixes remain visible in the ledger.
Typing modernization in PyTorch Ignite and Optuna, compatibility work and dependency maintenance remain credited in their own classes. Community-list and research-index submissions do not count as merged code contributions.
All under the Hermes Labs org: @hermes-labs-ai
| Tool | What it does | Install |
|---|---|---|
| lintlang | Static linter for agent configs, tool descriptions, and system prompts. No LLM call. | pip install lintlang |
| fidelis | Fidelis Memory: agent memory that returns your original passages verbatim. | pip install fidelis-memory |
| little-canary | Prompt-injection detection through sacrificial canary-model probes. | pip install little-canary |
| agent-gorgon | Runtime policy guard for autonomous agents, with forensic evidence. | pip install agent-gorgon |
| hermeneutic | Mines corrections from agent chat logs and gates the next response. | pip install hermeneutic |
| langstate | Inspectable context compression for LLM conversations. | pip install langstate |
Full catalog with evidence boundaries: hermes-labs.ai/open-source
Philosophy of language (Wittgenstein, Gadamer, Heidegger) applied to AI systems. The traditions that spent centuries studying how meaning breaks down have a lot to say about why language models fail the way they do.
LPCI — Linguistically Persistent Cognitive Interface — is the throughline: persistent language between human and agent as the real substrate of reasoning in otherwise stateless models.




