Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
fdbf3b8
fix(model_metadata): treat .local (mDNS) hostnames as local endpoints
Apr 22, 2026
7d4b47c
fix(banner): prefer the imported module path over ~/.hermes/hermes-agent
Apr 22, 2026
d6854d7
fix(doctor): treat custom:<slug> providers as accepting vendor model ids
May 3, 2026
830c63a
feat(gateway): run_without_messaging_platforms knob to avoid crashloop
May 3, 2026
e9181ae
feat(custom-providers): per-model max_tokens default in config.yaml
May 3, 2026
b2f2cfc
feat(tui): Shift+Enter inserts a newline via kitty keyboard protocol
adurham May 4, 2026
49acb13
fix(compaction): tighten summary template + add visible status events
adurham May 4, 2026
680b326
feat(cli): show session cost in exit summary
adurham May 4, 2026
4f5dfd9
feat(sessions): show cost column in `hermes sessions list`
adurham May 4, 2026
8683ddd
fix(cli): break out assistant + tool counts in exit summary
adurham May 4, 2026
b4a72e2
feat(pricing): add Claude 4.5/4.6/4.7 entries to official-docs snapshot
adurham May 4, 2026
3adc709
fix(streaming): honor Ctrl-C during connection-drop retry loop
adurham May 4, 2026
e72859a
feat(streaming): user-visible heartbeat while waiting on provider
adurham May 4, 2026
72f50bb
cli: restore Ctrl+letter and Alt+key bindings under kitty disambiguat…
adurham May 4, 2026
55b96ff
anthropic: wire native server-side web_search through the adapter
adurham May 4, 2026
ff97264
/reasoning: open interactive picker by default
adurham May 4, 2026
6e1afd0
/reasoning picker: expose DSv4's actual 4 tiers, not just on/off
adurham May 4, 2026
b695655
/reasoning picker: DSv4 has 3 modes per HF model card, not 4
adurham May 4, 2026
b57b43e
/reasoning picker: trim DSv4 hint labels to fit one line
adurham May 4, 2026
5a03c9e
chat_completions: forward reasoning_effort for custom providers
adurham May 4, 2026
85b8275
chat_completions: move enable_thinking to extra_body (SDK rejects unk…
adurham May 4, 2026
20856dc
Add /interleaved opt-in: one tool call per turn for fresh <think> blocks
adurham May 4, 2026
3585eb3
/interleaved: register in command catalog so tab-complete works
adurham May 4, 2026
635ed27
run_agent: make stream-drop recovery visually unmistakable
adurham May 4, 2026
5784224
delegate_task: visible cost tracking + per-call model selection + liv…
adurham May 4, 2026
59b000c
delegate_task: trim heartbeat noise + surface subagent cost in /usage…
adurham May 4, 2026
c737cb0
delegate_task: ruflo persona integration + per-role model picker (/de…
adurham May 4, 2026
44d5cee
delegation: curated default model assignments + ESC-prefix bug in cur…
adurham May 4, 2026
f07dd1a
delegation: review-pass corrections to curated default model assignments
adurham May 4, 2026
89277e3
delegation: per-role stats tracking + /delegation stats[--suggest]
adurham May 4, 2026
48c7fe1
delegate: tell child agents to scan skills before acting
adurham May 4, 2026
5354d8b
run_agent: bail out of stale-stream loop after reconnect fails to wak…
adurham May 4, 2026
09bbf0a
/delegation: add `parallel` and `depth` subcommands
adurham May 4, 2026
d06697b
swarm_run: native multi-agent swarm tool + 1M-context-beta latch fixes
adurham May 4, 2026
d1f17ac
anthropic_adapter: make OAuth-path mcp_ tool prefix idempotent
adurham May 4, 2026
d933e65
delegate_task: dedupe heartbeat lines when (tool, iter) hasn't changed
adurham May 4, 2026
fbcd29c
delegate_task: live multi-row swarm board + promote research personas…
adurham May 4, 2026
24e6f38
swarm_run: per-agent floors, queueing, idle timeout, and stagger fixes
adurham May 4, 2026
411d158
personas: shim into swarm.persona_library; centralize curated model p…
adurham May 4, 2026
a90d613
Scrub Tanium-identifying strings; add commit-time redaction policy
adurham May 4, 2026
3b70a35
delegate_task: drop inline cost rollup line
adurham May 4, 2026
78dddaa
run_agent: keep "Still waiting on provider" heartbeat ticking every 30s
adurham May 4, 2026
445716c
run_agent: surface thinking phase in the heartbeat status line
adurham May 5, 2026
386e608
credential_pool: adopt valid synced tokens instead of redundant refresh
adurham May 5, 2026
d705b69
anthropic_adapter: thread model param so aux client can strip 1m beta…
adurham May 5, 2026
b8dea73
mirror Claude Code's effort handling
adurham May 5, 2026
d674c5a
cli: show effort level next to model in the status bar
adurham May 5, 2026
c2087db
anthropic: wire server-side tool_search to lazy-load MCP tool schemas
adurham May 5, 2026
bd5a472
prompt_builder: lazy-load the <available_skills> index when skills.la…
adurham May 5, 2026
0caa8e7
anthropic: preserve variant-specific tool_search result blocks
adurham May 5, 2026
833da5e
anthropic: strip citations from tool_search results on resubmit
adurham May 5, 2026
2d449f3
anthropic: rebuild tool_search results to canonical input shape
adurham May 5, 2026
351425f
anthropic: allowlist tool_search result fields at every nesting level
adurham May 5, 2026
35cfc88
test: lock down tool_search round-trip against SDK schema
adurham May 5, 2026
a939dc5
anthropic: keep variant-suffixed type on tool_search results
adurham May 5, 2026
1e1eed5
anthropic: relocate orphaned tool_search results to paired tool_use
adurham May 5, 2026
7daf6b3
run_agent: fire heartbeat during active thinking, not just during sil…
adurham May 5, 2026
12365ed
swarm: record child session_id on the swarm.agents row
adurham May 5, 2026
f3d1672
Merge upstream/main into main
adurham May 6, 2026
4ab1e70
anthropic: send extended-cache-ttl beta header so 1h TTL actually works
adurham May 6, 2026
6239e6c
state: persist per-API-call response telemetry to api_calls table
adurham May 6, 2026
4b6d539
state: api_calls FK gets ON DELETE CASCADE so prune retention works
adurham May 6, 2026
4aa6ccf
state: capture request_id from Anthropic streaming responses
adurham May 6, 2026
219bad3
cli: rework banner git state for fork users
adurham May 6, 2026
ce09d9f
anthropic: gate context-1m beta for small prompts to avoid 1M-tier queue
adurham May 6, 2026
ad3d921
state: capture cf-ray + routing headers per call; default 1M-tier gat…
adurham May 6, 2026
1176725
anthropic: strip x-stainless-* fingerprint headers on OAuth path
adurham May 6, 2026
450db28
anthropic: drop hardcoded thinking.display='summarized' to match Clau…
adurham May 6, 2026
b3bf20a
chore(deps): bump anthropic SDK 0.86.0 → 0.100.0
adurham May 7, 2026
7850eea
anthropic: mirror Claude Code 2.1.119 wire format on beta.messages.*
adurham May 7, 2026
3932271
tests/anthropic_adapter: align with adapter changes + isolate keychain
adurham May 7, 2026
83aaae3
banner: identify forks and show HEAD commit date
adurham May 7, 2026
b09eb8c
run_agent: label pre-message_start stalls as thinking when thinking e…
adurham May 7, 2026
d24a159
usage_pricing: bill 5m vs 1h cache writes at correct Anthropic rates
adurham May 7, 2026
3d837ea
usage_pricing: bill fast mode at 6x standard rates on Opus 4.6
adurham May 7, 2026
7bd45a0
auxiliary_client: memoize resolve_vision_provider_client per process
adurham May 7, 2026
e1bce8d
hermes_cli/main: wire init_skin_from_config so display.skin actually …
adurham May 7, 2026
210507c
banner: respect agent.disabled_toolsets when rendering Available Tools
adurham May 7, 2026
26fa5d3
banner: make vendor attribution overridable via skin branding.vendor_…
adurham May 7, 2026
aca7403
status-bar: make leading glyph overridable via skin branding.status_g…
adurham May 7, 2026
b84ed18
cli: include subagent spend in session-end Cost; always show goodbye
adurham May 7, 2026
9ba324f
cli: resume hint uses argv[0] basename so symlink aliases self-document
adurham May 7, 2026
0619488
cli: hide other-platform composites from /toolsets listing
adurham May 7, 2026
a49a67a
cli: surface real availability in /tools list
adurham May 7, 2026
3839cfc
skills: restrict source router to local + explicit-URL only
adurham May 7, 2026
1445cd4
scripts: add corporate-rip.py for source-level toolset removal
adurham May 7, 2026
c87e03e
hardening: rip source for disabled toolsets
adurham May 7, 2026
a1b36a3
anthropic: replay assistant content blocks verbatim across turns
adurham May 7, 2026
15d5d57
state: persist anthropic_content_blocks across session resume (v14)
adurham May 7, 2026
8da49f7
memory: phase 2 auto-extraction + warm tier + session-end confirm UI
adurham May 7, 2026
1d6cffe
memory: forward warm-tier kwargs through AIAgent's bypass dispatch paths
adurham May 7, 2026
0feae50
memory: reuse confirm-UI verdict on commit; don't re-classify
adurham May 7, 2026
ea812df
cli: thread-guard _prompt_text_input so background-thread callers see…
adurham May 7, 2026
81f553f
anthropic: restore variant suffix on tool_search_tool_*_tool_result b…
adurham May 7, 2026
38b6f2f
anthropic: collapse tool_search_tool_*_tool_result variant types to c…
adurham May 7, 2026
fd8cb28
memory: auto-accept proposals after 3s countdown on /exit
adurham May 7, 2026
d0d5615
memory: stop overloading old_text/category for promote/demote target
adurham May 7, 2026
8f5fd15
anthropic: move client tool_use blocks past trailing server-side blocks
adurham May 8, 2026
8e53814
title-generator: strip image blocks from content lists before truncating
adurham May 8, 2026
d492ea6
feat(cli): add display.interrupt_key (esc | ctrl-c | both)
adurham May 8, 2026
dd941fe
fix(cli): map Shift+Backspace under kitty disambiguate flag
adurham May 8, 2026
ca1cd2e
transport: fix is_qwen NameError in legacy chat_completions fallback
adurham May 8, 2026
6d325b5
anthropic: scrub stale tool_use blocks for tools no longer in the liv…
adurham May 8, 2026
8660140
run_agent: real-evidence diagnostics for anthropic stream waits
adurham May 8, 2026
62ff8ec
cli: map bare Esc under kitty disambiguate mode
adurham May 9, 2026
d73f529
model_metadata: image-aware token estimator
adurham May 9, 2026
e7edb70
cli: defer post-stream messages until response box closes
adurham May 9, 2026
6cc1f3a
rate_limit_tracker: Anthropic native schema + heartbeat surfacing
adurham May 9, 2026
0b9b091
rate_limit_tracker: capture state from 429 error responses
adurham May 9, 2026
b426ca8
rate_limit_tracker: observability hooks for capture + threshold trans…
adurham May 9, 2026
e423632
tool_search: fix post-compaction orphans, cache tools[], log per-turn…
adurham May 9, 2026
92ca77c
anthropic: bump _CLAUDE_CODE_VERSION_FALLBACK 2.1.74 → 2.1.138
adurham May 10, 2026
0bf55e9
cli: refuse `hermes gateway install` under sudo
adurham May 10, 2026
ef3fcd3
anthropic: agent.system_prompt_mode=compact for OAuth requests
adurham May 10, 2026
7a8d939
scripts: laptop-side usage tracker for OAuth-account spend visibility
adurham May 10, 2026
78ebac9
scripts: rewrite usage tracker for LXC-only operation (drop OAuth API)
adurham May 10, 2026
f724619
scripts: token expiry checker for the LXC's Claude OAuth setup-token
adurham May 10, 2026
1ef13b8
scripts: live auth check via /v1/models (replace expiresAt-based check)
adurham May 10, 2026
9b4c036
revert: restore homeassistant tool source (selective revert of c87e03…
adurham May 10, 2026
1686078
anthropic: strip schemas from deferred tool entries in _apply_tool_se…
adurham May 10, 2026
fa755f5
anthropic: drop bogus type=function from deferred tool stubs
adurham May 10, 2026
ca2747b
anthropic: minimal placeholder description+input_schema on deferred s…
adurham May 10, 2026
7329258
feat(anthropic): CC-name aliasing on OAuth path for classifier-shape …
adurham May 10, 2026
878da37
anthropic: prepend canonical CC billing-header system block on OAuth …
adurham May 10, 2026
5c87ced
anthropic: minor doc updates after CC-mimicry validated end-to-end
adurham May 10, 2026
54e7487
scripts: refresh_cc_canonical.sh for capturing canonical CC schemas
adurham May 10, 2026
499a2e9
Revert: restore source for previously-ripped toolsets
adurham May 10, 2026
eb5101f
anthropic: reorder user blocks so surviving tool_result leads after p…
adurham May 10, 2026
0e606ab
anthropic: include CC alias targets in stale-tool allowlist on OAuth …
adurham May 10, 2026
c63bb46
Merge upstream/main into main
adurham May 11, 2026
263ffe3
post-merge: align with upstream scaffolding and fix stale tests
adurham May 11, 2026
17ca061
tests: pin known-failing tests via conftest skip hook
adurham May 11, 2026
b7e00b6
feat(web): add Claude Code CLI as a web search/extract backend
adurham May 12, 2026
51474cf
fix(agent): silence auto-repair log for known CC alias mappings
adurham May 12, 2026
c514c81
feat(cli): add `hermes submit` for fire-and-forget remote gateway runs
adurham May 12, 2026
fa44e97
feat(discord): /submit slash command — fire-and-forget runs via local…
adurham May 12, 2026
ea1c762
fix(discord): /submit must follow API_SERVER_HOST, not assume 127.0.0.1
adurham May 12, 2026
756fa24
feat(cli): default `hermes submit` to https tailnet hostname
adurham May 12, 2026
14c390f
feat(api_server): per-principal bearer auth + audit log (Phase 7)
adurham May 12, 2026
1467997
feat(cli): MCP server exposing the remote gateway as model tools (Pha…
adurham May 12, 2026
9f6cf36
feat(tools): vendor cc_proxy_mcp.py as tools.bridges module
adurham May 13, 2026
b368f51
feat(memory): Phase 3 auto-feedback — automatic warm-tier upvotes on …
adurham May 13, 2026
0e8c2e9
feat(tool_search): client-side lazy MCP tool loading (no prompt multi…
adurham May 13, 2026
2954ce7
fix(anthropic): symmetric orphan audit for web_search_tool_result
adurham May 13, 2026
08c8ab8
fix(anthropic): strip stale citations when dropping orphan results
adurham May 13, 2026
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
27 changes: 27 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -745,6 +745,33 @@ Full user-facing docs: `website/docs/user-guide/features/kanban.md`.

## Important Policies

### Vendor-Identifying Strings Must Not Land Without Approval

This repo is mirrored to a personal GitHub account. Do **not** commit
changes that introduce strings tied to the author's employer without
explicit per-commit approval from the user. Specifically:

- Case-insensitive match on `tanium` (covers `Tanium`, `TANIUM`,
`tanium-*` skill prefixes, `tanium_gateway` examples, etc.).
- Any other obvious work-identity leakage: `@tanium.com` emails,
`git.corp.tanium.com` URLs, `TanOS` / Tanium product names.

**Workflow before any commit on this repo:**

```bash
git diff --cached | grep -iE 'tanium|@tanium\.com|corp\.tanium|tanos'
```

If the grep finds anything in the staged diff, surface the hits to the
user and get explicit approval before committing. The same check applies
to changes you propose to stage. Existing references already in tree are
out of scope unless the current task touches them.

This rule was added 2026-05-04 after a public-fork audit that found six
Tanium references in the code (3 illustrative comments, 3 in the
`delegate_task` skills-awareness prompt). Items got cleaned up in the
same session; future drift should be caught at commit time.

### Prompt Caching Must Not Break

Hermes-Agent ensures caching remains valid throughout a conversation. **Do NOT implement changes that would:**
Expand Down
Loading