hermes-agent/tests/run_agent
Adolanium 7fa084f58e fix: send Hermes Agent attribution headers to OpenCode Zen and Go
OpenCode identifies clients by request headers, the same way OpenRouter
does. Our opencode-zen and opencode-go profiles never set any, so every
request went out with the OpenAI SDK default "OpenAI/Python x.y.z"
User-Agent and OpenCode had no way to tell the traffic was Hermes Agent.

Two changes:

- Add HTTP-Referer, X-Title, and a HermesAgent User-Agent to both
  OpenCode profiles through profile.default_headers, the same path
  Fireworks uses. This covers chat_completions, codex_responses,
  auxiliary clients, model switches, and the models catalog fetch.
- Merge the same headers in build_anthropic_client for opencode.ai
  base URLs. The Anthropic Messages route (Claude on Zen, MiniMax and
  Qwen on Go) builds its client there and never sees profile headers.

Verified against the live Go relay with a real key. Both wire formats
return HTTP 200 and the requests now carry X-Title "Hermes Agent",
HTTP-Referer, and User-Agent HermesAgent/0.20.0.
2026-08-13 02:03:40 -07:00
..
__init__.py
…
conftest.py
…
repro_48013_image_shrink_brick.py
…
test_413_compression.py fix(agent): project real usage in preflight defer instead of fixed growth tolerance 2026-08-07 19:44:29 +05:30
test_860_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_1630_context_overflow_loop.py Merge remote-tracking branch 'origin/main' into tests/prune-low-value 2026-07-29 15:24:14 -07:00
test_18028_content_policy_blocked.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_24996_fallback_exhaustion_cooldown.py fix(backoff): keep 60s first-hit cooldown, escalate only on consecutive rate-limits 2026-08-03 22:54:54 +05:30
test_28161_anthropic_stream_pool_cleanup.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_31273_402_not_retried.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_32646_fallback_429_after_timeout.py
…
test_63425_credential_pool_auto_detect.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_66267_multimodal_interim.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_70773_shared_client_fd_corruption.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_81641_text_turn_incremental_persistence.py refactor: follow-up for salvaged PR #81692 2026-08-10 09:38:28 +05:30
test_agent_guardrails.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_mid_tool_call_drop.py fix(streaming): close the same mid-tool-call drop gap on the Anthropic path 2026-08-07 18:07:19 +05:30
test_anthropic_prompt_cache_policy.py fix: close provider-anthropic MiniMax proxy bypass + rework cache observability 2026-08-12 13:58:26 +05:30
test_anthropic_response_header_capture.py nous portal anthropic wire 2026-07-27 11:53:48 -04:00
test_anthropic_third_party_oauth_guard.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_truncation_continuation.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_max_retries_config.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_async_httpx_del_neuter.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_provider_failover.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_authorization_gate.py refactor: fold /simplify-code findings 2026-08-06 17:03:10 +05:30
test_background_review.py simplify: match delegate_tool.py hasattr pattern, drop change-detector test 2026-08-09 16:13:52 +05:30
test_background_review_cache_parity.py fix(background-review): inherit prefill messages + OpenRouter provider pins on non-routed forks 2026-08-02 23:48:42 +05:30
test_background_review_cost_controls.py test: patch load_config_readonly alongside load_config across affected suites 2026-07-29 15:28:15 -07:00
test_background_review_summary.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_background_review_toolset_restriction.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_callable_api_key.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_app_server_compaction.py fix(agent): force-persist compression completed past SessionDB rate limit 2026-08-02 16:16:36 -07:00
test_codex_app_server_integration.py perf(tools): use load_config_readonly on the approval guard path 2026-08-02 21:17:49 +05:30
test_codex_app_server_lifecycle.py fix: close the Codex app-server session on agent teardown 2026-08-04 11:25:18 +05:30
test_codex_multimodal_tool_result.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_no_tools_nonetype.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_silent_hang_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_codex_xai_oauth_recovery.py test: teach the hand-rolled fake pools the failure_reason kwarg 2026-08-04 23:33:39 +05:30
test_commit_memory_session_context_engine.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_compress_focus_plugin_fallback.py
…
test_compression_abort_state_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_compression_boundary.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_compression_boundary_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_compression_feasibility.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_compression_lock_defer.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_compression_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_compression_trigger_excludes_reasoning.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_compressor_fallback_update.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_concurrent_interrupt.py
…
test_context_token_tracking.py
…
test_continuation_ceiling_wedge.py fix(agent): separate continuation fragments so joined text does not glue 2026-08-08 14:56:38 +05:30
test_conversation_fallback_state.py fix(agent): discard bare tool-call marker before fallback/persistence (#78148) 2026-08-04 11:26:15 +05:30
test_copilot_native_vision_headers.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_create_openai_client_disables_sdk_retries.py
…
test_create_openai_client_kwargs_isolation.py
…
test_create_openai_client_proxy_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_create_openai_client_reuse.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_create_openai_client_ssl_verify.py
…
test_credential_pool_interrupt.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_credential_rotation_route_settings.py fix(agent): adopt .env credential/base-url edits at the turn boundary (#67843) 2026-08-04 17:53:17 +00:00
test_credits_notices_toggle.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_custom_provider_extra_headers_client.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_deepseek_reasoning_content_echo.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_deepseek_v4_thinking_live.py
…
test_dict_tool_call_args.py
…
test_dropped_tool_call_recovery.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_empty_response_recovery_persistence.py perf(state): batch the turn flush into one SQLite transaction 2026-08-03 20:43:38 +05:30
test_empty_terminal_reasoning_surface.py feat(agent): surface a labeled reasoning excerpt at the empty-response terminal 2026-07-26 20:59:21 -07:00
test_env_credential_turn_refresh.py fix(agent): rebind pool entry id after env credential refresh 2026-08-08 19:17:02 -07:00
test_exit_cleanup_interrupt.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_credential_isolation.py
…
test_fallback_reasoning_override.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_file_mutation_verifier.py fix(agent): scope parallel batches from V4A patch headers 2026-08-01 11:40:59 -07:00
test_fireworks_live.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_identity_flush.py fix(agent): invalidate flush-scan cursor when finalizer pops db marker 2026-07-31 23:18:12 -07:00
test_image_generate_parallel.py feat(image): parallelize image_generate batches 2026-08-03 22:53:32 +05:30
test_image_rejection_fallback.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_shrink_recovery.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_in_place_compaction.py fix(sessions): give titles provenance so they stop overwriting themselves 2026-08-08 17:07:21 -05:00
test_infinite_compaction_loop.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_fallback_on_exhausted_pool.py
…
test_interactive_interrupt.py fix: remove dead f-string prefixes via ruff F541 (216 sites) (#52336) 2026-07-05 13:42:46 -07:00
test_interrupt_propagation.py fix(compression): let explicit interrupts cancel safely 2026-08-02 22:15:20 +05:30
test_invalid_context_length_warning.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_iteration_budget_race.py
…
test_jsondecodeerror_retryable.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_last_reasoning_per_turn.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_lmstudio_load_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_long_context_tier_429.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_malformed_tool_arguments.py refactor(agent): remove the inter-tool delay 2026-07-29 15:21:26 -07:00
test_materialize_data_url_cleanup.py
…
test_memory_nudge_counter_hydration.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_provider_init.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_memory_sync_interrupted.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_message_sequence_repair.py perf(state): batch the turn flush into one SQLite transaction 2026-08-03 20:43:38 +05:30
test_moa_fanout_cadence.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_moa_loop_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_moa_privacy_filter.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_moa_streaming.py fix(moa): restore a valid preset after fallback model drift 2026-07-31 21:52:36 -07:00
test_multimodal_tool_content_recovery.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_native_compaction.py fix(compression): prune pre-checkpoint history on native compaction replay 2026-08-13 01:51:24 -07:00
test_nonretryable_error_html_summary.py refactor(agent): remove the inter-tool delay 2026-07-29 15:21:26 -07:00
test_notice_spine.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_429_fallback_reentry.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_fallback_unavailable.py
…
test_openai_client_lifecycle.py perf(agent): reuse the per-request OpenAI wire client across sequential LLM calls 2026-07-28 19:06:59 +05:30
test_overflow_overhead_aware_tokens.py fix(compression): route overhead-aware tokens in post-tool compress + add recovery-path tests 2026-08-03 10:01:45 +05:30
test_partial_stream_finish_reason.py test(streaming): cover mixed tool-call and retry-exhaustion paths for #80498 2026-08-07 18:07:19 +05:30
test_per_model_compression_threshold.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_per_model_threshold_init_ordering.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_percentage_clamp.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_context_engine_init.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_plugin_stream_hooks.py test(plugins): assert per-hook stream ordering, not cross-thread interleaving 2026-08-12 19:15:02 -07:00
test_post_tool_compression_attempt_cap.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_pre_compress_memory_context.py fix(redaction): normalize URL credential key aliases 2026-07-20 02:25:57 -07:00
test_preflight_compression_cap_e2e.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_primary_runtime_restore.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_proactive_prune_loop_wiring.py fix(cache): make proactive pruning durable and cache-aware 2026-08-06 02:22:08 +05:30
test_provider_attribution_headers.py fix: send Hermes Agent attribution headers to OpenCode Zen and Go 2026-08-13 02:03:40 -07:00
test_provider_fallback.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 Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_repair_tool_call_arguments.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_repair_tool_call_name.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_request_client_reuse_abort_races.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_reset_aware_primary_restore.py fix(credential_pool): unpack the tuple in next_available_at's gate 2026-08-03 19:32:50 +05:30
test_retry_status_buffer.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_review_prompt_class_first.py test(background-review): reanchor unresolved-failure coverage 2026-07-31 22:33:03 -07:00
test_run_agent.py test: register setup_mcp in the desktop_ui toolset + post-hook contracts 2026-08-13 01:06:51 -05:00
test_run_agent_codex_responses.py fix(codex): split reasoning summary parts on summary_index 2026-08-06 22:02:46 -05:00
test_run_agent_multimodal_prologue.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_sequential_chats_live.py
…
test_session_activity_persist.py refactor(agent): pin session activity heartbeat cadence + harden best-effort write 2026-08-02 16:16:36 -07:00
test_session_id_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_session_meta_filtering.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_session_reset_fix.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_session_source.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_start_order_gate.py fix(agent): keep the start-order gate under the batch deadline and abort abandoned workers 2026-08-06 03:53:38 +05:30
test_steer.py fix(agent): keep interrupt scaffold off the tool-tail redirect placeholder 2026-08-09 21:30:54 +05:30
test_stream_drop_logging.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_stream_interrupt_retry.py fix(streaming): block stale stream deltas 2026-07-18 19:55:16 +05:30
test_stream_single_writer_65991.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_stream_stale_breaker_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_stream_stale_circuit_breaker.py fix(agent): request-local Anthropic clients so the stale/interrupt watchdog never corrupts SQLite (#67142) 2026-07-18 21:20:48 -04:00
test_streaming.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_streaming_tool_call_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_strict_api_validation.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_strip_reasoning_tags_cli.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_summarize_api_error.py fix: explain provider DNS failures as possible offline state 2026-08-08 14:08:44 -07:00
test_switch_model_context.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_switch_model_fallback_prune.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_switch_model_pool_reload_52727.py fix(agent): restore primary credential pool after fallback (#62417) 2026-07-11 03:44:02 -07:00
test_switch_model_reapplies_headers.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_switch_model_reasoning_override.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_switch_model_rollback.py
…
test_switch_model_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_thinking_only_sanitizer.py test(agent): cover the API-copy build so restoring the marker pop fails 2026-08-10 10:01:44 +05:30
test_thinking_prefill_trailing_turn.py test(agent): cover the API-copy build so restoring the marker pop fails 2026-08-10 10:01:44 +05:30
test_thinking_sig_recovery_persistence.py
…
test_tls_fd_recycle_corruption.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_token_persistence_non_cli.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_arg_coercion.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_batch_segmentation.py test: run os-specific tests on their real host, not a faked one 2026-08-09 22:09:49 -04:00
test_tool_call_args_sanitizer.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_call_guardrail_runtime.py test: pair load_config_readonly stubs at pruned-file sites (post-merge with main's readonly sweep) 2026-07-29 15:37:24 -07:00
test_tool_call_incremental_persistence.py fix(agent): classify session-persistence failures so lock contention is not misdiagnosed as disk-full 2026-08-08 14:18:26 +05:30
test_tool_executor_contextvar_propagation.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_name_db_persistence.py perf(state): batch the turn flush into one SQLite transaction 2026-08-03 20:43:38 +05:30
test_turn_completion_explainer.py refactor(agent): drop the run_agent classify_persistence_error delegating wrapper 2026-08-08 14:25:12 +05:30
test_unicode_ascii_codec.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_verification_continuation_budget.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_vision_aware_preprocessing.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_vision_tool_messages.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_wait_state_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