hermes-agent/tests
PRATHAMESH75 a1da384c6d fix(gateway): carry desktop_contract when activating a lazy session (#68392)
_live_session_payload() falls back to _fallback_session_info() while a
session's agent is still None (lazy/deferred build). That fallback omitted
desktop_contract, so session.activate returned lazy metadata with no contract
field. Desktop feeds the value straight into reportBackendContract(), where a
missing field reads as contract 0 — a current backend is then falsely flagged
"Backend out of date" on every activate of a live lazy session.

The sibling session.create shape (_lazy_resume_info) was fixed the same way in
#36112; this closes the remaining session.activate gap by advertising
DESKTOP_BACKEND_CONTRACT in the fallback payload.

Adds test_session_activate_lazy_info_reports_desktop_contract pinning the
session.activate path against a lazy (agent=None) session.
2026-08-10 01:34:24 -07:00
..
acp
…
acp_adapter fix(security): redact terminal exception results and ACP stderr logs (#77484) 2026-08-08 04:19:49 -07:00
agent fix(transport): use getattr for supports_prompt_cache_key on stale profiles 2026-08-09 23:19:39 -07:00
ci fix(ci): don't report all-good before jobs start 2026-08-09 22:24:19 -04:00
cli test: convert the last host-OS fakes and guard double markers 2026-08-09 22:09:49 -04:00
computer_use test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
conformance
…
cron fix(cron): load .env on no_agent path so standalone ticks resolve delivery home channels 2026-08-10 10:58:05 +05:30
dashboard
…
docker
…
e2e
…
fakes
…
fixtures
…
gateway fix(telegram): reset failed primary transport pool 2026-08-10 13:46:48 +05:30
hermes_cli fix(transport): use getattr for supports_prompt_cache_key on stale profiles 2026-08-09 23:19:39 -07:00
hermes_state fix(state): make a rewind truncation recoverable instead of a hard DELETE (#82756) 2026-08-10 11:01:15 +05:30
honcho_plugin fix(honcho): keep _pop_auth_notice tolerant of minimal fake managers; make fast-path test binding 2026-08-08 14:40:46 +05:30
install test(install): prove updating from a release reaches this commit 2026-08-04 17:36:26 -04:00
integration
…
manual
…
monitoring fix(otlp): span exporter now inherits configured resource_attributes 2026-08-08 18:11:02 -07:00
openviking_plugin fix(openviking): integrate reliability and configuration hardening 2026-08-03 20:35:47 +05:30
plugins fix(video): bind managed SeedVR to source request 2026-08-08 17:01:59 -07: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 test(agent): cover the API-copy build so restoring the marker pop fails 2026-08-10 10:01:44 +05:30
scripts fix(test): read add_contributor.py with explicit UTF-8 encoding 2026-08-08 12:33:19 -07:00
secret_sources
…
skills feat(tests): CI-enforce skill authoring standards; clear all remaining debt 2026-08-08 15:43:00 -07:00
state fix(state): keep canonical writes available when FTS is corrupt 2026-08-09 14:10:21 -07:00
stress fix(tests): read and write test files as UTF-8 so the suite runs on Windows 2026-08-08 12:33:19 -07:00
tools feat(read): jq retrieval hint in notebook output truncation marker 2026-08-10 01:28:57 -07:00
tui_gateway fix(tui): recover active goals after compression exhaustion 2026-08-10 09:58:46 +05:30
verify Integrate verify subsystem with the existing verification stack 2026-08-07 10:11:05 -07:00
website
…
__init__.py
…
conftest.py test: convert the last host-OS fakes and guard double markers 2026-08-09 22:09:49 -04:00
run_interrupt_test.py
…
test_account_usage.py
…
test_atomic_replace_symlinks.py fix(personality): preserve config comments in TUI/gateway config writes 2026-08-09 13:43:14 -07:00
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 fix: post-merge audit follow-ups for #81138/#81139/#81141/#81148 2026-08-08 05:21:09 -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: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_hermes_constants.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_hermes_home_profile_warning.py
…
test_hermes_logging.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_hermes_state.py fix(gateway): respect reset boundaries during recovery (#68539) 2026-08-09 15:02:27 -07:00
test_hermes_state_compression_busy_retry.py
…
test_hermes_state_compression_locks.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
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_venv_process_tree.py fix(install): stop managed runtime child trees on Windows 2026-08-08 19:46:35 -07:00
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_os_marker_gating.py test: convert the last host-OS fakes and guard double markers 2026-08-09 22:09:49 -04:00
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 fix(testing): tolerate legacy console encodings 2026-08-08 12:33:19 -07:00
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_state_db_stats.py review follow-ups: canonical classifier in hermes_state, compression-busy=locked, hedged gateway wording, drop dead constant 2026-08-08 14:18:26 +05:30
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(gateway): carry desktop_contract when activating a lazy session (#68392) 2026-08-10 01:34:24 -07: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_atomic_roundtrip_yaml_save.py fix(personality): preserve config comments in TUI/gateway config writes 2026-08-09 13:43:14 -07:00
test_utils_truthy_values.py
…
test_voice_max_recording_seconds.py
…
test_wal_checkpoint_strategy.py
…
test_web_server.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_web_server_sessiondb_eventloop.py
…
test_web_server_status_topology_cache.py
…
test_windows_subprocess_no_window_flags.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04: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
…