hermes-agent/tests/agent
brooklyn! 43717123ca
fix(models): a model id missing its vendor prefix says so instead of 404ing (#78856)
Selecting an NVIDIA NIM model whose id reached config without the nvidia/
prefix produced a bare "HTTP 404: 404 page not found" — retried three times,
never naming the model. It reads exactly like an outage or an auth failure,
which is where the Discord thread spent its time before the id was spotted.

normalize_model_for_provider() had no branch for nvidia, so a bare id passed
straight through to the API. Repair it from the provider's curated catalogue:
a bare name that matches exactly one entry modulo the prefix gets it back.
That's a lookup, not a guess — build.nvidia.com also fronts local NIM
containers and third-party models, and anything absent from the catalogue is
left alone. Because the repair runs on every runtime setup, an already-broken
config self-heals on the next turn and prints what it changed.

If a bare id still reaches the wire, the 404 now explains itself. The
classifier consults the same catalogue: a prefix-less id the provider only
serves as vendor/model is a deterministic failure, so it classifies as
model_not_found instead of burning three retries on a retryable "unknown",
and the error trace names the id to use.

Fixes #78796
2026-08-04 19:35:57 +00:00
..
lsp test: patch load_config_readonly alongside load_config across affected suites 2026-07-29 15:28:15 -07:00
transports refactor(xai): simplify _xai_prefers_native_web_search to use registry 2026-08-04 15:44:15 +05:30
__init__.py
test_account_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_anthropic_adapter.py fix: prefer explicit anthropic api key 2026-08-04 00:12:45 +05:30
test_anthropic_billing_guidance.py
test_anthropic_keychain.py test: guard browser and Keychain side effects suite-wide (#35404) 2026-07-29 18:55:10 -07:00
test_anthropic_kimi_signed_thinking_replay.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_kwargs_sanitize.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_mcp_prefix_strip.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_pkce.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_ua_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_anthropic_output_field_leak.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_thinking_block_order.py
test_anthropic_token_scope_isolation.py fix(auth): route anthropic adapter credential reads through the profile secret scope 2026-08-01 16:42:51 -07:00
test_anthropic_whitespace_text_blocks.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_content_sidecar.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_arcee_trinity_overrides.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_async_token_accounting.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_async_utils.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_aux_progress_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_auxiliary_anthropic_pool_fallback_regression.py
test_auxiliary_client.py simplify: collapse aux config reads, trim comments, use load_config_readonly 2026-08-02 12:19:04 +05:30
test_auxiliary_client_anthropic_custom.py
test_auxiliary_client_azure_foundry.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_auxiliary_client_base_url_host_validation_52608.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_auxiliary_client_bootstrap_skew.py fix(auxiliary_client): warn once + regression tests for bootstrap version skew 2026-07-15 07:47:18 -07:00
test_auxiliary_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_auxiliary_client_resolve_dedup.py
test_auxiliary_client_ssl_verify.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_auxiliary_client_xai_oauth_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_auxiliary_compression_timeout_floor.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_auxiliary_concurrency.py fix(agent): cap auxiliary LLM concurrency per task 2026-08-03 23:01:03 +05:30
test_auxiliary_config_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_auxiliary_explicit_cancellation.py fix(compression): let explicit interrupts cancel safely 2026-08-02 22:15:20 +05:30
test_auxiliary_main_first.py Portal free user vision fix + flux3 polling improvements (#75448) 2026-07-31 10:17:55 -04:00
test_auxiliary_named_custom_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_auxiliary_relay.py Merge upstream main into model metrics 2026-08-02 20:10:47 -07:00
test_auxiliary_runtime_cache_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_auxiliary_transient_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_auxiliary_transport_autodetect.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_auxiliary_user_default_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_azure_identity_adapter.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_backend_identity.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_battery.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_1m_context.py
test_bedrock_adapter.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_empty_text_blocks.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_integration.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_interrupt_post_worker.py Reapply "feat(observability): integrate NeMo Relay runtime and shared metrics" 2026-07-27 21:10:51 -07:00
test_billing_links.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_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_billing_view.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_bounded_response.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_budget_reasoning_details_exclusion.py fix(agent): exclude reasoning_details envelope from tail-budget walk (#73298) 2026-07-31 23:16:58 -07:00
test_cache_disabled_on_stubs.py refactor(agent): share the cache_ttl disable predicate across init and stub paths 2026-08-02 11:52:59 +05:30
test_canon_args_memo_parity.py fix(agent): byte budget for the canon-args memo 2026-08-02 21:17:12 +05:30
test_cascading_interrupt_6600.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_completion_helpers_provider_sort.py
test_cjk_token_estimation.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_close_interrupted_tool_sequence.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_event_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_codex_app_server_persist.py feat(codex): honor redirect and hard stop in the app-server runtime 2026-07-22 12:02:40 -05:00
test_codex_cloudflare_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_codex_gpt55_autoraise_notice.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_codex_responses_adapter.py fix(codex): defang reserved Harmony tokens in requests 2026-07-31 22:53:20 -07:00
test_codex_runtime_live_events.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_ttfb_watchdog.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_coding_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_compaction_anti_thrash.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_compaction_redaction_boundaries.py fix(compression): apply strict redaction at every compaction text boundary (#69294) 2026-07-22 08:11:40 -07:00
test_compress_context_progress_timeout.py test(agent): deflake progress-extension timing per FLAKY policy (re-review #8) 2026-08-02 16:16:36 -07:00
test_compress_focus.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_signal_leak.py fix: prevent stale lock-skip signal leaking between compress_context calls 2026-07-23 08:19:14 -07:00
test_compressed_summary_metadata.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_anti_thrash_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_anti_thrash_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_compression_attempt_telemetry.py fix: adapt compression attempt logging to current main aux-call contract 2026-07-22 08:13:41 -07:00
test_compression_concurrent_fork.py fix(agent): reconcile explicit hard-cancel (main d15b638a88) with pooled fence rework 2026-08-02 16:16:36 -07:00
test_compression_count_warning_36908.py
test_compression_fallback_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_compression_interrupt_protection.py fix(compression): let explicit interrupts cancel safely 2026-08-02 22:15:20 +05:30
test_compression_logging_session_context.py
test_compression_max_attempts_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_compression_progress.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_review_76354.py feat(agent): emit pool_saturated compression-attempt telemetry (re-review #6) 2026-08-02 16:16:36 -07:00
test_compression_rotation_state.py fix(agent): clear archived parent's activity labels after rotation (re-review #4) 2026-08-02 16:16:36 -07:00
test_compression_small_ctx_threshold_floor.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_worker_isolation_76354.py test: skip live aux feasibility probe in worker-isolation regressions 2026-08-02 16:16:36 -07:00
test_compressor_actionable_tail_anchor.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_assistant_tail_anchor.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_historical_media.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_image_tokens.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_media_stripping.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_tail_cut_oob_fix.py test(agent): add compress()-level E2E regression for short tool-suffix OOB (#75588) 2026-07-31 23:16:58 -07:00
test_compressor_tail_cut_tool_pair_floor.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_tool_call_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_compressor_zero_user_guard.py fix(agent): preserve a non-empty user query after compression 2026-07-31 23:16:58 -07:00
test_context_breakdown.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_context_compressor.py refactor(compression): fold simplify-pass findings into feasibility skip 2026-08-01 16:00:52 +05:30
test_context_compressor_cross_session_guard.py
test_context_compressor_session_end_clears_state.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_context_compressor_summary_continuity.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_context_compressor_temporal_anchoring.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_context_compressor_zero_user_provenance.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_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_context_engine_host_contract.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_context_engine_on_turn_complete_usage.py docs+test(context-engine): sync public guide coverage note; pin finalization-seam observation contract 2026-07-23 19:44:35 -07:00
test_context_engine_select_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_context_references.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_context_refs_concurrent.py test: prove concurrency with barriers/witnesses instead of wall-clock bounds 2026-07-29 21:30:53 -07:00
test_context_route_mismatch.py test(gateway): cover named-custom context pin on session-info banner 2026-08-04 11:00:04 +05:30
test_copilot_acp_client.py fix(test): hermetic env-detection tests — pin container/supervisor/HOME probes (#422) 2026-07-29 18:55:10 -07:00
test_copilot_acp_deprecation.py
test_credential_pool.py fix(credential_pool): classify copilot sources by exact match 2026-08-03 15:56:39 +05:30
test_credential_pool_deferred_refresh.py fix(credential_pool): serialize deferred-refresh pool mutations 2026-08-03 19:08:09 +05:30
test_credential_pool_key_rotation.py fix(credential-pool): clear exhaustion state on key rotation (#22622) 2026-08-04 11:35:06 -06:00
test_credential_pool_lease_refresh_reselect.py fix(credential-pool): re-select in acquire_lease after a deferred refresh 2026-08-04 13:12:24 +05:30
test_credential_pool_no_entries_log_throttle.py fix(credential-pool): throttle "no available entries" log to stop Windows log-lock storm (contributes to #62698) (#66338) 2026-07-17 13:08:46 -04:00
test_credential_pool_oat_authtype.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_pool_oauth_writethrough.py fix(auth): apply same source-path write-through fix to non-pool xAI path 2026-07-31 22:32:48 -07:00
test_credential_pool_provider_boundary.py fix(auth): enforce credential pool provider boundaries (#63048) 2026-07-12 03:00:53 -07:00
test_credential_pool_quarantine_locking.py fix(credential-pool): lock the quarantine read-modify-write of _entries 2026-08-04 13:20:15 +05:30
test_credential_pool_routing.py fix(credential-pool): bench a billing 403 fully, even as the sole key 2026-08-04 23:33:39 +05:30
test_credential_pool_sole_cooldown.py fix(credential-pool): bench a billing 403 fully, even as the sole key 2026-08-04 23:33:39 +05:30
test_credential_pool_unmatched_rotation_bound.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_credits_cold_start.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_credits_fixture_snapshot.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_credits_policy.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_credits_tracker.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_credits_view.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_cron_inline_api_call_62151.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_crossloop_client_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_curator.py perf(curator): trim dead tool-schema from the LLM review fork 2026-08-03 18:21:17 +05:30
test_curator_activity.py
test_curator_backup.py fix(curator): restore the real skills tree when a rollback extract dies part-way 2026-07-31 22:34:57 -07:00
test_curator_classification.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_reports.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_cursor_optimizations_parity.py perf(state): batch the turn flush into one SQLite transaction 2026-08-03 20:43:38 +05:30
test_custom_pool_mismatch_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_custom_provider_extra_body.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_body_matching.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_providers_vision.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_anthropic_thinking.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_direct_provider_url_detection.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_display.py refactor(discord): simplify tool preview links 2026-08-02 21:48:06 -07:00
test_display_emoji.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_display_todo_progress.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_display_tool_failure.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_tool_name_loop_dampening.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_endpoint_blackhole.py fix(agent): stop re-probing endpoints that blackhole TCP connects 2026-08-03 21:53:13 +05:30
test_engine_preflight_wire.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_error_classifier.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_external_skills.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_external_skills_dirs_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_failover_identity.py perf(prompt-caching): preserve tool-loop cache boundaries (#20880) 2026-08-01 14:27:12 +05:30
test_file_safety.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_safety_container_mirror.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_safety_credentials.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_safety_cross_profile.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_safety_sandbox_mirror.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_safety_session_state.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_turn_sidecar.py perf(gateway): byte-stable session context prompts 2026-07-19 14:58:59 +05:30
test_gemini_fast_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_gemini_free_tier_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_gemini_native_adapter.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_schema.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_standard_key_guidance.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_ghost_skill_pruning.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_i18n.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_idle_compaction.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_idle_compaction_lock_and_guards.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_registry.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_routing.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_insights.py refactor(insights): drop consumer-less get_skill_breakdown alias (simplify-pass) 2026-08-03 18:45:43 +05:30
test_intent_ack_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_interrupt_compat.py fix(compression): let explicit interrupts cancel safely 2026-08-02 22:15:20 +05:30
test_jiter_preload.py
test_kanban_stop.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_coding_anthropic_thinking.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_total_tokens.py
test_learn_prompt.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_learning_graph.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_learning_graph_render.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_learning_mutations.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_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_local_probe_disk_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_local_stream_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_manual_compression_feedback.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_markdown_tables.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_async_sync.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_boundary_commit.py test: prove concurrency with barriers/witnesses instead of wall-clock bounds 2026-07-29 21:30:53 -07:00
test_memory_provider.py refactor(memory): single shared trivial-prompt classifier + gate tests 2026-08-03 17:53:55 +05:30
test_memory_session_switch.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_skill_scaffolding.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_user_id.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_write_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_message_content.py
test_message_sanitization_policy.py refactor(agent): single-owner call_id + reasoning_content sanitization policies (wire-parity verified) 2026-07-29 12:29:39 -07:00
test_micro_compaction.py fix(agent): invalidate flush-scan cursor at the defrag marker-pop sibling site 2026-07-31 23:18:12 -07:00
test_minimax_auxiliary_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_minimax_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_moa_aggregator_cache_control.py perf(prompt-caching): preserve tool-loop cache boundaries (#20880) 2026-08-01 14:27:12 +05:30
test_moa_aggregator_cost_slot.py
test_moa_cold_start_cache_66793.py perf(moa): cache resolved preset + per-slot runtime to cut cold-start latency (#66793) 2026-08-03 22:43:15 +05:30
test_moa_context_max_tokens.py fix(moa): stop reference_max_tokens from also capping the aggregator 2026-07-23 16:17:27 -07:00
test_moa_progress.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_quiet_reference_output.py fix(moa): scope quiet relay to machine-readable CLI 2026-07-23 18:40:09 -07:00
test_moa_reasoning_effort.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_reference_system_prompt.py chore(moa): add trailing newline to reference-prompt test file 2026-07-23 18:40:09 -07:00
test_moa_slot_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_moa_slot_max_tokens.py feat(moa): per-reference-model max_tokens override 2026-07-23 16:17:27 -07:00
test_moa_switch_api_mode.py
test_moa_trace_streamed_capture.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_extra_type_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_model_metadata.py fix(agent): fail fast on custom-provider /models auth errors 2026-08-02 22:47:48 +05:30
test_model_metadata_local_ctx.py fix(model_metadata): read llama.cpp context from meta.n_ctx + accept sole model 2026-08-04 11:08:32 +05:30
test_model_metadata_ssl.py fix(tests): eliminate flaky/broken tests — shadow sys.path inserts, unmocked network in compressor tests, stale-SDK feishu pin guard, quadratic redact regexes 2026-07-29 15:12:28 -07:00
test_models_dev.py Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_moonshot_schema.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_non_stream_stale_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_none_deref_guards.py
test_nous_credits_gauge.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_credits_snapshot.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_oauth_401_guidance.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_portal_anthropic_wire.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_rate_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_onboarding.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_oneshot.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_openrouter_response_cache.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_org_skill_namespace.py refactor(sync): put every Skill Sync verb under `hermes sync`; drop HSP naming 2026-07-29 07:47:06 +10:00
test_outbound_webhooks.py fix(hooks): flush outbound queue at interpreter exit 2026-08-02 15:01:11 -07:00
test_pet_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_pet_generate.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_platform_hint_desktop.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_platform_hint_overrides.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_llm.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_portal_tags.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_post_compression_trim.py perf(compressor): release allocator pages after successful compaction 2026-08-03 22:55:36 +05:30
test_pre_compress_memory_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_preflight_compression_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_preflight_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_proactive_prune_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_proactive_tool_result_pruning.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_probe_cache_followups.py fix(model_metadata): rewrite localhost->IPv4 for the remaining local probe sites 2026-08-03 21:12:56 +05:30
test_prompt_builder.py Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_prompt_caching.py fix(prompt-caching): consolidate static-prefix split, guard empty volatile suffix 2026-08-01 15:39:58 +05:30
test_protected_tail_pressure_61932.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_and_url_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_rate_limit_tracker.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_reactions.py
test_reasoning_stale_timeout_floor.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.py test(redact): add YAML ReDoS test, strengthen existing test with keyword 2026-08-01 15:58:25 +05:30
test_relay_llm.py fix(moa): carry completed responses through the managed Relay path 2026-07-31 21:52:35 -07:00
test_relay_tools.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_replay_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_request_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_restore_primary_pool_reselect.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_resume_stale_active_task.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_rotation_flush_persisted_boundary_68196.py fix(agent): pass persisted-prefix boundary when rotation flushes on cold resume (#68196) 2026-07-21 12:11:31 +05:30
test_runtime_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_save_url_image.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_secret_scope.py fix(secrets): allowlist API_SERVER listener settings as global deployment env 2026-08-02 09:59:52 -07:00
test_secret_scope_tier1_migration.py test(secrets): consolidated tier-1 migration regression suite 2026-08-02 10:02:33 -07:00
test_session_activity.py chore: round-2 review nits (re-review #9) 2026-08-02 16:16:36 -07:00
test_session_rotation_flush_cold_resume_68454.py test: drop source-grep change-detector from #68480 2026-07-22 10:00:39 +05:30
test_set_runtime_main_custom_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_shell_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_shell_hooks_consent.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_skill_bundles.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_skill_commands.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_skill_commands_reload.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_skill_invocation_description.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_skill_utils.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_skip_memory_store_65429.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_ssl_ca_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_ssl_verify.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_chunk_byte_estimate.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_read_timeout_floor.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_single_writer_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_streaming_context_scrubber.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_subagent_lifecycle.py fix(compression): let explicit interrupts cancel safely 2026-08-02 22:15:20 +05:30
test_subagent_progress.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_subagent_stop_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_subdirectory_hints.py fix(context): dedupe subdirectory hints by content digest and skip backup/vendor dirs 2026-08-03 20:43:34 +05:30
test_subdirectory_hints_tilde.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_subprocess_env_guard.py refactor: single build_subprocess_env() factory for all child-process spawns (profile + secret-scrub single owner) 2026-07-29 10:14:11 -07:00
test_subscription_view.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_tool_result_type_safety.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_summary_prefix_semantics.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_summary_prefix_tool_use.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_summary_role_template_alternation.py fix(compression): choose summary role by template-visible alternation 2026-07-30 21:07:36 +05:30
test_synthetic_turn_display_kind.py fix(agent): type a synthesized user turn when its row is written 2026-07-28 03:54:16 -05:00
test_system_prompt.py fix(system_prompt): move skills index to the volatile band 2026-08-03 23:23:39 +05:30
test_system_prompt_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_think_scrubber.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_timeout_guidance.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_thread_scoped_output.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_title_generator.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_arg_no_redaction.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_dispatch_helpers.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_executor_checkpoint_paths.py fix(checkpoints): honor gateway config and task cwd (#68195) 2026-07-20 13:04:12 -07:00
test_tool_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_tool_result_classification.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_trace_upload.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_transcription_registry.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_tts_registry.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_turn_context.py refactor(memory): single shared trivial-prompt classifier + gate tests 2026-08-03 17:53:55 +05:30
test_turn_context_overflow_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_turn_finalizer_cleanup_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_turn_finalizer_final_response_persistence.py fix(agent): invalidate flush-scan cursor when finalizer pops db marker 2026-07-31 23:18:12 -07:00
test_turn_finalizer_interrupt_alternation.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_turn_finalizer_iteration_limit_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_turn_overlap_tripwire.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_turn_retry_state.py fix(copilot): follow-ups for salvaged PR #58743 2026-07-31 22:31:09 -07:00
test_turn_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_unsupported_parameter_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_unsupported_temperature_retry.py feat(analytics): record auxiliary model usage per task in session accounting (#65537) 2026-07-16 04:23:12 -07:00
test_usage_pricing.py Revert "remove Vercel AI Gateway and Vercel Sandbox (#33067)" 2026-07-29 19:48:37 -07:00
test_verification_evidence.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_evidence_fd_leak.py fix(gateway,tools,agent): close leaked SQLite connections in delivery, delegation, and verification ledgers 2026-07-24 15:55:08 -07:00
test_verification_stop.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_stop_caching.py fix(tests): update two more append_message.call_args assertions to append_messages_batch 2026-08-03 20:43:38 +05:30
test_verify_hooks.py
test_vertex_adapter.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_video_gen_registry.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_resolved_args.py
test_vision_routing_31179.py fix(tests): restore original module identities after vision-routing reloads (#61597) 2026-07-29 18:55:10 -07:00