hermes-agent/website/docs/user-guide/features
Teknium 9fad45fcda feat(kanban,mcp): orphaned-card reconciliation + per-server MCP identity header
Two small config-gated features:

1. Kanban orphaned-card reconciliation (kanban.reconcile_orphans, default
   true, config.yaml): a running card with broken claim bookkeeping
   (claim_lock or claim_expires NULL — crash mid-claim, manual SQL, DB
   restore) is invisible to all existing recovery paths
   (release_stale_claims requires claim_expires NOT NULL,
   detect_crashed_workers requires host-local lock + pid,
   detect_stale_running is config-disabled by default) and shows Running
   forever. New reconcile_orphaned_running() pass in kanban_db.py runs
   each dispatch_once tick: requeues orphans to ready with an explanatory
   comment, closes any leaked run, emits a 'reconciled' event, and defers
   when the recorded PID is still alive on this host (never requeue
   beside a live worker). Surfaced via DispatchResult.reconciled_orphans.

2. Per-server MCP identity header (mcp_servers.<name>.identity_header,
   config.yaml): optional {name, value_from: static|profile, value}
   mapping; the header is attached to that server's HTTP/SSE transport
   requests. 'static' sends the config value; 'profile' resolves the
   active Hermes profile name once at connect time (no per-call
   mutation). Explicit per-server headers of the same name (any casing)
   win. Invalid blocks warn-and-ignore; stdio servers warn-and-ignore.

Tests: tests/gateway/test_kanban_reconcile_orphans.py (9),
tests/tools/test_mcp_identity_header.py (13), all written first (RED)
then implemented (GREEN). No new HERMES_* env vars.

Inspired by: openai/symphony tracker reconciliation (Apache-2.0) +
Poke per-user MCP identity (idea-level).
2026-08-07 08:58:20 -07:00
..
_category_.json
acp.md
api-server.md
batch-processing.md
browser.md docs: DX sweep — 7 verified-absent documentation items 2026-08-07 08:58:08 -07:00
built-in-plugins.md
code-execution.md
codex-app-server-runtime.md
computer-use.md
context-files.md
context-references.md
credential-pools.md
cron.md feat(cron): pre-dispatch configuration validation (blocked_config + alert-once) 2026-08-07 08:57:53 -07:00
curator.md docs: sync overnight sweep with registry, gateway, curator, cron 2026-07-29 09:45:11 -07:00
delegation.md fix(delegation): harden steer lifecycle ownership 2026-08-06 09:40:27 -07:00
deliverable-mode.md
extending-the-dashboard.md
fallback-providers.md
goals.md feat(goals): quality gates — deterministic commands that must pass before /goal completes 2026-08-05 22:32:39 -07:00
heartbeat.md feat: /heartbeat — recurring session re-entry prompt fired when idle 2026-08-05 22:32:55 -07:00
honcho.md
hooks.md
image-generation.md
kanban-tutorial.md
kanban-worker-lanes.md
kanban.md feat(kanban,mcp): orphaned-card reconciliation + per-server MCP identity header 2026-08-07 08:58:20 -07:00
lsp.md
mcp.md feat(kanban,mcp): orphaned-card reconciliation + per-server MCP identity header 2026-08-07 08:58:20 -07:00
memory-providers.md
memory.md docs: warn against pointing two agents at one Hermes home (memory, profiles, FAQ) 2026-08-05 21:33:44 +05:30
mixture-of-agents.md
overview.md
personality.md docs: document /personality none|default|neutral reset across personality docs 2026-08-03 12:29:49 -07:00
pets.md
plugins.md
provider-routing.md
skills.md feat(/learn): expansive knowledge-base skills for books and large corpora 2026-08-06 22:14:52 -07:00
skins.md
spotify.md
subscription-proxy.md
tool-gateway.md
tool-search.md
tools.md docs: DX sweep — 7 verified-absent documentation items 2026-08-07 08:58:08 -07:00
tts.md docs: accuracy sweep + coverage for 2 months of shipped features 2026-07-29 08:48:05 -07:00
vision.md
voice-mode.md
wake-word.md feat(wake): client-capture wake word for remote desktop 2026-08-05 10:03:48 -06:00
web-dashboard.md
web-search.md docs: accuracy sweep + coverage for 2 months of shipped features 2026-07-29 08:48:05 -07:00
x-search.md