Skip to content

feat(honcho): add honcho_list_conclusions tool to expose conclusion IDs#16133

Open
AdhamHsn wants to merge 1 commit into
NousResearch:mainfrom
AdhamHsn:feat/honcho-list-conclusions
Open

feat(honcho): add honcho_list_conclusions tool to expose conclusion IDs#16133
AdhamHsn wants to merge 1 commit into
NousResearch:mainfrom
AdhamHsn:feat/honcho-list-conclusions

Conversation

@AdhamHsn

Copy link
Copy Markdown

Problem

The Honcho memory plugin exposes a honcho_conclude(delete_id=...) tool to delete conclusions for PII removal, but no tool exposes conclusion IDs. Users (and the agent itself) cannot determine the delete_id to pass.

In practice, agents accumulate test/debug conclusions during interactive debugging that they cannot clean up. The agent reports "Impossible to recover ID for delete_id" because all read-side tools (honcho_search, honcho_profile, honcho_reasoning, honcho_context) return aggregated/synthesized text without underlying document IDs.

Solution

Adds a new honcho_list_conclusions tool that returns conclusions with their metadata (id, content, observer, observed, session_id, created_at) using the Honcho SDK's existing peer.conclusions.list() and peer.conclusions.query() APIs.

Changes

plugins/memory/honcho/__init__.py (+27 lines)

  • New LIST_CONCLUSIONS_SCHEMA tool definition with query, limit, peer params
  • Added to ALL_TOOL_SCHEMAS
  • New handler in handle_tool_call calling self._manager.list_conclusions(...)

plugins/memory/honcho/session.py (+56 lines)

  • New list_conclusions(session_key, query, limit, peer) method on HonchoSessionManager
  • Reuses the same peer/scope resolution logic as delete_conclusion for consistency
  • Returns list[dict] with id, content, observer, observed, session_id, created_at

Behavior

  • query=Nonepeer.conclusions.list() (most recent)
  • query="..."peer.conclusions.query(query=...) (semantic search)
  • limit clamped to [1, 100]
  • Same peer alias resolution as other Honcho tools (user, ai, or explicit ID)
  • Same _ai_observe_others flag handling as delete_conclusion

Use case

  1. Agent runs honcho_list_conclusions(query="test") → gets [{id: "abc123", content: "..."}]
  2. Agent runs honcho_conclude(delete_id="abc123") → conclusion deleted

Testing

Verified end-to-end on Honcho self-hosted v3.0.6 + honcho-ai SDK 2.1.1:

  • list() returns conclusions with IDs
  • query() returns ranked subset with IDs
  • delete_id flow works after listing
  • Tool count goes from 5 to 6
  • Existing tools unchanged

The Honcho memory plugin exposes a honcho_conclude(delete_id=...) tool to
delete conclusions for PII removal, but no tool exposes conclusion IDs.
Users (and the agent itself) cannot determine the delete_id to pass.

In practice, agents accumulate test/debug conclusions during interactive
debugging that they cannot clean up. The agent reports "Impossible to
recover ID for delete_id" because all read-side tools (honcho_search,
honcho_profile, honcho_reasoning, honcho_context) return aggregated
or synthesized text without underlying document IDs.

This adds honcho_list_conclusions, a read tool that returns conclusions
with their metadata (id, content, observer, observed, session_id,
created_at) using the Honcho SDK's existing peer.conclusions.list() and
peer.conclusions.query() APIs.

- plugins/memory/honcho/__init__.py: LIST_CONCLUSIONS_SCHEMA + handler
- plugins/memory/honcho/session.py: list_conclusions() method on
  HonchoSessionManager, reusing the same peer/scope resolution logic
  as delete_conclusion for consistency.

Verified end-to-end on Honcho self-hosted v3.0.6 + honcho-ai SDK 2.1.1:
list returns conclusions with IDs, query returns ranked subset, and the
delete_id flow works after listing.
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/plugins Plugin system and bundled plugins labels Apr 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants