Skip to content

feat(hermes): skill curator, trajectory compression, and composable toolsets - #239

Merged
Patel230 merged 1 commit into
mainfrom
feat/hermes-adoptions
Aug 23, 2026
Merged

feat(hermes): skill curator, trajectory compression, and composable toolsets#239
Patel230 merged 1 commit into
mainfrom
feat/hermes-adoptions

Conversation

@Patel230

Copy link
Copy Markdown
Contributor

Summary

Three adoptions from Nous Research's Hermes Agent (the self-improving agent), mapped against hawk's existing skills/memory/compaction stack.

1. Skill curator — internal/intelligence/skillcurator

  • Per-skill usage tracking persisted to a curator state file.
  • Inactivity-triggered review that auto-transitions agent-created skills to Archived when cold, under Hermes' hard invariants: only agent-created skills touched, nothing ever deleted (archive → recoverable .archive/), pinned skills bypass auto-transitions, best-effort + interval-gated.
  • Wired into the Skill tool (HAWK_SKILL_CURATOR=1) so invocations feed usage.

2. Trajectory compression — internal/engine/trajectory

  • Hermes' trajectory_compressor: protect the first + last N turns verbatim (including tool calls), compress only the middle into a single human summary message, keep surviving tool calls intact for training/eval signal.

3. Composable toolsets — internal/toolset + Toolset tool

  • Named, composable tool groups (research, dev, ops, full_stack) with transitive resolution (cycle-safe), de-duplicated sorted output.
  • Toolset tool (list | resolve) registered in chat_tools.go + safety capabilities + permission aliases.

Testing

  • New suites: skillcurator (7), trajectory (4), toolset (6), Toolset tool (4)
  • tool/engine/safety/cmd suites pass; golangci-lint 0 issues; gofmt clean; go build ./... clean

…oolsets

Three adoptions from Nous Research's Hermes Agent (the self-improving agent),
mapped against hawk's existing skills/memory/compaction stack.

Skill curator (internal/intelligence/skillcurator):
- Per-skill usage tracking persisted to a curator state file.
- Inactivity-triggered review that auto-transitions agent-created skills to
  Archived when cold, under Hermes' hard invariants: only agent-created
  skills are touched, nothing is ever deleted (archive moves to a
  recoverable .archive/), pinned skills bypass auto-transitions, and the
  review is best-effort and interval-gated.
- Wired into the Skill tool (HAWK_SKILL_CURATOR=1) so invocations feed usage.

Trajectory compression (internal/engine/trajectory):
- Hermes' trajectory_compressor: protect the first and last N turns verbatim
  (including their tool calls), compress only the middle into a single human
  summary message, keep surviving tool calls intact for training/eval signal.

Composable toolsets (internal/toolset + Toolset tool):
- Named, composable tool groups (research, dev, ops, full_stack) with
  transitive resolution (cycle-safe) and de-duplicated sorted output.
- Toolset tool (list | resolve) registered in chat_tools.go + safety.

Verification: new suites green (skillcurator 7, trajectory 4, toolset 6,
Toolset tool 4); tool/engine/safety/cmd suites pass; golangci-lint 0 issues;
gofmt clean; go build ./... clean.
@Patel230
Patel230 merged commit d6169c8 into main Aug 23, 2026
26 checks passed
@Patel230
Patel230 deleted the feat/hermes-adoptions branch August 23, 2026 10:14
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