hermes-agent/tests
kshitij 67ab2f2968 refactor(models): simplify-pass follow-ups on model_overrides
- Deleted the id(cfg)-keyed _OVERRIDE_CACHE layer: id() is unique only
  among live objects, so a config reload could serve stale overrides
  forever when CPython reuses the freed dict's address. The upstream
  load_config_readonly is already (mtime,size)-cached (~1 stat/hit), so
  the local layer was redundant state with a correctness risk.
- _override_to_catalog_shape returns (patch, vision) instead of
  smuggling an in-band _vision_override sentinel key through the merged
  dict; removed the two dead call-site pops.
- _find_model_entry gains the :cloud/-cloud suffix fallback that
  lookup_models_dev_context already had, so 'catalog hit' means the
  same thing to every consumer — a suffix-keyed model (kimi-k2.6:cloud)
  now counts as KNOWN and keeps its catalog capabilities instead of
  being displaced by a fill-gap _default (mutation-checked contract
  test added).
- get_model_info's unknown-model override path seeds the same safe
  defaults as get_model_capabilities (200K ctx, tools on, 8192 out),
  so a partial override no longer yields ctx=0/tools-off on that path
  (contract test added); the DEFAULT_CONFIG defaults claim is now true
  for both paths.
- Activated the previously-dead _MODELS_DEV_TO_PROVIDER reverse map
  (lazily built, many-to-one aware) and used it in
  _provider_override_section instead of a per-call linear scan.
