Source Evidence
What it is
The rule that important claims should link back to source files, inventory nodes, articles, or transcripts.
In plain terms
An auditor doesn’t take a manager’s word for what the books say; they pull the actual ledger entries and check the figures themselves. This documentation project treats Hermes the same way, a description of what the agent does should point at the file, route, or transcript that proves it, not just restate what a chat reply claimed happened.
Why it matters
A claim about what a function does is only as useful as whether it’s checkable against the actual code — source evidence is the standard that important claims about Hermes’s behavior should trace back to a source file, an inventory entry, an article, or a transcript rather than resting on assumption. That standard matters most in exactly the kind of documentation this vault is, where an unverifiable claim is indistinguishable from a guess. Research briefing workflows apply the same discipline outward, turning raw sources into briefs that keep their citations instead of presenting conclusions as if they came from nowhere.
How it works
The agent runtime (run_agent.py) persists every turn to a SQLite session store as the canonical record, and can optionally also write a raw per-session JSON snapshot (~/.hermes/sessions/session_{id}.json) for external tooling to read directly. A separate setting exports full conversation trajectories to trajectory_samples.jsonl or failed_trajectories.jsonl. Only that optional JSON snapshot passes content through redact_sensitive_text before writing; the canonical SQLite store and the trajectory files do not call it, so a credential that leaked into a message or tool-call payload persists there unredacted. Because every message and tool call still lands in one of these durable stores rather than living only inside a chat window, a claim about Hermes’s behavior can be checked against the actual persisted record instead of resting on a paraphrase of it, though anyone reading the raw SQLite or trajectory files directly, rather than through a redacting viewer, should treat them as potentially holding unredacted secrets.
A concrete example
Someone wants to confirm whether a scheduled cron run actually called a particular tool last night, rather than trusting the agent’s own summary of the run. They query the SQLite store directly, or, if session snapshotting was enabled, open the matching session_
How it connects
This note belongs to the Operations family. Its closest neighboring concepts are: Secret Handling, VPS Deployment, Agent Runtime, Personal OS.
Source evidence
vendor/hermes-agent/run_agent.py:1892-1902#AIAgent._flush_messages_to_session_db— Verified Source Map evidence for AIAgent. AIAgent uses thin forwarding methods to delegate system-prompt construction toagent.system_prompt.build_system_prompt, API kwargs construction to the chat-completion helper, and streaming requests tointerruptible_streaming_api_call.
Workflows
- Research Briefing Loop
Related articles
- No article currently mentions this concept by name/alias often enough to qualify (see mention-mining policy).
