Skip to content

fix(honcho): sync aiPeer with SOUL.md identity at runtime#1969

Closed
erosika wants to merge 1 commit into
NousResearch:mainfrom
erosika:fix/honcho-ai-peer-rename
Closed

fix(honcho): sync aiPeer with SOUL.md identity at runtime#1969
erosika wants to merge 1 commit into
NousResearch:mainfrom
erosika:fix/honcho-ai-peer-rename

Conversation

@erosika

@erosika erosika commented Mar 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • When a user renames the agent via SOUL.md (e.g. "You are Atlas"), the Honcho aiPeer stayed as "hermes", causing the old name to leak back into context via Honcho's peer representation and creating duplicate entities
  • Now _activate_honcho parses SOUL.md for "You are " and overrides hcfg.ai_peer at runtime (not persisted to config)
  • Keeps Honcho peer identity in sync with agent identity without mutating config files

Test plan

  • Unit tests for name extraction (standard, single word, case insensitive, no match, empty)
  • Renamed SOUL.md overrides aiPeer at runtime
  • Default "hermes" peer unchanged when SOUL.md absent or empty
  • Multi-word names sanitized correctly (e.g. "Cosmania Sentinel" -> "cosmania-sentinel")

Related meta issue: #2210

@erosika erosika force-pushed the fix/honcho-ai-peer-rename branch 3 times, most recently from 9ec42c6 to 80b4c45 Compare March 19, 2026 20:05
@erosika erosika force-pushed the fix/honcho-ai-peer-rename branch 3 times, most recently from 78467c5 to 58e441c Compare March 26, 2026 18:09
@erosika erosika force-pushed the fix/honcho-ai-peer-rename branch 2 times, most recently from 1c8e10f to 41183e8 Compare March 30, 2026 00:47
When a user renames the agent via SOUL.md (e.g. "You are Atlas"),
the Honcho aiPeer stayed as "hermes", causing the old name to leak
back into context via Honcho's peer representation and creating
duplicate entities.

Now _activate_honcho parses SOUL.md for "You are <Name>" and
overrides hcfg.ai_peer at runtime (not persisted to config).
This keeps the Honcho peer identity in sync with the agent identity
without mutating config files.
@erosika erosika force-pushed the fix/honcho-ai-peer-rename branch from 41183e8 to 4297fbb Compare March 30, 2026 17:44
erosika added a commit to erosika/hermes-agent that referenced this pull request Apr 2, 2026
Implements all features from the post-merge Honcho plugin spec:

B1: recall_mode support (context/tools/hybrid)
B2: peer_memory_mode gating (stub for ABC suppression mechanism)
B3: resolve_session_name() session key resolution
B4: first-turn context baking in system_prompt_block()
B5: cost-awareness (cadence, injection frequency, reasoning cap)
B6: memory file migration in initialize()
B7: pre-warming context at init

Ports from open PRs:
- NousResearch#3265: token budget enforcement in prefetch()
- NousResearch#4053: cron guard (skip activation for cron/flush sessions)
- NousResearch#2645: baseUrl-only flow verified in is_available()
- NousResearch#1969: aiPeer sync from SOUL.md
- NousResearch#1957: lazy session init in tools mode

Single file change: plugins/memory/honcho/__init__.py
No modifications to client.py, session.py, or any files outside the plugin.
teknium1 pushed a commit that referenced this pull request Apr 3, 2026
Implements all features from the post-merge Honcho plugin spec:

B1: recall_mode support (context/tools/hybrid)
B2: peer_memory_mode gating (stub for ABC suppression mechanism)
B3: resolve_session_name() session key resolution
B4: first-turn context baking in system_prompt_block()
B5: cost-awareness (cadence, injection frequency, reasoning cap)
B6: memory file migration in initialize()
B7: pre-warming context at init

Ports from open PRs:
- #3265: token budget enforcement in prefetch()
- #4053: cron guard (skip activation for cron/flush sessions)
- #2645: baseUrl-only flow verified in is_available()
- #1969: aiPeer sync from SOUL.md
- #1957: lazy session init in tools mode

Single file change: plugins/memory/honcho/__init__.py
No modifications to client.py, session.py, or any files outside the plugin.
zebster-cmd added a commit to zebster-cmd/hermes-agent that referenced this pull request Apr 7, 2026
…changes for plugin architecture

- Update test_update_autostash.py: tests now expect pull --rebase fallback
  (not reset --hard), and fetch origin main:main for cross-branch updates
  (not checkout main)
