Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "hermes-helmet",
"displayName": "Hermes Helmet",
"version": "0.6.0",
"version": "0.7.0",
"description": "First-officer skills for Hermes Helmet: setup, single-issue delivery, and dependent-issue coordination.",
"author": {
"name": "Machine Wisdom",
Expand Down
2 changes: 1 addition & 1 deletion .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "hermes-helmet",
"version": "0.6.0",
"version": "0.7.0",
"description": "First-officer skills for Hermes Helmet: setup, single-issue delivery, and dependent-issue coordination.",
"author": {
"name": "Machine Wisdom",
Expand Down
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,29 @@ All notable changes to Hermes Helmet are recorded here. The project follows
request on the installed host now ends with an unsupported-boundary message
(no capture, dispatch or timer) unless the host advertises background delivery.

### 0.7.0

Claude Code record reader.

- `helmet bridge read --session ID [--transcript PATH] [--max-bytes N]` reads
one Claude Code session's saved transcript and its subagent transcripts
read-only and prints a bounded `hermes-helmet.bridge.records/1` summary with
stable refs, origins (`person`, `hook`, `plugin`, `meta`, `assistant`,
`agent`), coverage and warnings. Thinking is dropped, every record's session
ID is verified, an incomplete final line sets `pendingTail`, and the summary
budget keeps every person prompt and assistant text while excerpting and
then dropping the oldest tool results. `--max-bytes` bounds the exact stdout
bytes. Failures exit 2 with `session-not-found`, `ambiguous-session`,
`session-mismatch`, `unsupported-format` or `unreadable`; malformed core
text blocks or an unsupported version on any record return
`unsupported-format`.
- Each ref is the record's full 32-hex UUID-derived identity, computed from that
record's own UUID only. It does not depend on other records, timestamps or
presentation order, so appends, partial-tail completion and subagent growth
never change an existing ref or `parentRef`. When one source UUID expands
into several output records, the first keeps the UUID and later blocks get a
deterministic 32-hex identity from the UUID and block index.

### 0.5.0

- Captain’s Bridge Refresh records now rereads the exact bound chat directly
Expand Down
17 changes: 17 additions & 0 deletions docs/first-officer-plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,23 @@ is tracked in
[issue #55](https://github.com/MachineWisdomAI/hermes-helmet/issues/55); the
Claude plugin does not load the Bridge.

### Claude Code session records

`helmet bridge read --session <id> [--transcript <path>] [--max-bytes 600000]`
reads one Claude Code session's saved records for the Claude port of the
Bridge. It opens files read-only, finds `<id>.jsonl` under
`$CLAUDE_CONFIG_DIR/projects` (default `~/.claude/projects`) by exact file name
only, and prints `hermes-helmet.bridge.records/1` JSON. Errors exit 2 with
`session-not-found`, `ambiguous-session`, `session-mismatch`,
`unsupported-format` or `unreadable`. Supported Claude Code versions are
2.0.0 up to (not including) 2.2.0; others are `unsupported-format`.

Every record's `ref` (and each `parentRef`) is a full 32-hex identity derived
from that record's own source UUID, so it does not change when records are
appended, a partial final line completes, or subagent records appear. When one
source UUID expands into several output records, the first keeps the UUID-derived
ref and later blocks get a deterministic 32-hex ref from the UUID and block index.

### Claude Code

```sh
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "hermes-helmet"
version = "0.6.0"
version = "0.7.0"
description = "Open-source software factory for coding agents: delegation, review, and repair"
readme = "README.md"
requires-python = ">=3.11"
Expand Down
2 changes: 1 addition & 1 deletion src/hermes_helmet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from hermes_helmet.authority import Policy, load_authority, load_policy, render_crew_contract

__version__ = "0.6.0"
__version__ = "0.7.0"

__all__ = [
"Policy",
Expand Down
Loading
Loading