Skip to content

release: v0.11.0 — Hermes Agent (thanks @SHL0MS) - #36

Merged
subinium merged 1 commit into
mainfrom
release/v0.11.0
May 4, 2026
Merged

subinium merged 1 commit into
mainfrom
release/v0.11.0

Conversation

@subinium

@subinium subinium commented May 4, 2026

Copy link
Copy Markdown
Owner

Follows up #34 by @SHL0MS — really clean Hermes integration, shipping it as v0.11.0 with a small batch of usability fixes that surfaced during dogfooding on the same day.

Includes

  • scanner/hermes: surface up to 4 user-message previews on CLI/TUI sessions only (YYYYMMDD_HHMMSS_* ids); dashboard:* / api-* / named ids keep the source/model fallback because their role='user' rows come from external integrations.
  • scanner/hermes: empty project_path so resume stays in the user's cwd. shell::cd_and now skips the cd when path is empty (Hermes is cwd-independent — original PR set it to ~/.hermes, which yanked the shell out of whatever project the user was in).
  • delete/hermes: cascade in a single SQLite transaction.
  • TUI: apply_sort() always called on first frame (was gated behind Some(config.sort_by), default-sort path silently rendered cache's per-agent grouping).
  • TUI: cwd-match boost removed from secondary sort (made time-sorted listing look broken when launched from inside a project — pinning still honored).
  • cache: CACHE_VERSION 2 → 3 to invalidate stale "cli session..." summaries from 0.10.x cache files on first 0.11.0 launch.
  • README / CHANGELOG / Cargo.toml updated with Hermes; version 0.11.0.
  • New unit tests (message_preview, is_user_cli_session).

Verification

  • cargo fmt --all -- --check — pass
  • cargo clippy --all-targets -- -D warnings — clean
  • cargo test --all — 27 passed (5 new)
  • Manual: `./target/release/agf list --agent hermes` shows 12 sessions with multi-line conversation history; resume command no longer cd's into ~/.hermes; main TUI sort is purely time-ordered regardless of cwd.

Cursor scanner regression on the new `agent-transcripts//.jsonl` layout is tracked separately in #35 — out of scope for this release.

🤖 Generated with Claude Code

Adds Hermes Agent (#34, by @SHL0MS) with follow-up usability +
correctness fixes:

- shell::cd_and skips cd when project_path is empty (Hermes is cwd-
  independent, so resume no longer drags the shell into ~/.hermes
  out of whatever project the user was working in)
- scanner::hermes pulls the first user message as a preview when
  title is NULL, restricted to CLI/TUI session ids
  (YYYYMMDD_HHMMSS_*) — dashboard:* / api-* / named ids receive
  messages from external integrations, so their first role='user'
  row is not the user's prompt and would mislead the TUI summary
- delete::hermes wraps the cascade in a single SQLite transaction
  so a mid-cascade failure can't leave orphan messages whose
  sessions row is already gone
- main: always apply_sort() on launch — fixes the initial render
  not being time-ordered when config.sort_by is unset; the cache
  groups sessions per-agent on disk, so without an explicit sort a
  session from 11 minutes ago could land below sessions from a
  month ago on the first paint
- model::display_path renders empty paths as "—" so cwd-free agents
  don't surface a blank cell in the listing
- README / CHANGELOG / Cargo.toml description updated to include
  Hermes; version bumped to 0.11.0

Cursor scanner regression on the new agent-transcripts/<id>/<id>.jsonl
layout is tracked separately in #35 — out of scope for this release.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@subinium
subinium merged commit 70dcdeb into main May 4, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant