feat: Prometheus — CommandCode provider, api_mode=responses, goal migration, Honcho prune, profile routing - #33884
Closed
ousiaresearch wants to merge 1 commit into
Closed
Conversation
CommandCode provider + bug fixes + features rebased onto current upstream (commit 4695d27): - CommandCode provider plugin (plugins/model-providers/commandcode/) - api_mode='responses' support for generic Responses API (NousResearch#33600) - _normalize_responses_to_chat() in codex_responses_adapter.py - Nous Portal usage/credits tracking (NousResearch#33376) - migrate_goal() for session_id rotation (NousResearch#33618) - Fallback provider notification (NousResearch#33174) - Per-user profile routing (NousResearch#33548) - Honcho session pruning command (NousResearch#33436) Adapted for upstream refactoring: - run_agent.py: responses api_mode branch in _call() - codex_responses_adapter.py: _normalize_responses_to_chat - gateway/run.py: fallback_notify, migrate_goal at 3 rotation sites - gateway/platforms/base.py: target_profile field - plugins/memory/honcho/: cmd_prune + HonchoClientConfig prune fields - Removed agent/chat_completion_helpers.py modifications (upstream deleted the file — code moved to transports/ and run_agent.py)
This was referenced May 28, 2026
Collaborator
|
Mega PR bundling 8 features, each also submitted as individual PRs: #33886 (CommandCode), #33889 (api_mode=responses), #33888 (Nous usage), #33890 (goal migration), #33891 (fallback notification), #33892 (profile routing), #33893 (Honcho prune). CommandCode portion duplicates existing #32909. Goal migration competes with #33620, #29955, #18749, #18427. Profile routing competes with #33558. api_mode=responses competes with #33604, #33637, #33765. |
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds six features (previously blocked by GitHub push issues) rebased onto current upstream HEAD:
plugins/model-providers/commandcode/with Anthropic shim + test coverage/v1/responsesprofile_routingconfig maps user IDs to Hermes profileshermes honcho pruneCLI with--dry-run,--force,--include-activeRelated Issue
Fixes #33600, #33618, #33376, #33174, #33548, #33436
Type of Change
Changes Made
plugins/model-providers/commandcode/— provider plugin (4 files)tests/providers/test_commandcode_profile.py— test coveragerun_agent.py— addedresponsesapi_mode branch in_call(), import_normalize_responses_to_chatagent/codex_responses_adapter.py— added_normalize_responses_to_chat()for generic Responses APIagent/account_usage.py— added Nous credit fetch + connectivity fallbackhermes_cli/runtime_provider.py— added"responses"to_VALID_API_MODEShermes_cli/goals.py— addedmigrate_goal()functiongateway/run.py— fallback notification callbacks,migrate_goal()at 3 session rotation sites,_load_profile_routing(),_resolve_profile_for_user(),_set_fallback_status_callback(),_gateway_extra_flag(),_notify_fallback_used()gateway/platforms/base.py— addedtarget_profilefield toMessageEventplugins/memory/honcho/cli.py— addedcmd_prune()with--dry-run,--force,--include-activeplugins/memory/honcho/client.py— addedprune_enabledandprune_max_age_daysconfig fieldstests/providers/test_plugin_discovery.py— added"commandcode"to required providersHow to Test
pytest tests/providers/test_commandcode_profile.py tests/providers/test_plugin_discovery.pyapi_mode: responsesin config.yaml, send a message — verify tool calls and text work/goal, let session compress — verify goal survives session_id rotationfallback_notificationsingateway.extra, force primary provider to fail — verify notificationprofile_routing: {"<user_id>": "<profile>"}to config.yaml — verify message routes to correct profilehermes honcho prune --dry-run— verify stale session list, thenhermes honcho prune --forceChecklist