hermes-agent/tests/hermes_cli
Hermes Agent 4354a07c34 fix(kanban): PASSIVE not TRUNCATE for the dispatcher WAL checkpoint
Follow-up to the state.db PASSIVE checkpoint salvage (PR #84277,
#45383/#80255/#44795): the kanban dispatcher's periodic explicit
checkpoint still used TRUNCATE on the shared kanban.db. The dispatch
flock only serializes dispatchers — CLI kanban commands in other
processes write to the same board without it, so the TRUNCATE races
live writers exactly like the state.db close() path did.

Switch it to PASSIVE and bound the -wal file with
journal_size_limit=8MiB set at connection init (SQLite trims the file
on the writer's natural post-checkpoint reset), since PASSIVE never
truncates.

tests/hermes_cli/test_kanban_db_repair.py updated to assert PASSIVE
and reject TRUNCATE. Remaining TRUNCATE call sites are test fixtures
operating on private temp DBs (sole opener), which is the legitimate
use.
2026-08-12 19:43:22 -07:00
..
fixtures/plugin_compat_legacy test(plugins): enforce behavior compatibility contract 2026-08-12 16:25:29 -07:00
__init__.py
…
conftest.py
…
conftest_dashboard_auth.py
…
test_25106_global_switch_persists_base_url_api_mode.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_active_sessions.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_actual_provider.py feat(providers): env-var metadata, config-driven local no-auth, reasoning-effort clamp for Actual 2026-08-05 14:08:32 -07:00
test_agent_env_advertisement.py fix(attribution): correct AI_AGENT id to registry value and carry harness markers into all terminal backends 2026-08-10 11:07:22 -07:00
test_agent_import.py refactor(cli): review follow-ups for the config.yaml import guard 2026-08-02 14:55:32 +05:30
test_agent_plugins.py feat(plugins): map portable Agent Plugins streamable-http entries into the native MCP runtime 2026-08-08 23:56:46 -07:00
test_ai_gateway_models.py Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_anthropic_model_flow_stale_oauth.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_anthropic_oauth_flow.py
…
test_anthropic_oauth_routes_to_messages_api.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_anthropic_picker_curated.py feat(models): add Claude Sonnet 5 support 2026-07-20 02:25:44 -07:00
test_anthropic_provider_persistence.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_api_key_providers.py test(cli): regression tests pinning auth-first ordering skips registry sweep 2026-08-04 12:28:39 +05:30
test_apply_model_switch_result_context.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_apply_profile_override.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_approval_transport.py fix(plugins): harden approval transport boundaries 2026-08-12 16:26:55 -07:00
test_approvals_command.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_approvals_suggest.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_approvals_test.py feat(cli): add `hermes approvals test` — dry-run approval verdict CLI 2026-08-07 08:57:39 -07:00
test_arcee_provider.py Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_argparse_flag_propagation.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_at_context_completion_filter.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_atomic_json_write.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_atomic_yaml_write.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_auth_codex_provider.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_auth_codex_quota_probe.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_auth_codex_self_heal.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_auth_commands.py fix(auth): read .env as utf-8-sig in the dotenv-vs-shell detector 2026-08-08 12:32:23 -07:00
test_auth_loopback_ssh_hint.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_auth_nous_provider.py test: convert the last host-OS fakes and guard double markers 2026-08-09 22:09:49 -04:00
test_auth_profile_fallback.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_auth_provider_gate.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_auth_qwen_provider.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_auth_ssl_macos.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_auth_store_read_failure.py fix(auth): a transient read failure is not corruption 2026-07-31 22:34:52 -07:00
test_auth_store_windows_encoding.py test: pin module-level _AUTH_JSON_PATH to tmp store in salvaged windows-encoding test 2026-08-08 12:32:23 -07:00
test_auth_toctou_file_modes.py
…
test_auth_usable_secret.py
…
test_auth_xai_oauth_provider.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_authenticated_providers_exhausted_pool.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_aux_config.py fix(auxiliary): honor main model for title generation (#83636) 2026-08-11 23:36:47 -05:00
test_aux_picker_inventory.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_azure_detect.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_azure_foundry_entra.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_backup.py feat: auto-install gateway service during setup and import 2026-08-12 16:59:37 -07:00
test_backup_stability.py fix(backup): serialize and atomically publish snapshots 2026-08-03 23:48:55 +05:30
test_banner.py fix(windows): native Windows correctness for CLI, gateway status, banner, and WSL browser paths 2026-07-29 23:16:18 -07:00
test_banner_git_state.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_banner_skills.py perf(cli): sub-400ms warm startup — probe-mode check_fns, lazy MCP SDK, banner snapshot, parallel worktree add 2026-08-10 10:40:19 -07:00
test_banner_skills_width.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_bedrock_model_picker.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_bedrock_region_scoped_picker.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_billing_cli.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_billing_portal_url.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_billing_scope_stepup.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_bitwarden_status.py fix(secrets): validate bitwarden status token 2026-07-22 03:20:09 -07:00
test_browser_connect_dual_stack.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_build_info.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_bundles.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_busy_policy_invariants.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_bytecode_sweep.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_cached_fetch_api_models.py fix(model-picker): serve cached custom-provider catalog on no-probe opens (supersedes #81665, #81556) (#81973) 2026-08-08 16:07:03 -04:00
test_canonical_custom_identity.py fix(cli): heal a bare custom provider to its config key, not its display name 2026-07-31 22:36:15 -07:00
test_certifi_repair.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_chat_skills_flag.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_checkout_mutation_guards.py fix(update): test runs never mutate the live checkout — pytest-guard the marker and repair paths 2026-07-29 21:30:53 -07:00
test_checkpoints_prune.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_claw.py test: convert the last host-OS fakes and guard double markers 2026-08-09 22:09:49 -04:00
test_clear_stale_base_url.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_cli_active_session_limit.py feat(sessions): say which surfaces hold the active-session slots 2026-07-28 12:11:52 -05:00
test_cli_custom_provider_vision.py fix: preserve named custom provider vision overrides 2026-07-23 17:57:33 +05:30
test_cli_model_once.py feat: add /model --once one-turn model override (#29914) 2026-07-18 14:01:56 -07:00
test_cli_output.py
…
test_clipboard_text_write.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_cmd_update.py fix(transport): use getattr for supports_prompt_cache_key on stale profiles 2026-08-09 23:19:39 -07:00
test_cmd_update_docker.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_coalesce_session_args.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_codex_cli_model_picker.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_codex_models.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_codex_runtime_plugin_migration.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_codex_runtime_switch.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_commands.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_commands_execute.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_completion.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_config.py fix: make verify_on_stop opt-in everywhere (default False, not auto) (#84383) 2026-08-12 01:15:25 -07:00
test_config_env_expansion.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_config_env_ref_parity.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_config_env_refs.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_config_loader_e2e.py refactor: canonical config loaders for behavioral reads + guarded raw-read primitive (kills the managed-scope/env-expansion drift class) 2026-07-29 10:53:29 -07:00
test_config_read_guard.py refactor: canonical config loaders for behavioral reads + guarded raw-read primitive (kills the managed-scope/env-expansion drift class) 2026-07-29 10:53:29 -07:00
test_config_validation.py feat(voice): add configurable TUI draft submission 2026-08-12 16:42:07 -07:00
test_configured_builtin_models.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_console_engine.py feat(sessions): config-gate transcript safety limits 2026-08-08 13:36:08 +05:30
test_container_aware_cli.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_container_boot.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_context_switch_guard.py test: swap context-switch-guard fixture off qwen3.8-max-preview 2026-08-03 17:19:49 -07:00
test_copilot_auth.py perf(cold-start): mitigate ~14s GIL stall during backend init (#60800) 2026-08-03 21:16:09 +05:30
test_copilot_catalog_oauth_fallback.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_copilot_context.py perf(models): cache GitHub Copilot model catalog for 5 minutes 2026-08-03 13:47:03 +05:30
test_copilot_in_model_list.py
…
test_copilot_model_api_mode.py fix(moa): route Copilot slots by target model 2026-07-23 08:26:57 -07:00
test_copilot_runtime_api_mode.py fix(moa): route every Copilot credential path by target 2026-07-23 08:26:57 -07:00
test_copilot_token_exchange.py fix(model-picker): stop Copilot token-exchange retry backoff from stalling /model open 2026-08-01 14:29:04 -07:00
test_credential_lifecycle.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_cron.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_cron_dashboard_off_loop.py refactor(cron): polish registration partial-failure surfaces 2026-08-07 17:45:06 +05:30
test_cron_fire_dashboard.py fix(cron): managed-cron fires execute in the gateway process (live adapters + dashboard forwarder) (#84339) 2026-08-12 17:04:44 +10:00
test_cron_parser_builder.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_ctrlg_editor_submit.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_curator_archive_prune.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_curator_recent_run_notice.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_curator_run.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_curator_status.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_curator_usage.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_curses_arrow_keys.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_curses_color_compat.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_curses_ui_fuzzy_rank.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_curses_ui_search.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_custom_provider_context_length.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_custom_provider_extra_headers.py fix(config): skip URL alias without extra_headers instead of returning early (#74465) 2026-07-31 23:33:12 -07:00
test_custom_provider_identity.py fix(cli): stabilize custom provider identities 2026-07-31 17:26:42 +05:30
test_custom_provider_model_switch.py fix(cli): stabilize custom provider identities 2026-07-31 17:26:42 +05:30
test_custom_provider_normalize_no_mutate.py test: cache-aliasing regression tests for provider normalization 2026-07-29 15:28:15 -07:00
test_custom_provider_tls.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_admin_endpoints.py test: isolate _ACTION_PROCS in #52470 spawn test so lifespan shutdown hooks don't trip on its poll-less fake 2026-08-10 18:04:59 -07:00
test_dashboard_auth_401_reauth.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_audit.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_cookies.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_gate.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_middleware.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_native_flow.py fix(auth): /auth/native/authorize 空 provider 自动选择不再统计会被拒绝的密码 provider 2026-08-11 16:00:55 -04:00
test_dashboard_auth_password_login.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_plugin_hook.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dashboard_auth_prefix.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_provider_base.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_status_endpoint.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_stub_provider.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dashboard_auth_ws_auth.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_auth_ws_tickets.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_basic_auth_plugin_enable.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dashboard_browser_safe_imports.py
…
test_dashboard_lifecycle_flags.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dashboard_oauth_endpoints_server_gate.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dashboard_param_clamps.py fix(clamps): raise profile fan-out limit to le=500 (simplify-pass finding) 2026-08-03 18:46:58 +05:30
test_dashboard_profiles_nav_label.py
…
test_dashboard_register.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_token_auth.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_tui_backcompat.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dashboard_unified_launch.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_dashboard_web_dist_validation.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_debug.py fix(debug): say where a client-side log lives instead of "(file not found)" (#78687) 2026-08-04 11:53:32 -06:00
test_default_interface_resolution.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dep_ensure.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_deprecated_cwd_warning.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_desktop_exe_integrity.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_desktop_repo_discovery_config.py feat(desktop): configure repository discovery (supersedes #67630) (#68642) 2026-07-21 10:09:31 -04:00
test_destructive_slash_confirm_gate.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_detect_api_mode_for_url.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_determine_api_mode_hostname.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_diagnostics_upload.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_diff_command.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dingtalk_auth.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_discord_skill_clamp_warning.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_doctor.py fix(tests): stub the auth function doctor actually calls + restore dropped parametrize cases 2026-08-01 10:48:11 -07:00
test_doctor_command_install.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_doctor_dedicated_provider_skip.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_doctor_journal_modes.py refactor(doctor): reuse backup's size formatter for database listings 2026-08-08 14:56:38 +05:30
test_doctor_live.py feat(doctor): add opt-in `hermes doctor --live` real-call backend probes 2026-08-07 09:07:48 -07:00
test_dump_env_visibility.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dump_git_commit.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_dump_terminal_backend.py test: cover gateway per-turn reload and flip dump terminal-backend pin 2026-08-02 18:21:58 -07:00
test_early_recovery.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_ensure_acp_launcher.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_ensure_gateway_service.py feat: auto-install gateway service during setup and import 2026-08-12 16:59:37 -07:00
test_ensure_hermes_home_memo.py perf: fast model picker + dialogs — config-load hot path, model.options off the reader thread, off-screen turns skip rendering 2026-07-17 15:01:54 -04:00
test_ensure_hermes_home_uid_34107.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_ensure_utf8_locale.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_env_custom_keys.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_env_export_line_lifecycle.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_env_export_prefix.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_env_load_cache.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_env_loader.py fix(cli): strip UTF-8 BOM on latin-1 .env fallback path 2026-08-08 12:32:23 -07:00
test_env_sanitize_on_load.py fix(config): preserve opaque .env values 2026-07-24 16:02:08 -07:00
test_fallback_cmd.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_fallback_config.py fix(auth): resolve fallback api keys through secret_scope, not raw env 2026-07-31 22:35:26 -07:00
test_fireworks_provider.py add Hermes headers to Fireworks provider (#81321) 2026-08-07 20:56:29 +00:00
test_gateway.py fix: exclude killed PID from orphan sweep, fix test, add regression test 2026-08-02 23:18:27 +05:30
test_gateway_external_supervisor.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_gateway_linger.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_gateway_platform_gating.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_gateway_proc_fallback.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_gateway_restart_loop.py fix(gateway): make the restart-loop breaker see slow crash cycles (#81642) 2026-08-09 21:40:23 +05:30
test_gateway_run_hard_exit.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_gateway_runtime_health.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_gateway_s6_dispatch.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_gateway_service.py fix(gateway): persist RLIMIT_NOFILE floor into the generated launchd plist 2026-08-10 17:02:56 -07:00
test_gateway_service_paths.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_gateway_windows.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_gateway_wsl.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_gemini_free_tier_setup_block.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_gemini_provider.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_get_env_value_scope.py fix(config): make get_env_value scope-aware — the last scope-blind credential reader 2026-08-01 16:42:51 -07:00
test_git_probe_tree_kill.py fix(git): kill the whole probe process tree on timeout (port of openai/codex#36793) 2026-08-04 17:33:36 -07:00
test_gmi_provider.py Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_goal_gates.py fix(goals): decode quality-gate output as UTF-8 instead of the process codepage 2026-08-08 12:34:46 -07:00
test_goals.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_gpt56_registration.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_graphical_browser_detection.py test: convert the last host-OS fakes and guard double markers 2026-08-09 22:09:49 -04:00
test_gui_command.py test: adapt #41236 password-store tests to real-host _make_packaged_executable 2026-08-12 17:19:12 -07:00
test_gui_uninstall.py feat(desktop): register a Linux launcher entry for `hermes desktop` 2026-08-05 11:47:05 -04:00
test_heartbeat.py feat: /heartbeat — recurring session re-entry prompt fired when idle 2026-08-05 22:32:55 -07:00
test_hooks_cli.py feat(hooks): outbound webhooks — push signed lifecycle events to external HTTP endpoints 2026-08-02 15:01:11 -07:00
test_ignore_user_config_flags.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_image_gen_picker.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_init_command.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_input_sanitize.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_install_cua_driver.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_inventory.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_inventory_pricing.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_jobs_json_utf8_bom.py fix(cron): accept UTF-8 BOM when reading jobs.json 2026-07-18 02:31:20 -07:00
test_journey_render.py
…
test_kanban_block_kinds.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_blocked_sticky.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_board_project.py feat(kanban): scope boards to a project 2026-07-30 07:18:08 -05:00
test_kanban_boards.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_cli.py fix(kanban): query show graph before closing database 2026-08-12 13:20:38 +05:30
test_kanban_cli_dispatch_passthrough.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_comment_queries.py feat(kanban): talk to a running worker without a restart 2026-07-30 07:18:08 -05:00
test_kanban_core_functionality.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_count_notify_subs.py fix(tui): avoid writable Kanban opens on empty polls 2026-08-03 20:40:28 +05:30
test_kanban_db.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_kanban_db_init.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_db_repair.py fix(kanban): PASSIVE not TRUNCATE for the dispatcher WAL checkpoint 2026-08-12 19:43:22 -07:00
test_kanban_decompose.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_decompose_db.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_default_assignee.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_diagnostics.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_dispatch_lock.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_goal_mode.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_init_lock_bounded.py
…
test_kanban_lifecycle_hooks.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_notify.py test(kanban): model legacy notifier ownership 2026-08-10 12:43:46 -07:00
test_kanban_parent_reopen_invalidation.py fix(kanban): move descendant invalidation to domain layer, make it non-silent 2026-08-10 12:43:46 -07:00
test_kanban_per_profile_cap.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_project_link.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_promote.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_reclaim_claim_lock_guard.py
…
test_kanban_review_lifecycle.py fix(kanban): guard request_review against live-claim theft 2026-08-10 12:43:46 -07:00
test_kanban_review_lifecycle_complete.py fix(kanban): preserve failure counter across review transitions 2026-08-10 12:43:46 -07:00
test_kanban_review_surfaces.py fix(kanban): isolate review handoff ownership 2026-08-10 12:43:46 -07:00
test_kanban_specify.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_specify_db.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_swarm.py fix(kanban): make write_txn nesting explicit opt-in 2026-08-10 12:43:46 -07:00
test_kanban_worker_image_extraction.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_worker_session_source.py fix(kanban): key the worker-session retag per board, not per database 2026-07-31 14:03:32 -05:00
test_kanban_worker_spawn_toolsets.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_worker_terminal_cwd.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_worktree_isolation.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_kanban_write_guard.py fix(test): fail-closed kanban write guard prevents real HERMES_HOME pollution (#69283) 2026-07-29 18:55:10 -07:00
test_kanban_write_txn_busy_retry.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kimi_cn_provider_listing.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_launcher.py
…
test_lazy_refresh_venv_repair.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_lifecycle.py Reapply "feat(observability): integrate NeMo Relay runtime and shared metrics" 2026-07-27 21:10:51 -07:00
test_linux_desktop_entry.py test: convert the last host-OS fakes and guard double markers 2026-08-09 22:09:49 -04:00
test_list_picker_providers.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_lmstudio_context_policy.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_logs.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_main_model_custom_provider_normalization.py fix(web): preserve declared providers in model writes (#63058) 2026-07-12 03:08:08 -07:00
test_managed_installs.py rip out brew + pip/PyPI wheel support (#68217) 2026-07-22 16:51:01 -04:00
test_managed_scope.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_managed_scope_cli_config.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_managed_scope_config.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_managed_scope_env.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_managed_scope_loaders.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_managed_scope_overlay.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_managed_scope_regression.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_managed_scope_surfacing.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_managed_scope_writeguard.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_managed_uv.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_mcp_add_command_dest.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_mcp_catalog.py fix(catalog): validate http+api_key manifests declare the header's env key 2026-08-03 22:55:36 +05:30
test_mcp_config.py Inspired by Cursor: MCP config context variables (${userHome}, ${workspaceFolder}, ...) 2026-08-08 03:57:00 -07:00
test_mcp_dashboard_oauth.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_mcp_discovery_timing.py fix(mcp): ensure MCP discovery completes before agent build in non-interactive sessions 2026-08-01 12:27:31 +05:30
test_mcp_reload_confirm_gate.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_mcp_security.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_mcp_startup.py fix(review): harden portable plugin boundaries 2026-08-07 09:44:21 -07:00
test_mcp_tools_config.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_mem_trim.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_memory_reset.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_memory_setup.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_memory_setup_provider_arg.py test: opt install-ladder tests back into lazy installs under the hermetic gate 2026-07-29 18:55:10 -07:00
test_memory_status.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_migrate_xai.py test(cli): skip the permission-preservation cases on Windows 2026-08-06 05:00:17 +05:30
test_moa_config.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_moa_set_models_preserves_extra_keys.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_cache_swr.py fix(models): corrupt-at cache rows degrade to live fetch in cached_provider_model_ids 2026-08-07 23:00:28 +05:30
test_model_catalog.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_model_cost_guard.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_model_flow_pooled_credentials.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_model_normalize.py fix(models): a model id missing its vendor prefix says so instead of 404ing (#78856) 2026-08-04 19:35:57 +00:00
test_model_picker_excluded_providers.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_picker_expensive_confirm.py test(cli): cover custom provider false shrink warning 2026-07-22 21:17:21 -07:00
test_model_picker_secret_scope.py fix(model-switch): route switch_model user-provider key reads through the secret scope 2026-08-08 19:17:05 -07:00
test_model_picker_viewport.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_provider_persistence.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_model_search.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_search_alias_dedup.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_switch_configured_provider_routing.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_model_switch_context_display.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_model_switch_context_offload.py fix(gateway): offload preflight-compression warning enrichment; behavioral offload tests 2026-07-31 22:39:34 -07:00
test_model_switch_copilot_api_mode.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_switch_custom_providers.py fix(model-picker): serve cached custom-provider catalog on no-probe opens (supersedes #81665, #81556) (#81973) 2026-08-08 16:07:03 -04:00
test_model_switch_filter_unresolved.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_switch_once_flags.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_switch_openai_api_mode.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_switch_opencode_anthropic.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_switch_parsing.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_model_switch_persist_default.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_model_switch_variant_tags.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_model_validation.py fix(opencode-go): route gpt-* models to /v1/responses (codex_responses) 2026-08-08 14:47:11 +05:30
test_models.py fix: display sub-cent model prices with extended precision instead of $0.00 2026-08-02 11:03:41 -07:00
test_models_dev_preferred_merge.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_non_ascii_credential.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_noninteractive_git.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_normalize_main_model_assignment.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_nous_account.py fix: show explicit member spend cap message instead of 'no credits' 2026-08-07 19:47:40 +05:30
test_nous_auth_keepalive.py
…
test_nous_auth_status_cache.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_nous_billing_request.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_nous_hermes_non_agentic.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_nous_inference_url_validation.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_nous_portal_staging_allowlist.py fix(auth): memoize the valid-token fast path too, add memo tests 2026-08-02 22:13:12 +05:30
test_nous_session_validity.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_nous_subscription.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_npm_engine.py fix(update): provision a managed Node runtime when system npm fails engines.npm 2026-08-01 16:40:50 -07:00
test_official_openai_host.py refactor(providers): delegate is_official_openai_host to base_url_host_matches 2026-07-31 21:31:56 -07:00
test_ollama_cloud_auth.py fix(model-switch): surface candidates on ambiguous alias instead of guessing 2026-08-08 18:35:31 -07:00
test_ollama_cloud_provider.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_oneshot_surrogate.py fix(cli): scrub lone surrogates before oneshot stdout write 2026-08-08 12:31:19 -07:00
test_oneshot_usage_file.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_openai_codex_model_validation_fallback.py
…
test_openai_discovery_endpoint.py fix(models): honor model.base_url in OpenAI discovery, cache identity, and listing authority 2026-07-31 21:31:56 -07:00
test_openai_listing_authority.py fix(models): honor model.base_url in OpenAI discovery, cache identity, and listing authority 2026-07-31 21:31:56 -07:00
test_openai_picker_curated.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_opencode_go_flat_namespace.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_opencode_go_in_model_list.py
…
test_opencode_go_validation_fallback.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_opencode_zen_model_limit.py
…
test_orphan_desktop_serve_reap.py fix(cli): never reap serve processes owned by a valid backend.lock.json 2026-08-10 17:02:56 -07:00
test_overlay_slug_resolution.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_pairing.py test: cover pairing CLI approval paths 2026-07-29 17:49:33 -05:00
test_path_completion.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_personality_single_owner.py fix(personality): single-owner personality state + one-time reset migration 2026-08-09 10:33:58 -07:00
test_pet_toggle.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_picker_prewarm.py perf(model): disk-cache custom-provider /v1/models probes 2026-08-07 21:02:40 +05:30
test_pin_kanban_board_env.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_pip_install_detection.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_placeholder_usage.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_plugin_api_compat.py test(plugins): enforce behavior compatibility contract 2026-08-12 16:25:29 -07:00
test_plugin_auxiliary_tasks.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_plugin_call_mcp.py feat(plugins): pre_command observer hook + capability-gated ctx.call_mcp (#64204) 2026-08-12 19:16:59 -07:00
test_plugin_capabilities.py feat(plugins): capability declarations + install/update consent flow (#64228) 2026-08-12 18:05:21 -07:00
test_plugin_cli_registration.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_plugin_config_state_bridge.py feat(plugins): add namespaced config and durable state bridge 2026-08-12 16:26:43 -07:00
test_plugin_dev.py feat(plugins): add runtime-backed plugin Doctor 2026-08-12 16:27:07 -07:00
test_plugin_event_bus.py fix(plugins): bound event delivery and own subscriptions 2026-08-12 18:57:51 -07:00
test_plugin_index_search.py feat(plugins): community plugin index + hermes plugins search (#64181) 2026-08-12 18:52:08 -07:00
test_plugin_install_ref.py feat(plugins): install exact commit refs 2026-08-12 16:27:30 -07:00
test_plugin_manifest_v2.py feat(plugins): manifest v2 — schema version, api_version, inter-plugin deps, pip-dependency declaration seam, config schema (#64165) 2026-08-12 18:39:22 -07:00
test_plugin_message_injection.py fix(review): harden plugin gateway injection 2026-08-12 18:25:33 -07:00
test_plugin_ownership_ledger.py feat(plugins): widen ownership ledger to all registration surfaces 2026-08-12 19:13:32 -07:00
test_plugin_prompt_sections.py feat(plugins): add cache-safe system prompt sections 2026-08-12 16:34:58 -07:00
test_plugin_runtime_disable_gate.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_plugin_scanner_recursion.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_plugins.py fix(plugins): hook delivery parity + symmetric force-reload (#64178) 2026-08-12 19:40:59 -07:00
test_plugins_cmd.py fix(tests): read and write test files as UTF-8 so the suite runs on Windows 2026-08-08 12:33:19 -07:00
test_plugins_cmd_category_discovery.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_plugins_cmd_enable_disable_nested.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_plugins_cmd_list.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_plugins_hub_perf_guard.py fix(dashboard): warm cold check_fn verdicts with a background probe 2026-08-03 18:44:38 +05:30
test_plugins_transcription_registration.py
…
test_plugins_tts_registration.py
…
test_post_setup_gating.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_pre_command_hook.py feat(plugins): pre_command observer hook + capability-gated ctx.call_mcp (#64204) 2026-08-12 19:16:59 -07:00
test_profile_describer.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_profile_distribution.py fix(cli): keep newly created SOUL.md and distribution.yaml at 0644 2026-08-06 05:00:17 +05:30
test_profile_export_credentials.py fix(profiles): scrub secret-shaped strings from export archives 2026-08-10 16:21:17 -05:00
test_profile_install_env_encoding.py fix(profile): read .env as utf-8-sig in the distribution-install preview 2026-07-24 17:10:39 -07:00
test_profiles.py feat(gateway): allow selective multiplex profile serving 2026-08-10 22:48:24 -07:00
test_profiles_s6_hooks.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_profiles_sidebar_scope.py feat(profiles): serve a cross-profile project tree and per-profile usage totals 2026-08-10 03:13:08 -05:00
test_project_plugin_rce_bypass.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_projects_cli.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_projects_db.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_prompt_api_key.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_prompt_compose_command.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_prompt_size.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_provider_catalog.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_provider_config_validation.py fix(config): stop _normalize_custom_provider_entry mutating the caller's dict 2026-07-29 15:28:15 -07:00
test_provider_groups.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_provider_live_curated_merge.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_provider_parity.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_provider_precedence.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_provider_section3_grouping.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_proxy.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_psutil_android_extract.py
…
test_pty_bridge.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_quarantine_forensic_logging.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_read_raw_config_readonly.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_reasoning_effort_menu.py
…
test_reasoning_full_command.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_redact_config_bridge.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_regression_16767.py
…
test_relaunch.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_relay_shared_metrics.py Merge updated client resource metrics into active-install metrics 2026-07-31 07:43:11 -07:00
test_relay_shared_metrics_runtime.py test(relay): pin isolated plugin managers as discovered 2026-08-12 19:40:59 -07:00
test_remote_spending_gate_contract.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_resolve_ephemeral_system_prompt.py test(personality): regression coverage for #81791 2026-08-08 14:01:57 -05:00
test_resolve_last_session.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_resolve_provider_openrouter_pool.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_resolve_token_memo.py fix(auth): memoize the valid-token fast path too, add memo tests 2026-08-02 22:13:12 +05:30
test_resume_latest_and_in_dir.py feat: --resume latest keyword and --in DIR launch flag 2026-08-08 04:03:41 -07:00
test_run_with_idle_timeout.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_runtime_provider_resolution.py fix(routing): guard persisted api_mode against provider mismatch in explicit resolution 2026-07-31 22:35:31 -07:00
test_runtime_transport_precedence.py fix(runtime): fall back to the provider's declared transport, not chat_completions 2026-07-31 21:31:56 -07:00
test_safe_mode.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_sale_pricing.py fix(models): let the titler actually see a provider's model catalog 2026-08-09 04:33:58 -05:00
test_scan_venv_blockers.py fix(update): don't truncate cmdlines in the venv-blocker scan — it broke the gateway exemption 2026-08-08 18:58:06 -07:00
test_secret_prompt.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_secret_source_bootstrap.py fix: track secret source registration origin 2026-08-12 16:25:10 -07:00
test_secrets_bitwarden_non_tty.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_secrets_token_rotation.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_security_advisories.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_security_audit.py fix(security): cache OSV malware preflight verdicts and stop double component discovery (#75485) 2026-08-01 10:47:20 -07:00
test_security_audit_startup.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_send_cmd.py fix(cli): apply BOM-safe .env decoding to hermes send's private loader 2026-08-08 12:32:23 -07:00
test_serve_command.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_serve_parent_watchdog.py fix(desktop): keep serve backend alive through Windows launcher 2026-08-10 19:16:59 -07:00
test_service_manager.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_session_browse.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_session_export.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_session_export_html.py
…
test_session_export_html_escape.py
…
test_session_export_md.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_session_filters.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_session_handoff.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_session_listing.py fix(gateway): scope session lists before limiting 2026-07-31 22:36:55 -07:00
test_session_recap.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_session_recovery.py fix(state): deduplicate session system prompts 2026-08-03 20:37:17 +05:30
test_sessions_delete.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_sessions_export_md_cli.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_sessions_size_delta_label.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_set_config_value.py test(config): add regression tests for broken-YAML config preservation 2026-07-31 23:33:12 -07:00
test_setup.py modernize re-added Vercel integrations: SDK 0.7.2, telemetry off, sibling-site wiring 2026-07-29 19:48:37 -07:00
test_setup_agent_settings.py
…
test_setup_blank_slate.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_setup_hermes_script.py
…
test_setup_hidden_env.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_setup_irc.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_setup_matrix_e2ee.py
…
test_setup_model_provider.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_setup_noninteractive.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_setup_openclaw_migration.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_setup_prompt_menus.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_setup_reconfigure.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_setup_summary_provider_warning.py fix(setup): warn loudly when the wizard finishes without a working provider 2026-08-01 15:34:23 -07:00
test_setup_telemetry.py Reapply "feat(observability): integrate NeMo Relay runtime and shared metrics" 2026-07-27 21:10:51 -07:00
test_setup_tts_xai_oauth.py fix(hermes_cli): lock dashboard xAI active_provider contracts and setup unsuppress 2026-07-28 11:54:01 -07:00
test_signal_handler_kanban_worker.py test: harden yolo and kanban signal tests on macOS 2026-07-29 21:30:53 -07:00
test_sizefmt.py refactor: fold simplify findings — 6th copy in update_cmd, drop dead wrapper + speculative kwarg, behavior-contract tests 2026-08-08 15:10:35 +05:30
test_skills_config.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_skills_hub.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_skills_install_flags.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_skills_skip_confirm.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_skills_subparser.py
…
test_skin_cmd.py fix(cli): correct the skin_cmd fallback comment to match the actual read path 2026-08-05 11:59:33 +05:30
test_skin_engine.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_skin_palettes.py fix(ui-tui): light mode renders the vivid palette RAW, not WCAG-darkened 2026-07-21 16:36:57 -05:00
test_slack_cli.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_spawn_gateway_restart_reap.py fix(gateway): reap orphaned gateways before spawning restart (#77276) 2026-08-10 18:04:59 -07:00
test_spotify_auth.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_sqlite_runtime.py test(runtime): cover managed SQLite cutover (E-949) 2026-07-24 16:00:03 -07:00
test_ssh_ownership_endpoint.py feat(serve): add secure Desktop SSH bootstrap contract 2026-07-16 14:43:14 +02:00
test_ssh_session_token_parser.py fix(desktop): keep Windows SSH runtime at machine root 2026-08-01 14:30:16 -07:00
test_startup_fast_guards.py refactor: single chokepoint for the pre-import version fast path 2026-08-02 21:13:12 +05:30
test_startup_plugin_gating.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_state_db_guard.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_status.py feat(gateway): session activity watchdog, stall notify, compress timeout (#72424) 2026-08-02 16:16:36 -07:00
test_status_model_provider.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_status_provider_label.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_stt_picker.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_subcommands_batch.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_subcommands_followup.py
…
test_subcommands_profile_gateway.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_subparser_routing_fallback.py
…
test_subprocess_timeouts.py
…
test_subscription_cli.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_suppress_eio_on_interrupt.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_system_stats_platform.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_systemd_optional_directives.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_systemd_watchdog_unit.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_teams_pipeline_plugin_cli.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_telegram_managed_bot.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_tencent_tokenhub_provider.py Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_terminal_menu_fallbacks.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_timeouts.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_timestamps_command.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_tips.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_tool_token_estimation.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_tools_config.py fix(tools): reuse subscription features for toolset listing 2026-08-03 16:07:16 +05:30
test_tools_disable_enable.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_toolset_validation.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_tts_picker.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_tui_bundled.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_tui_heap_sizing.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_tui_mouse_residue_suppression.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_tui_npm_install.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_tui_resume_flow.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_uninstall_dry_run.py
…
test_uninstall_node_symlinks.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_uninstall_shell_configs.py test(cli): skip the permission-preservation cases on Windows 2026-08-06 05:00:17 +05:30
test_update_autostash.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_update_bootstrap_cache_refresh.py fix(update): scope bootstrap-cache refresh to the update-target ref, match installer pin rules 2026-08-08 21:18:09 -07:00
test_update_check.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_update_concurrent_quarantine.py fix(update): snapshot venv launchers before the gateway drain 2026-07-31 22:34:28 -07:00
test_update_config_clears_custom_fields.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_update_eol_churn.py test(update): make EOL-churn dirtiness deterministic under racy-git stat caching 2026-08-02 09:58:49 -07:00
test_update_fleet_restart_timeout.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_update_gateway_launcher_refresh.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_update_hangup_protection.py feat(update): emit an action-scoped terminal receipt from hermes update 2026-08-05 10:34:18 -06:00
test_update_import_guard.py refactor(update): one definition of "first-party module" 2026-08-01 16:09:27 +05:30
test_update_interrupted_recovery.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_update_lock.py fix(update): make the ancestor-PID lock handoff cross-platform via psutil 2026-07-31 22:28:46 -07:00
test_update_modified_notice.py refactor: extract update pipeline to hermes_cli/update_cmd.py (mechanical move) 2026-07-29 10:59:54 -07:00
test_update_orphan_backend_reap.py fix(update): make orphan-backend reap tree-aware + drain Desktop update trees without pre-signalling 2026-08-08 20:01:03 -07:00
test_update_post_pull_syntax_guard.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_update_stale_dashboard.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_update_venv_health.py fix(update): reap orphaned Desktop backends instead of dead-ending the venv-holder guard 2026-08-08 19:46:35 -07:00
test_update_yes_flag.py fix(transport): use getattr for supports_prompt_cache_key on stale profiles 2026-08-09 23:19:39 -07:00
test_update_zip_atomic_replace.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_update_zip_symlink_reject.py
…
test_update_zip_two_phase.py fix(update): discard staging litter when the commit phase fails 2026-08-01 17:25:08 +05:30
test_upstage_provider.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_urllib_security.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_user_providers_model_switch.py fix: follow-ups for salvaged PR #80740 2026-08-07 21:02:40 +05:30
test_verify_console_scripts.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_verify_core_dependencies.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_vertex_model_picker.py fix(vertex): surface vertex in the /model picker — credential gate + curated model list 2026-07-23 16:55:41 -07:00
test_vertex_provider.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_video_gen_picker.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_voice_wrapper.py fix(tts): split long speech by provider and platform limits 2026-08-08 22:54:20 +05:30
test_web_oauth_dispatch.py Merge remote-tracking branch 'origin/main' into fix-73914-atomic-cancel 2026-07-31 03:35:08 -03:00
test_web_profile_soul_writes.py fix(cli): keep newly created SOUL.md and distribution.yaml at 0644 2026-08-06 05:00:17 +05:30
test_web_server.py test: assert profile scoping against on-disk config and .env 2026-08-10 22:37:16 -05:00
test_web_server_boot_handshake.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_config_offloop.py test(dashboard): deterministic lock gating + plugin-providers RMW regression 2026-08-08 13:28:28 +05:30
test_web_server_console_ws.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_web_server_cron_profiles.py refactor(cron): polish registration partial-failure surfaces 2026-08-07 17:45:06 +05:30
test_web_server_files.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_fs.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_web_server_gateway_topology.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_git.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_host_header.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_messaging_profiles.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_oauth_write.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_web_server_profile_unification.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_pty_import.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_web_server_pty_reconnect.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_session_search.py perf(session-search): project fields before enrichment 2026-08-03 17:50:58 +05:30
test_web_server_skill_editor.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_web_server_skills_profiles.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_server_speak_stream.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_web_ui_build.py perf(cli): add --prefer-offline to npm install during update (#39267) 2026-08-03 17:18:31 +05:30
test_webhook_cli.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_whatsapp_cloud_setup.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_whatsapp_onboarding.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_whatsapp_setup_ordering.py
…
test_win_pty_bridge.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_windows_native_docs.py fix(windows): SSH ControlMaster gating + stop hijacking the user's python (#84452) 2026-08-12 02:56:33 -07:00
test_xai_curated_models.py
…
test_xai_model_flow.py
…
test_xai_oauth_profile_auth.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_xai_oauth_refresh.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_xai_oauth_writethrough.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_xai_provider_labels.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_xai_retirement.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_xiaomi_provider.py Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_yolo_startup_order.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00