hermes-agent/tests
Brooklyn Nicholson f99d291247 fix(mcp): let a server that 401s at startup come back after re-login
An auth failure on the very first connect returned out of the run loop
instead of parking. That ended the run task, and the task is the only
listener on _reconnect_event — so the server stayed dead for the life of
the process. `hermes mcp login`, a /mcp refresh, and the 300s self-probe
all had nothing left to wake, and the only cure was a full restart.

_classify_mcp_failure already calls 401/403 "permanent" and documents
that run() parks those immediately; the early return above it meant auth
was the one permanent failure that never got there. Park it with the
others and keep the tailored log line, now pointing at `hermes mcp
login <server>`.
2026-08-08 02:21:36 -05:00
..
acp fix(approval): classify CLI/TUI approval timeouts separately from explicit denials 2026-08-02 20:21:59 -07:00
acp_adapter
…
agent fix: follow-up for salvaged PR #18255 2026-08-08 00:07:14 +05:30
ci fix(ci): follow artifact download redirect without auth 2026-08-05 11:16:18 -04:00
cli fix(cli): persist YOLO mode across --resume 2026-08-02 20:30:06 -07:00
computer_use
…
conformance
…
cron fix: follow-up for salvaged PR #18255 2026-08-08 00:07:14 +05:30
dashboard
…
docker
…
e2e
…
fakes
…
fixtures
…
gateway fix(terminal): preserve SSH remote home cwd 2026-08-07 18:41:57 -06:00
hermes_cli add Hermes headers to Fireworks provider (#81321) 2026-08-07 20:56:29 +00:00
hermes_state test: fold review findings — plain fixture, call-shaped probe guard, public-API row counting 2026-08-07 15:42:49 +05:30
honcho_plugin refactor(memory): single shared trivial-prompt classifier + gate tests 2026-08-03 17:53:55 +05:30
install test(install): prove updating from a release reaches this commit 2026-08-04 17:36:26 -04:00
integration
…
manual
…
monitoring
…
openviking_plugin fix(openviking): integrate reliability and configuration hardening 2026-08-03 20:35:47 +05:30
plugins add Hermes headers to Fireworks provider (#81321) 2026-08-07 20:56:29 +00:00
providers fix(cache): scope prompt_cache_key by session to stop cross-session bucket sharing 2026-08-05 12:42:46 +05:30
run_agent add Hermes headers to Fireworks provider (#81321) 2026-08-07 20:56:29 +00:00
scripts
…
secret_sources
…
skills chore(skills/document-to-action-items): promote to bundled tier 2026-08-07 10:35:42 -07:00
state fix: bind continuation-marker exclusions to the queried parent (fail-open fix) 2026-08-07 13:24:56 +05:30
stress
…
tools fix(mcp): let a server that 401s at startup come back after re-login 2026-08-08 02:21:36 -05:00
tui_gateway fix(desktop): stop rendering a repo's main checkout as a duplicate sidebar lane 2026-08-07 12:48:41 -05:00
verify Integrate verify subsystem with the existing verification stack 2026-08-07 10:11:05 -07:00
website
…
__init__.py
…
conftest.py fix(tests): fail hard when pytest resolves the production state.db (live-DB isolation guard) 2026-08-06 07:49:50 -07:00
run_interrupt_test.py
…
test_account_usage.py
…
test_atomic_replace_symlinks.py
…
test_atomic_write_text_metadata.py fix(utils): tighten create_mode semantics and close the yaml 0600 transit window 2026-08-06 05:00:17 +05:30
test_audio_playback_guard.py
…
test_background_review_list_shapes.py
…
test_background_review_session_isolation.py
…
test_base_url_hostname.py
…
test_batch_runner_checkpoint.py
…
test_batch_runner_durability.py
…
test_bitwarden_secrets.py
…
test_cli_manual_compress.py
…
test_cli_skin_integration.py
…
test_code_skew.py
…
test_command_secret_source.py
…
test_conftest_wal_gate.py
…
test_copilot_initiator.py
…
test_credential_file_permissions.py
…
test_ctx_halving_fix.py
…
test_delegate_cascade_49148.py
…
test_dispatch_session_id.py
…
test_empty_model_fallback.py feat(models): add qwen3.8-max to Nous portal + OpenRouter catalogs, replacing qwen3.7-max 2026-08-03 17:19:49 -07:00
test_empty_session_hygiene.py
…
test_engines_satisfiable.py
…
test_env_loader_applied_homes.py
…
test_env_loader_op_bootstrap.py
…
test_env_loader_secret_sources.py
…
test_estop.py feat(cli): global emergency stop — `hermes pause` / `hermes resume` 2026-08-07 08:58:14 -07:00
test_evidence_store.py
…
test_fast_safe_load.py
…
test_fts_cjk_bigram.py
…
test_fts_update_of_narrowing.py fix(state): quarantine CJK when ensure soft-fails after OF migration 2026-08-03 20:30:32 +05:30
test_gateway_streaming_nested_config.py
…
test_get_tool_definitions_cache_isolation.py
…
test_hermes_bootstrap.py
…
test_hermes_constants.py
…
test_hermes_home_profile_warning.py
…
test_hermes_logging.py
…
test_hermes_state.py perf(fts): drain trash tables with a high-water marker instead of re-scanning 2026-08-07 18:40:47 +05:30
test_hermes_state_compression_busy_retry.py
…
test_hermes_state_compression_locks.py
…
test_hermes_state_readonly_preflight.py
…
test_hermes_state_wal_fallback.py
…
test_hermetic_side_effect_guards.py
…
test_honcho_client_concurrency.py
…
test_honcho_client_config.py
…
test_honcho_session_context.py
…
test_honcho_startup_fail_open.py
…
test_install_autostash_conflict_recovery.py
…
test_install_commit_pin_rollback.py
…
test_install_diverged_update.py
…
test_install_lockfile_churn.py
…
test_install_macos_launcher.py
…
test_install_no_initial_commit.py
…
test_install_ps1_ascii_only.py
…
test_install_ps1_native_stderr_eap.py
…
test_install_ps1_node_path_for_npm.py
…
test_install_ps1_python_fallback_venv.py
…
test_install_ps1_uv_powershell_host.py
…
test_install_ps1_web_server_syntax_probe.py
…
test_install_sh_acp_launcher.py
…
test_install_sh_bootstrap_marker.py
…
test_install_sh_browser_install.py
…
test_install_sh_install_method_stamp.py
…
test_install_sh_node_global_prefix.py
…
test_install_sh_pythonpath_sanitization.py
…
test_install_sh_root_fhs_uv_python_path.py
…
test_install_sh_setup_wizard_tty_probe.py
…
test_install_sh_symlink_stomp.py
…
test_install_sh_termux_network_prereqs.py
…
test_install_unmerged_index.py
…
test_ipv4_preference.py
…
test_iron_proxy.py
…
test_iron_proxy_cli.py
…
test_iron_proxy_e2e.py
…
test_journal_mode_config.py
…
test_lazy_session_regressions.py
…
test_list_recent_user_messages_handoffs.py refactor(agent): fold simplify findings — DB picker parity, single scan, canonical strip delegation 2026-08-07 19:44:35 +05:30
test_live_system_guard.py
…
test_live_system_guard_self_test.py
…
test_log_isolation.py
…
test_managed_runtime_resolution.py
…
test_mcp_serve.py
…
test_message_reactions.py
…
test_mini_swe_runner.py
…
test_minimax_model_validation.py
…
test_minimax_oauth.py fix(minimax-oauth): read streamed error bodies inside the client context + real-transport tests 2026-08-03 17:38:13 +05:30
test_minisweagent_path.py
…
test_model_forces_max_completion_tokens.py
…
test_model_picker_scroll.py
…
test_model_tools.py
…
test_model_tools_async_bridge.py
…
test_no_shadowed_test_definitions.py
…
test_ollama_num_ctx.py
…
test_onepassword_secrets.py
…
test_output_cap_parsing.py
…
test_packaging_build_guard.py
…
test_packaging_metadata.py
…
test_plugin_skills.py fix(review): harden portable plugin boundaries 2026-08-07 09:44:21 -07:00
test_plugin_utils.py
…
test_process_loop_event_loop_warning.py
…
test_profile_isolation_runtime.py
…
test_project_metadata.py
…
test_pty_keepalive_ws.py
…
test_pty_session.py
…
test_retry_utils.py
…
test_run_tests_parallel.py
…
test_run_tests_parallel_stdio.py
…
test_sanitize_tool_error.py
…
test_schema_read_probe.py fix(dashboard): derive the stale-schema read probe from SCHEMA_SQL 2026-08-07 00:41:58 -04:00
test_search_slow_query_log.py
…
test_secret_scope_plugin_families.py
…
test_session_db_read_path_split.py fix(state): route session-resume reads through the WAL read-only connection 2026-08-03 21:02:11 +05:30
test_session_skill_previews.py
…
test_session_system_prompt_dedup.py fix(state): deduplicate session system prompts 2026-08-03 20:37:17 +05:30
test_session_vacuum_config.py
…
test_session_workspace_binding.py
…
test_slack_thread_require_mention.py
…
test_slash_worker_watchdog.py
…
test_sql_injection.py
…
test_sqlite_lock_safe_inspection.py
…
test_sqlite_wal_reset_gate.py fix(db): never downgrade journal mode on a database with concurrent openers 2026-08-06 07:49:42 -07:00
test_stale_tool_call_marker_session_repair.py fix(cli): back up state.db before clean-markers writes by default 2026-08-04 11:26:15 +05:30
test_stale_utils_module_import.py
…
test_state_db_malformed_repair.py
…
test_subprocess_home_isolation.py
…
test_telegram_polling_progress_ptb.py
…
test_termux_all_extra_compat.py
…
test_timezone.py
…
test_tini_shim.py
…
test_toolset_distributions.py
…
test_toolsets.py fix(agent): the desktop's tools reach it on remote and cloud backends too 2026-08-06 19:35:47 -06:00
test_trajectory_compressor.py
…
test_trajectory_compressor_async.py
…
test_transform_llm_output_hook.py
…
test_transform_tool_result_hook.py
…
test_tui_entry_mcp_owner.py fix(review): harden portable plugin boundaries 2026-08-07 09:44:21 -07:00
test_tui_gateway_loop_noise.py
…
test_tui_gateway_queue_on_busy.py
…
test_tui_gateway_server.py fix(terminal): preserve SSH remote home cwd 2026-08-07 18:41:57 -06:00
test_tui_gateway_server_crash_history.py fix: preserve session history when a turn crashes 2026-08-06 23:08:23 -05:00
test_tui_gateway_ws.py
…
test_tui_mcp_late_refresh.py fix(agent): the desktop's tools reach it on remote and cloud backends too 2026-08-06 19:35:47 -06:00
test_utils_truthy_values.py
…
test_voice_max_recording_seconds.py
…
test_wal_checkpoint_strategy.py
…
test_web_server.py
…
test_web_server_sessiondb_eventloop.py
…
test_web_server_status_topology_cache.py
…
test_windows_subprocess_no_window_flags.py
…
test_yaml_indent_consistency_31999.py
…
test_yuanbao_integration.py
…
test_yuanbao_markdown.py
…
test_yuanbao_pipeline.py
…
test_yuanbao_proto.py
…
test_yuanbao_reconnect_set_active.py
…
test_yuanbao_shutdown.py
…
test_zeroed_state_db.py
…