agentleFS
rrpaulsrrpauls/hermes-esra/AGENTS.md

hermes-esra

AGENTS.md1 starsChanged 2 months agoApache-2.0View on GitHub

Goal: Make Hermes improvement work systematic, value-aligned, observable, and evidence-driven through the Evolutionary Self-Recursive Architecture (ESRA) meta-layer. Official architecture name: ESRA — Evolutionary Self-Recursive Architecture Specification repository: https://github.com/rrpauls/esra This repository: Concrete Hermes implementation of ESRA After a major architecture or skill change, repeated failure, or an explicit full-cycle request, evaluate whether to run one bounded hermes-evolution-orchestrator review. Routine successful work should not trigger a full cycle. A recommendation from evolution_hook.py does not execute a cycle. The caller must explicitly activate…

The file

We split this AGENTS.md into the rules it gives an agent

5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    After a major architecture or skill change, repeated failure, or an explicit full-cycle request, evaluate whether to run one bounded …

    line 15
  2. Very specific:

    After ./install.sh, Hermes home looks like:

    line 27
  3. Very specific:

    If unsure, activate the esra-runtime skill or open ~/.hermes/esra/manifest.json.

    line 60
  4. Distinctive:

    Every 5–10 recorded significant cycles, or after an anomaly, explicitly run the audit.

    line 115
  5. Very specific:

    All skills live in: ~/.hermes/skills/esra/

    line 128

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

AGENTS.md — ESRA Integration for Hermes

Goal: Make Hermes improvement work systematic, value-aligned, observable, and evidence-driven through the Evolutionary Self-Recursive Architecture (ESRA) meta-layer.

Official architecture name: ESRA — Evolutionary Self-Recursive Architecture
Specification repository: https://github.com/rrpauls/esra
This repository: Concrete Hermes implementation of ESRA


Core Rule

After a major architecture or skill change, repeated failure, or an explicit full-cycle request, evaluate whether to run one bounded hermes-evolution-orchestrator review. Routine successful work should not trigger a full cycle.

A recommendation from evolution_hook.py does not execute a cycle. The caller must explicitly activate the orchestrator.


Install layout (where things live)

After ./install.sh, Hermes home looks like:

$HERMES_HOME/                         # default: ~/.hermes
├── AGENTS.md                         # this file
├── skills/esra/                      # meta-skills (Hermes skill discovery)
│   ├── esra-runtime/                 # documents tool paths for the agent
│   ├── hermes-evolution-orchestrator/
│   └── …
└── esra/                             # ESRA runtime package (not a skill)
    ├── manifest.json                 # machine-readable paths and protocol version
    ├── conformance.json              # evidence-backed capability declaration
    └── tools/                        # Python CLIs — use these paths
KindPathDiscovered by Hermes as
Meta-skills~/.hermes/skills/esra/Skills / slash commands
Runtime tools~/.hermes/esra/tools/Via esra-runtime skill + this file
Manifest~/.hermes/esra/manifest.jsonRead when paths are unclear
Conformance~/.hermes/esra/conformance.jsonCheck supported protocol and capability maturity

Override roots with $HERMES_HOME and/or $ESRA_HOME if set.

Always run tools by installed absolute path (do not depend on a git clone or cwd):

python ~/.hermes/esra/tools/evolution_hook.py
python ~/.hermes/esra/tools/evolution_hook.py --force-cycle
python ~/.hermes/esra/tools/skill_validator.py --verbose --skills-dir ~/.hermes/skills/esra
python ~/.hermes/esra/tools/evolution_dashboard.py

If unsure, activate the esra-runtime skill or open ~/.hermes/esra/manifest.json.


How to Run the Orchestrator

Recommended Triggers

After this task, run hermes-evolution-orchestrator

orchestrate evolution

run full ESRA cycle

improve the self-development cycle

perform evolutionary audit of this task

Smart Triggering via evolution_hook.py

The helper at ~/.hermes/esra/tools/evolution_hook.py analyzes supplied task context and local evolution history and recommends whether the caller should launch the orchestrator.