- Remove broken honcho test classes (TestHonchoActivation,
  TestHonchoPrefetchScheduling) from test_run_agent.py -- these reference
  old monolithic APIs (HonchoClientConfig, _honcho_prefetch, etc.) that
  moved to the plugin architecture
- Remove broken TestSystemPromptStability honcho methods that reference
  _inject_honcho_turn_context (now in plugin)
- Keep passing TestExtractAgentNameFromSoul tests
- Update test_client.py to expect host-block baseUrl override (PR NousResearch#2645)
@erosika

erosika commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

Closing — SOUL.md aiPeer name sync will be ported to the plugin architecture and included in a follow-up PR after #9884 merges.

@erosika erosika closed this Apr 15, 2026
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 27, 2026
Implements all features from the post-merge Honcho plugin spec:

B1: recall_mode support (context/tools/hybrid)
B2: peer_memory_mode gating (stub for ABC suppression mechanism)
B3: resolve_session_name() session key resolution
B4: first-turn context baking in system_prompt_block()
B5: cost-awareness (cadence, injection frequency, reasoning cap)
B6: memory file migration in initialize()
B7: pre-warming context at init

Ports from open PRs:
- NousResearch#3265: token budget enforcement in prefetch()
- NousResearch#4053: cron guard (skip activation for cron/flush sessions)
- NousResearch#2645: baseUrl-only flow verified in is_available()
- NousResearch#1969: aiPeer sync from SOUL.md
- NousResearch#1957: lazy session init in tools mode

Single file change: plugins/memory/honcho/__init__.py
No modifications to client.py, session.py, or any files outside the plugin.
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
Implements all features from the post-merge Honcho plugin spec:

B1: recall_mode support (context/tools/hybrid)
B2: peer_memory_mode gating (stub for ABC suppression mechanism)
B3: resolve_session_name() session key resolution
B4: first-turn context baking in system_prompt_block()
B5: cost-awareness (cadence, injection frequency, reasoning cap)
B6: memory file migration in initialize()
B7: pre-warming context at init

Ports from open PRs:
- NousResearch#3265: token budget enforcement in prefetch()
- NousResearch#4053: cron guard (skip activation for cron/flush sessions)
- NousResearch#2645: baseUrl-only flow verified in is_available()
- NousResearch#1969: aiPeer sync from SOUL.md
- NousResearch#1957: lazy session init in tools mode

Single file change: plugins/memory/honcho/__init__.py
No modifications to client.py, session.py, or any files outside the plugin.
olympus-terminal pushed a commit to olympus-terminal/hermes-agent that referenced this pull request May 16, 2026
Implements all features from the post-merge Honcho plugin spec:

B1: recall_mode support (context/tools/hybrid)
B2: peer_memory_mode gating (stub for ABC suppression mechanism)
B3: resolve_session_name() session key resolution
B4: first-turn context baking in system_prompt_block()
B5: cost-awareness (cadence, injection frequency, reasoning cap)
B6: memory file migration in initialize()
B7: pre-warming context at init

Ports from open PRs:
- NousResearch#3265: token budget enforcement in prefetch()
- NousResearch#4053: cron guard (skip activation for cron/flush sessions)
- NousResearch#2645: baseUrl-only flow verified in is_available()
- NousResearch#1969: aiPeer sync from SOUL.md
- NousResearch#1957: lazy session init in tools mode

Single file change: plugins/memory/honcho/__init__.py
No modifications to client.py, session.py, or any files outside the plugin.
erosika added a commit to erosika/hermes-agent that referenced this pull request May 26, 2026
Remove "PR NousResearch#14984 / NousResearch#27371 / NousResearch#1969" references and "the original key /
legacy / backwards-compatible / Port #N" narration from the honcho
plugin README, tests, and one stale code comment. These artefacts age
poorly: they describe how a change happened rather than what the code
does today, and they tax readers who weren't around for the original
work.

Also drop a dangling reference to scratch/memory-plugin-ux-specs.md in
__init__.py — the file isn't in the repo or git history.

No behaviour change.
kshitijk4poor pushed a commit that referenced this pull request May 27, 2026
Remove "PR #14984 / #27371 / #1969" references and "the original key /
legacy / backwards-compatible / Port #N" narration from the honcho
plugin README, tests, and one stale code comment. These artefacts age
poorly: they describe how a change happened rather than what the code
does today, and they tax readers who weren't around for the original
work.

Also drop a dangling reference to scratch/memory-plugin-ux-specs.md in
__init__.py — the file isn't in the repo or git history.

No behaviour change.
mathias3 pushed a commit to mathias3/hermes-agent that referenced this pull request May 28, 2026
Remove "PR NousResearch#14984 / NousResearch#27371 / NousResearch#1969" references and "the original key /
legacy / backwards-compatible / Port #N" narration from the honcho
plugin README, tests, and one stale code comment. These artefacts age
poorly: they describe how a change happened rather than what the code
does today, and they tax readers who weren't around for the original
work.

Also drop a dangling reference to scratch/memory-plugin-ux-specs.md in
__init__.py — the file isn't in the repo or git history.

No behaviour change.
Bryce-huang pushed a commit to wbkunlun/hermes-agent that referenced this pull request May 29, 2026
Remove "PR NousResearch#14984 / NousResearch#27371 / NousResearch#1969" references and "the original key /
legacy / backwards-compatible / Port #N" narration from the honcho
plugin README, tests, and one stale code comment. These artefacts age
poorly: they describe how a change happened rather than what the code
does today, and they tax readers who weren't around for the original
work.

Also drop a dangling reference to scratch/memory-plugin-ux-specs.md in
__init__.py — the file isn't in the repo or git history.

No behaviour change.

#AI commit#
mosaiq-systems pushed a commit to mosaiq-systems/hermes-agent that referenced this pull request May 29, 2026
Remove "PR NousResearch#14984 / NousResearch#27371 / NousResearch#1969" references and "the original key /
legacy / backwards-compatible / Port #N" narration from the honcho
plugin README, tests, and one stale code comment. These artefacts age
poorly: they describe how a change happened rather than what the code
does today, and they tax readers who weren't around for the original
work.

Also drop a dangling reference to scratch/memory-plugin-ux-specs.md in
__init__.py — the file isn't in the repo or git history.

No behaviour change.
KKT-OPT pushed a commit to KKT-OPT/hermes-agent that referenced this pull request May 31, 2026
Remove "PR NousResearch#14984 / NousResearch#27371 / NousResearch#1969" references and "the original key /
legacy / backwards-compatible / Port #N" narration from the honcho
plugin README, tests, and one stale code comment. These artefacts age
poorly: they describe how a change happened rather than what the code
does today, and they tax readers who weren't around for the original
work.

Also drop a dangling reference to scratch/memory-plugin-ux-specs.md in
__init__.py — the file isn't in the repo or git history.

No behaviour change.
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
Implements all features from the post-merge Honcho plugin spec:

B1: recall_mode support (context/tools/hybrid)
B2: peer_memory_mode gating (stub for ABC suppression mechanism)
B3: resolve_session_name() session key resolution
B4: first-turn context baking in system_prompt_block()
B5: cost-awareness (cadence, injection frequency, reasoning cap)
B6: memory file migration in initialize()
B7: pre-warming context at init

Ports from open PRs:
- NousResearch#3265: token budget enforcement in prefetch()
- NousResearch#4053: cron guard (skip activation for cron/flush sessions)
- NousResearch#2645: baseUrl-only flow verified in is_available()
- NousResearch#1969: aiPeer sync from SOUL.md
- NousResearch#1957: lazy session init in tools mode

Single file change: plugins/memory/honcho/__init__.py
No modifications to client.py, session.py, or any files outside the plugin.
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
Remove "PR NousResearch#14984 / NousResearch#27371 / NousResearch#1969" references and "the original key /
legacy / backwards-compatible / Port #N" narration from the honcho
plugin README, tests, and one stale code comment. These artefacts age
poorly: they describe how a change happened rather than what the code
does today, and they tax readers who weren't around for the original
work.

Also drop a dangling reference to scratch/memory-plugin-ux-specs.md in
__init__.py — the file isn't in the repo or git history.

No behaviour change.
Egavasyug pushed a commit to Egavasyug/hermes-agent that referenced this pull request Jun 10, 2026
Implements all features from the post-merge Honcho plugin spec:

B1: recall_mode support (context/tools/hybrid)
B2: peer_memory_mode gating (stub for ABC suppression mechanism)
B3: resolve_session_name() session key resolution
B4: first-turn context baking in system_prompt_block()
B5: cost-awareness (cadence, injection frequency, reasoning cap)
B6: memory file migration in initialize()
B7: pre-warming context at init

Ports from open PRs:
- NousResearch#3265: token budget enforcement in prefetch()
- NousResearch#4053: cron guard (skip activation for cron/flush sessions)
- NousResearch#2645: baseUrl-only flow verified in is_available()
- NousResearch#1969: aiPeer sync from SOUL.md
- NousResearch#1957: lazy session init in tools mode

Single file change: plugins/memory/honcho/__init__.py
No modifications to client.py, session.py, or any files outside the plugin.
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