2026-08-14 02:03:54 +05:30
..
acp
…
acp_adapter
…
agent refactor(models): simplify-pass follow-ups on model_overrides 2026-08-14 02:03:54 +05:30
ci fix(ci): stop running uv lock --check on PRs that can't touch the lockfile (#84675) 2026-08-12 13:30:01 -05:00
cli fix(sessions): stabilize legacy reset lineage on resume 2026-08-13 23:45:21 +05:30
computer_use
…
conformance
…
cron test(cron): reconcile summarizer tests with honest chain wording and composed no_agent gate 2026-08-13 11:49:24 -07:00
dashboard
…
docker
…
e2e
…
fakes
…
fixtures
…
gateway fix(kanban): preserve notifier subscription after done 2026-08-13 12:21:04 -07:00
hermes_cli fix: follow-up polish for salvaged PR #85512 2026-08-14 00:59:38 +05:30
hermes_state
…
honcho_plugin fix(honcho): gate memory-file migration on the declared owner 2026-08-13 23:43:15 +05:30
install
…
integration
…
manual
…
monitoring
…
openviking_plugin
…
plugins fix(memory): complete discovery and registration parity for out-of-tree providers 2026-08-13 11:49:14 -07:00
providers fix: gate entry-point provider scan on plugins.enabled and skip register(ctx) targets 2026-08-13 11:11:53 -07:00
run_agent fix: explicit fallback api_mode always wins; clean up dead-code guard 2026-08-13 12:31:02 -07:00
scripts test(ci): close the pytest-wrapper gap for check-windows-footguns.py 2026-08-13 02:38:28 -07:00
secret_sources fix(plugins): isolate ownership by profile 2026-08-12 19:13:32 -07:00
skills feat(skills): cover all Hermes browser pathways in har-derived-api-client 2026-08-12 16:11:51 -07:00
state
…
stress
…
tools fix(tools): symlink-safe exclusive creation for all spill/cache writers 2026-08-13 11:09:51 -07:00
tui_gateway fix(kanban): preserve TUI subscription after done 2026-08-13 12:21:04 -07:00
verify
…
website
…
__init__.py
…
conftest.py fix: scope plugin manager by resolved hermes home (keyed cache) 2026-08-12 19:13:32 -07:00
run_interrupt_test.py
…
test_account_usage.py
…
test_atomic_replace_symlinks.py test(utils): cover contended Windows renames on the Windows CI lane 2026-08-12 17:25:30 -05:00
test_atomic_write_text_metadata.py
…
test_audio_playback_guard.py fix: use handle_request for voice.toggle in audio guard test 2026-08-13 22:44:23 +05:30
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
…
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
…
test_evidence_store.py
…
test_fast_safe_load.py
…
test_fts_cjk_bigram.py
…
test_fts_update_of_narrowing.py
…
test_gateway_streaming_nested_config.py
…
test_get_tool_definitions_cache_isolation.py fix(plugins): isolate ownership by profile 2026-08-12 19:13:32 -07:00
test_hermes_bootstrap.py
…
test_hermes_constants.py
…
test_hermes_home_profile_warning.py
…
test_hermes_logging.py
…
test_hermes_state.py fix(sessions): close the session_switch legacy gap and fence the resume walker at reset boundaries 2026-08-13 23:45:21 +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 fix(honcho): honor explicit top-level apiKey on local base_urls; warn on keyless profile host blocks 2026-08-13 23:43:15 +05:30
test_honcho_session_context.py
…
test_honcho_startup_fail_open.py fix(honcho): honor writeFrequency in sync_turn by routing through manager.save() 2026-08-13 23:43:15 +05:30
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_browser_install.py fix(install): stop npm-installing agent-browser eagerly in install.sh/install.ps1 2026-08-13 02:38:28 -07:00
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_venv_process_tree.py
…
test_install_ps1_web_server_syntax_probe.py
…
test_install_scripts_computer_use.py feat(computer-use): provision cua-driver at install time and on toolset enable 2026-08-13 02:44:48 -07:00
test_install_sh_acp_launcher.py
…
test_install_sh_bootstrap_marker.py
…
test_install_sh_browser_install.py fix(install): stop npm-installing agent-browser eagerly in install.sh/install.ps1 2026-08-13 02:38:28 -07:00
test_install_sh_install_method_stamp.py
…
test_install_sh_node_deps_failure.py fix(install): a failed Node dependency install now fails the install instead of printing success (#85537) 2026-08-13 18:39:54 +00:00
test_install_sh_node_global_prefix.py
…
test_install_sh_node_npm_check.py fix(install): a failed Node dependency install now fails the install instead of printing success (#85537) 2026-08-13 18:39:54 +00:00
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
…
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
…
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_os_marker_gating.py
…
test_output_cap_parsing.py
…
test_packaging_build_guard.py
…
test_packaging_metadata.py
…
test_plugin_skills.py fix: support packaged memory provider skills 2026-08-13 11:49:14 -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_redaction_registry.py feat(plugins): per-source pattern attribution + explicit pre-screen rebuild proof 2026-08-12 18:55:14 -07:00
test_resource_limits.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
…
test_search_slow_query_log.py
…
test_secret_scope_plugin_families.py
…
test_session_db_read_conn_pool.py
…
test_session_db_read_path_split.py
…
test_session_skill_previews.py
…
test_session_system_prompt_dedup.py
…
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
…
test_stale_tool_call_marker_session_repair.py
…
test_stale_utils_module_import.py
…
test_state_db_malformed_repair.py fix(state): make a refused pre-repair backup a hard stop (#69603) 2026-08-12 19:43:29 -07:00
test_state_db_notadb_selfheal.py fix(state): self-heal 'file is not a database' write connections + retry transient EIO on journal-mode probe 2026-08-12 19:43:41 -07:00
test_state_db_stats.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
…
test_trajectory_compressor.py
…
test_trajectory_compressor_async.py
…
test_transform_api_error_classification_hook.py chore: trim hook test suite to core coverage and condense hooks docs 2026-08-13 09:36:02 -07:00
test_transform_llm_output_hook.py
…
test_transform_tool_result_hook.py
…
test_tui_entry_mcp_owner.py
…
test_tui_gateway_loop_noise.py
…
test_tui_gateway_queue_on_busy.py
…
test_tui_gateway_server.py fix(tui_gateway): restore openrouter provider on session resume 2026-08-14 02:02:18 +05:30
test_tui_gateway_server_crash_history.py
…
test_tui_gateway_ws.py
…
test_tui_mcp_late_refresh.py
…
test_utils_atomic_roundtrip_yaml_save.py
…
test_utils_truthy_values.py
…
test_voice_max_recording_seconds.py
…
test_wal_checkpoint_strategy.py fix(ci): sync lazy_deps SDK pins + update WAL vacuum test contract 2026-08-12 20:02:07 -07:00
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(browser): cover warm_agent_browser_npx_cache's hardened behavior 2026-08-13 02:38:28 -07:00
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
…