hermes - ✅(Solved) Fix Add Hermes-native prompt/session operator controls inspired by ACPX 0.6.0 [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#15597Fetched 2026-04-26 05:26:20
View on GitHub
Comments
0
Participants
1
Timeline
5
Reactions
0
Author
Participants
Timeline (top)
labeled ×4cross-referenced ×1

Hermes should adopt the ACPX 0.6.0-style operator improvements in a Hermes-native way rather than as a literal port.

Error Message

  • clearer error hints
  1. clearer operator-facing error hints

Root Cause

Hermes should adopt the ACPX 0.6.0-style operator improvements in a Hermes-native way rather than as a literal port.

Fix Action

Fixed

PR fix notes

PR #15628: feat: Hermes-native prompt controls and safer session prune (#15597)

Description (problem / solution / changelog)

Summary

  • add one-turn operator prompt controls for chat entrypoints
  • add sessions prune --dry-run and optional --vacuum
  • reject unsupported prompt flags in TUI instead of silently ignoring them
  • extend tests for prompt isolation, top-level chat parsing, and prune behavior

Test Plan

  • pytest -q tests/test_cli_main.py tests/test_session_prune.py tests/test_run_agent.py

Closes #15597

Changed files

  • cli.py (modified, +44/-1)
  • hermes_cli/main.py (modified, +98/-0)
  • hermes_state.py (modified, +17/-8)
  • run_agent.py (modified, +46/-8)
  • tests/cli/test_cli_init.py (modified, +16/-0)
  • tests/hermes_cli/test_chat_system_prompt_flags.py (added, +143/-0)
  • tests/hermes_cli/test_sessions_delete.py (modified, +60/-0)
  • tests/run_agent/test_ephemeral_system_prompt_override.py (added, +21/-0)
RAW_BUFFERClick to expand / collapse

Summary

Hermes should adopt the ACPX 0.6.0-style operator improvements in a Hermes-native way rather than as a literal port.

Motivation

ACPX 0.6.0 shipped a useful cluster of improvements around prompt/session control:

  • system-prompt controls
  • session pruning
  • embeddable turn handles / event stream control
  • --no-terminal
  • persistent-session fixes
  • WSL cwd translation
  • queue hardening
  • clearer error hints

Hermes already has adjacent primitives for several of these, but not yet as clean, first-class operator features.

Proposed Hermes-native scope

Phase 1

  1. First-class per-turn system prompt controls:
    • --system-prompt <text>
    • --append-system-prompt <text>
    • implemented via Hermes' ephemeral turn-context path, not by mutating SOUL.md or the cached base system prompt
  2. hermes sessions prune with:
    • age filters
    • --dry-run
    • optional transcript/history cleanup

Phase 2

  1. Embeddable turn handles / stream control for callers embedding Hermes
  2. --no-terminal / terminal-capability suppression for agent clients where terminal should not be advertised

Fold into existing hardening work

  1. persistent-session fixes
  2. WSL cwd translation where still missing
  3. queue hardening
  4. clearer operator-facing error hints

Design rule

For Hermes, dynamic prompt control should be layered:

  1. stable persona/config (SOUL.md, skills, memory, platform hints)
  2. optional session-stable overrides
  3. turn-level ephemeral override/append

The turn-level controls must stay out of the cached base system prompt.

Why this is the right fit

Hermes already has prompt caching and a concept of ephemeral per-turn context. That means the right implementation is to expose prompt override/append cleanly through the existing turn-context path, instead of introducing ACPX-specific session metadata semantics.

Acceptance criteria

  • Hermes CLI supports prompt override/append without polluting cached base prompt state
  • session pruning exists and is safe by default (--dry-run)
  • tests cover ephemeral-prompt behavior and pruning behavior
  • embedded/ACP-facing follow-up work can build on the same prompt/session model

Reference

Public post and release note that prompted this request:

extent analysis

TL;DR

Implement Hermes-native operator improvements by introducing first-class per-turn system prompt controls and session pruning, while maintaining a layered dynamic prompt control approach.

Guidance

  • Introduce --system-prompt and --append-system-prompt flags to implement first-class per-turn system prompt controls via Hermes' ephemeral turn-context path.
  • Implement hermes sessions prune with age filters and --dry-run option to ensure safe session pruning by default.
  • Ensure that turn-level controls do not pollute the cached base system prompt state, following the layered dynamic prompt control design rule.
  • Develop tests to cover ephemeral-prompt behavior and pruning behavior to guarantee correct functionality.

Example

No code snippet is provided as the issue focuses on high-level design and implementation approach rather than specific code details.

Notes

The implementation should prioritize maintaining Hermes' existing primitives and avoiding introduction of ACPX-specific session metadata semantics, ensuring a native and clean integration of the desired features.

Recommendation

Apply workaround by implementing the proposed Hermes-native scope in phases, starting with first-class per-turn system prompt controls and session pruning, to achieve a clean and functional integration of the desired operator improvements.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - ✅(Solved) Fix Add Hermes-native prompt/session operator controls inspired by ACPX 0.6.0 [1 pull requests, 1 participants]