Callers that preserve lifecycle state must pass origin, root_task_id, and cycle_depth. origin=esra, any cycle_depth > 0, or a second recommendation for the same root_task_id is rejected before all trigger heuristics, including forced or explicit requests. Post-task results are fail-closed: only explicit success: true is success, and declared artifact paths must exist, be non-empty, and have a valid image envelope when applicable.

Capabilities:

  • Considers task complexity, new skill creation, and result confidence
  • Includes rate limiting
  • Analyzes historical patterns
  • Produces a recommendation and prompt; it is not a native Hermes event hook

Usage:

python ~/.hermes/esra/tools/evolution_hook.py
python ~/.hermes/esra/tools/evolution_hook.py --force-cycle

Decision Structuring

For any uncertainty or important decision, run ooda-framework (optionally with related meta-skills such as self-observer, value-clarifier, or loop-auditor).


Periodic Audit

Every 5–10 recorded significant cycles, or after an anomaly, explicitly run the audit. If cycle history is unavailable, report cadence as unknown:

Run loop-auditor to audit the current evolutionary cycle

Installed ESRA Components

Meta-skills

All skills live in: ~/.hermes/skills/esra/

SkillPurpose
esra-runtimeWhere tools live — installed paths and how to run them
hermes-evolution-orchestratorCentral conductor of the ESRA loop
ooda-frameworkStructures work using Observe → Orient → Decide → Act
self-observerHonest monitoring of internal state and patterns
self-improverSystematic improvement of skills and processes
value-clarifierValue alignment checks (mandatory before experiments)
experimenterDesign and run safe improvement experiments
mental-model-updaterIntegrate results into long-term models
antifragility-builderGrow stronger from stress and uncertainty
loop-auditorMeta-audit of the entire evolutionary process
optimizer-philosopherDeep trade-off and meaning analysis
system-dynamics-thinkerFeedback loops, stocks & flows, leverage points
crisis-managerHigh-stakes decision making under uncertainty
hermes-codebase-engineerProgramming and integration work inside Hermes
github-actions-integratorCI/CD workflow creation and GitHub Actions automation

Supporting tools (~/.hermes/esra/tools/)

ToolPurpose
evolution_hook.pySmart detector + history analysis for triggering the orchestrator
esra_logger.pyStructured JSON logging for ESRA cycles
evolution_dashboard.pyCLI visualization of evolution metrics
baseline_metrics.pyKPI tracking and historical snapshots
skill_validator.pySkill frontmatter, DAG, and promotion validation
experiment_runner.pySafe experiment lifecycle (canary, staged, A/B)
hermes_integration.pyNative Hermes hooks, skill injection, feedback loop
human_oversight.pyGitHub issues/PRs and evolutionary audit trail helpers
esra_paths.pyShared path resolution for tools and install layout

Installation

From the root of this repository:

chmod +x install.sh
./install.sh

This installs:

  1. Meta-skills → ~/.hermes/skills/esra/ (including esra-runtime)
  2. Tools package → ~/.hermes/esra/tools/
  3. Manifest → ~/.hermes/esra/manifest.json
  4. Conformance declaration → ~/.hermes/esra/conformance.json
  5. This file → ~/.hermes/AGENTS.md

Respects $HERMES_HOME / $ESRA_HOME when set.


Philosophy

  • Hermes provides a powerful engine for self-improvement.
  • ESRA provides the steering, brakes, navigation, and audit system.
  • hermes-evolution-orchestrator is the mechanism that connects them.
  • Skills are discovered by Hermes; tools are a package under Hermes home, advertised by esra-runtime.

The goal is not merely to add skills, but to make the evolution process itself recursive and self-improving.


Relationship to the ESRA Specification

This repository implements ESRA for Hermes.
The pure conceptual and technical description of the architecture (principles, 8 levels, Loop Execution Protocol) lives in the separate repository:

→ https://github.com/rrpauls/esra


Version: 1.3 Date: 28 July 2026
Compatible with: Hermes Agent + ESRA (Evolutionary Self-Recursive Architecture)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.