fix(ci): unblock main Tests workflow — 6 unrelated failures across aux model, acp version, gateway test mocks, BUILTIN_SUBCOMMANDS, post_setup parametrize - #27576
Merged
Conversation
… provider catalog
Contributor
🔎 Lint report:
|
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.
Summary
Unblocks main Tests workflow that has been failing for hours. Six logical commits, each scoped to one failure class.
Root causes
agent/auxiliary_client.py—_OPENROUTER_MODELwas set togoogle/gemini-2.5-flashbut the intended default isgoogle/gemini-3-flash-preview(matches_NOUS_MODEL). Production constant fixed; tests already asserted the correct name.acp_registry/agent.json— manifest still pinned to0.13.0whilepyproject.tomlhas bumped to0.14.0. Updated manifest version + uvx package pin.tests/gateway/test_teams.py+test_google_chat.py—_install_fake_aiohttplambdas don't accept**kwargs, so the productiontrust_env=Truearg from Batch salvage group 4: 9 low-risk new-contributor PRs (proxy-env/gateway-fixes/security-headers/custom-providers) #27308's parity fix raisedTypeError. Added**kwargsto both fake-session factories.tests/gateway/test_{background_command,telegram_thread_fallback,voice_command}.py— production now addsdirect_messages_topic_idto Telegram DM metadata alongside the legacytelegram_dm_topic_reply_fallbackflag (so synthetic/queued messages route to the right topic). Three test assertions updated to include the new key.hermes_cli/main.py—_BUILTIN_SUBCOMMANDSwas missingsend. Thehermes sendCLI subcommand is live but not in the gating set; plugin discovery couldn't be skipped for it. Added.tests/hermes_cli/test_tools_config.py— my fix(tools): run _run_post_setup() in _reconfigure_provider() for parity (salvage #26642) #27306 (post_setup parity) parametrized over four browser providers, but the catalog was refactored to keep only Camofox + the consolidated Nous Subscription/Local Browser pair (the latter two have noenv_varsso don't exercise this code path). Pruned the stale parametrize entries to just Camofox.Validation
scripts/run_tests.sh tests/gateway/test_google_chat.py tests/gateway/test_teams.py tests/hermes_cli/test_tools_config.py tests/hermes_cli/test_startup_plugin_gating.py tests/gateway/test_background_command.py tests/gateway/test_telegram_thread_fallback.py tests/gateway/test_voice_command.py tests/acp/test_registry_manifest.py tests/run_agent/test_provider_parity.py -q→ 646/646 pass.ruff checkclean.Remaining main failures (NOT fixed by this PR)
Three failures remain that are unrelated to the salvage train and look like genuine pre-existing production regressions:
tests/hermes_cli/test_model_switch_custom_providers.py::test_list_groups_same_name_custom_providers_into_one_row—list_authenticated_providersis leaking the global model catalog into custom-provider rows when grouping by name. Real bug.tests/tools/test_voice_cli_integration.py::TestVprintForceParameter::test_error_messages_use_force_in_run_agent— expects at least one_vprint(..., force=True)for❌-prefixed error messages in run_agent.py; found zero. Someone added an error path withoutforce=True.tests/run_agent/test_deepseek_reasoning_content_echo.py::TestNeedsKimiToolReasoning::test_non_kimi_provider— deepseek reasoning-content echo guard regressed.Each deserves its own targeted PR. Filing follow-ups separately.