hermes-agent/tests
kshitij 5b4c91f1db refactor(models): simplify-pass follow-ups on the refresh path
- Cold force_refresh (fresh CLI process, e.g. hermes config refresh)
  now hydrates the memory cache from disk before fetching, so the
  conditional GET actually fires on the flow the feature was built for
  instead of silently re-downloading the full ~2 MB registry
  (empirically probed: If-None-Match sent, 304 serves disk data).
- Conditional-GET decision is passed in explicitly
  (_fetch_models_dev_from_network(conditional=...)) by callers holding
  the fetch lock, removing the hidden read of module globals inside
  the fetch; the background worker now fetches INSIDE the lock,
  symmetric with foreground (true singleflight — no concurrent
  double-download, no fetching against mid-commit etag state).
- Corrupt disk cache is QUARANTINED (renamed to .json.corrupt) rather
  than left in place: rejection becomes a one-time event instead of a
  re-read + re-parse + warning + unlink on every hot-path call while
  offline (probed: 1 warning across 5 calls, was 5).
- Dropped the dead _DEFAULT_MODELS_DEV_URL constant; module and
  function docstrings updated to match the servable-cache conditional
  semantics.
2026-08-14 03:31:22 +05:30
..
acp
…
acp_adapter
…
agent refactor(models): simplify-pass follow-ups on the refresh path 2026-08-14 03:31:22 +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(cli): self-heal cooked-mode termios drift that freezes CLI input 2026-08-13 14:22:14 -07:00
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(plugins): discover entrypoint capabilities 2026-08-13 13:38:58 -07:00
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 fix: ASCII-only install.ps1 comment; allow-list install_cli's uv PATH fallback 2026-08-11 17:06:15 -05:00
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
…