hermes-agent/tests/hermes_cli
Teknium 243a01d5d7 fix(curator): make the autonomous write policy consistent (#67140)
The background write guard decided ownership from `isinstance(usage_rec, dict)`,
so a local skill with NO usage record passed. That successful write called
bump_patch(), which created a `created_by: null` record — and the identical
write was refused from then on. "Allowed exactly once, then never" is a race
with our own bookkeeping, not a policy. Reproduced on main: patch #1 succeeds,
patch #2 with the same arguments is refused.

Option B from the issue. Option A (split `session_review` from
`scheduled_curator` and let the session fork patch user-owned skills it
consulted) would widen autonomous write permission onto skills the user owns
with no user present to consent — wrong direction for a no-user-present actor.

- skill_manager_tool: missing and explicit-null records now resolve
  IDENTICALLY, both fail closed. The refusal names the reason and points at
  `hermes curator adopt <name>`.
- background_review: both review prompts told the reviewer to patch any skill
  consulted in the session and claimed pinned skills could be improved, while
  enforcement refused both. Prompts now list pinned, external, and user-owned
  skills as protected, and tell the reviewer to RECOMMEND adoption instead of
  attempting a write that will be refused.
- skill_usage: document that `created_by` is a curator-management policy flag,
  not a provenance claim, and add `is_curator_managed()` so call sites read as
  the question they ask. Field name retained — it is on disk in every
  `.usage.json` and renaming would strand those records.
- curator CLI: `hermes curator list-unmanaged` itemizes unmanaged skills with
  the reason each is unmanaged (completes the #67139 spec).

Foreground writes are untouched: a user-directed edit to a user-owned skill
still works, including on pinned skills.

Sibling tests: 9 failures in test_skill_manager_tool.py were fixtures that
created record-less skills to exercise OTHER guards (consolidation-delete,
read-before-write) and relied on ownership falling through. Fixed at the
fixture, since the real curator only ever operates on managed sediment. One
test asserted the old "manually authored" wording; rewritten to assert the
behavior contract instead of the string.

Validation: 274 targeted tests + all 7 background-review files (60 tests) pass.
E2E on a temp HERMES_HOME (30 checks) covers the flip, foreground writes,
adoption unblocking, pin semantics, prompt/enforcement parity, and the new verb.
Each new test sabotage-verified: revert the fix, confirm it goes red.

Fixes #67140
2026-07-25 19:27:17 -07:00
..
__init__.py
…
conftest.py
…
conftest_dashboard_auth.py
…
test_25106_global_switch_persists_base_url_api_mode.py
…
test_active_sessions.py
…
test_anthropic_model_flow_stale_oauth.py
…
test_anthropic_oauth_flow.py
…
test_anthropic_oauth_routes_to_messages_api.py
…
test_anthropic_picker_curated.py
…
test_anthropic_provider_persistence.py
…
test_api_key_providers.py
…
test_apply_model_switch_result_context.py
…
test_apply_profile_override.py
…
test_arcee_provider.py
…
test_argparse_flag_propagation.py
…
test_at_context_completion_filter.py
…
test_atomic_json_write.py
…
test_atomic_yaml_write.py
…
test_auth_codex_provider.py
…
test_auth_codex_quota_probe.py
…
test_auth_codex_self_heal.py
…
test_auth_commands.py
…
test_auth_loopback_ssh_hint.py
…
test_auth_nous_provider.py
…
test_auth_profile_fallback.py fix(credential-pool): stop lost-update cooldown erasure and wrong-key quarantine 2026-07-23 09:22:02 -07:00
test_auth_provider_gate.py fix(auth): count MoA preset slots as explicit provider configuration 2026-07-23 11:21:13 -07:00
test_auth_qwen_provider.py
…
test_auth_ssl_macos.py
…
test_auth_toctou_file_modes.py
…
test_auth_usable_secret.py
…
test_auth_xai_oauth_provider.py
…
test_authenticated_providers_exhausted_pool.py
…
test_aux_config.py
…
test_azure_detect.py
…
test_azure_foundry_entra.py
…
test_backup.py fix(state): cross-process quarantine lock + oversized DB pruning suppression (#68805) 2026-07-24 23:06:05 -07:00
test_banner.py
…
test_banner_git_state.py
…
test_banner_skills.py
…
test_banner_skills_width.py
…
test_bedrock_model_picker.py
…
test_bedrock_region_scoped_picker.py
…
test_billing_cli.py
…
test_billing_portal_url.py
…
test_billing_scope_stepup.py
…
test_bitwarden_status.py
…
test_browser_connect_dual_stack.py
…
test_build_info.py
…
test_bundles.py
…
test_certifi_repair.py fix(ssl): detect and repair a missing certifi cacert.pem via existing venv-repair infra 2026-07-24 15:53:38 -07:00
test_chat_skills_flag.py
…
test_checkpoints_prune.py fix(checkpoints): bind an empty orphan preview to an empty deletion allowlist 2026-07-24 16:01:06 -07:00
test_claw.py
…
test_clear_stale_base_url.py
…
test_cli_active_session_limit.py
…
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
…
test_cli_output.py
…
test_cmd_update.py fix(runtime): preserve cutover lifecycle on retry (E-949) 2026-07-24 16:00:03 -07:00
test_cmd_update_docker.py
…
test_coalesce_session_args.py
…
test_codex_cli_model_picker.py
…
test_codex_models.py
…
test_codex_runtime_plugin_migration.py
…
test_codex_runtime_switch.py
…
test_commands.py Reapply "Merge pull request #30179 from NousResearch/feat/iron-proxy" 2026-07-24 09:49:00 -07:00
test_completion.py
…
test_config.py fix(config): preserve opaque .env values 2026-07-24 16:02:08 -07:00
test_config_drift.py
…
test_config_env_expansion.py
…
test_config_env_ref_parity.py
…
test_config_env_refs.py
…
test_config_validation.py
…
test_configured_builtin_models.py
…
test_console_engine.py
…
test_container_aware_cli.py
…
test_container_boot.py
…
test_context_switch_guard.py
…
test_copilot_auth.py
…
test_copilot_catalog_oauth_fallback.py
…
test_copilot_context.py
…
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
…
test_credential_lifecycle.py
…
test_cron.py
…
test_cron_dashboard_off_loop.py
…
test_cron_fire_dashboard.py
…
test_cron_parser_builder.py
…
test_ctrlg_editor_submit.py
…
test_curator_archive_prune.py fix: curator labels bundled skills as agent-created (#64393) 2026-07-25 18:10:24 -07:00
test_curator_recent_run_notice.py
…
test_curator_run.py
…
test_curator_status.py fix(curator): make the autonomous write policy consistent (#67140) 2026-07-25 19:27:17 -07:00
test_curator_usage.py
…
test_curses_arrow_keys.py
…
test_curses_color_compat.py
…
test_curses_ui_fuzzy_rank.py
…
test_curses_ui_search.py
…
test_custom_provider_context_length.py
…
test_custom_provider_extra_headers.py
…
test_custom_provider_identity.py
…
test_custom_provider_model_switch.py
…
test_custom_provider_tls.py
…
test_dashboard_admin_endpoints.py
…
test_dashboard_auth_401_reauth.py
…
test_dashboard_auth_audit.py
…
test_dashboard_auth_cookies.py
…
test_dashboard_auth_gate.py
…
test_dashboard_auth_middleware.py fix(dashboard): add lightweight /api/health liveness endpoint 2026-07-24 19:43:44 -05:00
test_dashboard_auth_native_flow.py
…
test_dashboard_auth_password_login.py
…
test_dashboard_auth_plugin_hook.py
…
test_dashboard_auth_prefix.py
…
test_dashboard_auth_provider_base.py
…
test_dashboard_auth_status_endpoint.py fix(dashboard): add lightweight /api/health liveness endpoint 2026-07-24 19:43:44 -05:00
test_dashboard_auth_stub_provider.py
…
test_dashboard_auth_ws_auth.py
…
test_dashboard_auth_ws_tickets.py
…
test_dashboard_basic_auth_plugin_enable.py
…
test_dashboard_browser_safe_imports.py
…
test_dashboard_lifecycle_flags.py
…
test_dashboard_oauth_endpoints_server_gate.py
…
test_dashboard_profiles_nav_label.py
…
test_dashboard_register.py
…
test_dashboard_token_auth.py
…
test_dashboard_tui_backcompat.py
…
test_dashboard_unified_launch.py
…
test_dashboard_web_dist_validation.py fix(dashboard): isolate Desktop-inherited env from standalone launch (#69891) 2026-07-23 00:31:23 -05:00
test_debug.py
…
test_default_interface_resolution.py
…
test_dep_ensure.py
…
test_deprecated_cwd_warning.py
…
test_desktop_exe_integrity.py fix(update): stop WoA integrity gate rejecting ARM64 after IsWow64Process2 HANDLE truncation (#71381) 2026-07-25 19:04:03 -04:00
test_desktop_repo_discovery_config.py
…
test_destructive_slash_confirm_gate.py
…
test_detect_api_mode_for_url.py
…
test_determine_api_mode_hostname.py
…
test_diagnostics_upload.py
…
test_dingtalk_auth.py
…
test_discord_skill_clamp_warning.py
…
test_doctor.py fix(doctor): UTF-8/latin-1 fallback when scanning .env 2026-07-24 17:10:39 -07:00
test_doctor_command_install.py
…
test_doctor_dedicated_provider_skip.py
…
test_dump_env_visibility.py
…
test_dump_git_commit.py
…
test_dump_terminal_backend.py
…
test_early_recovery.py fix(update): stdlib-only early recovery before hermes_cli.main imports 2026-07-23 07:33:16 -07:00
test_ensure_hermes_home_memo.py
…
test_ensure_hermes_home_uid_34107.py
…
test_ensure_utf8_locale.py
…
test_env_custom_keys.py
…
test_env_export_line_lifecycle.py
…
test_env_export_prefix.py
…
test_env_load_cache.py
…
test_env_loader.py fix(config): preserve opaque .env values 2026-07-24 16:02:08 -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_fallback_config.py
…
test_fireworks_provider.py
…
test_gateway.py
…
test_gateway_external_supervisor.py
…
test_gateway_linger.py
…
test_gateway_platform_gating.py
…
test_gateway_proc_fallback.py
…
test_gateway_restart_loop.py
…
test_gateway_run_hard_exit.py
…
test_gateway_runtime_health.py
…
test_gateway_s6_dispatch.py
…
test_gateway_service.py fix(gateway): deregister transient reload label after one-shot job + test 2026-07-24 15:49:29 -07:00
test_gateway_service_paths.py
…
test_gateway_windows.py fix(windows): hidden-console daemons — extend the parent-console fix to every detached spawn path (#70205) 2026-07-23 11:13:14 -07:00
test_gateway_wsl.py
…
test_gemini_free_tier_setup_block.py
…
test_gemini_provider.py
…
test_gmi_provider.py
…
test_goals.py
…
test_gpt56_registration.py
…
test_graphical_browser_detection.py
…
test_gui_command.py
…
test_gui_uninstall.py
…
test_hooks_cli.py
…
test_ignore_user_config_flags.py
…
test_image_gen_picker.py
…
test_input_sanitize.py
…
test_install_cua_driver.py
…
test_inventory.py
…
test_inventory_pricing.py
…
test_jobs_json_utf8_bom.py
…
test_journey_render.py
…
test_kanban_block_kinds.py
…
test_kanban_blocked_sticky.py
…
test_kanban_boards.py
…
test_kanban_cli.py
…
test_kanban_cli_dispatch_passthrough.py
…
test_kanban_core_functionality.py
…
test_kanban_db.py fix(tests): gate WAL-dependent tests on the linked SQLite's real capability 2026-07-25 07:17:52 -07:00
test_kanban_db_init.py
…
test_kanban_db_repair.py fix(tests): gate WAL-dependent tests on the linked SQLite's real capability 2026-07-25 07:17:52 -07:00
test_kanban_decompose.py
…
test_kanban_decompose_db.py
…
test_kanban_default_assignee.py
…
test_kanban_diagnostics.py
…
test_kanban_dispatch_lock.py
…
test_kanban_goal_mode.py
…
test_kanban_init_lock_bounded.py
…
test_kanban_lifecycle_hooks.py
…
test_kanban_notify.py
…
test_kanban_per_profile_cap.py
…
test_kanban_project_link.py
…
test_kanban_promote.py
…
test_kanban_reclaim_claim_lock_guard.py
…
test_kanban_specify.py
…
test_kanban_specify_db.py
…
test_kanban_swarm.py
…
test_kanban_worker_image_extraction.py
…
test_kanban_worker_spawn_toolsets.py
…
test_kanban_worker_terminal_cwd.py
…
test_kanban_worktree_isolation.py fix(kanban): stop decompose siblings sharing one worktree checkout 2026-07-23 09:27:13 -07:00
test_kanban_write_txn_busy_retry.py
…
test_kimi_cn_provider_listing.py
…
test_launcher.py
…
test_lazy_refresh_venv_repair.py fix(update): split core vs lazy markers; probes cannot false-clear 2026-07-23 07:33:16 -07:00
test_list_picker_providers.py
…
test_logs.py
…
test_main_model_custom_provider_normalization.py
…
test_managed_installs.py
…
test_managed_scope.py
…
test_managed_scope_cli_config.py
…
test_managed_scope_config.py
…
test_managed_scope_env.py
…
test_managed_scope_loaders.py
…
test_managed_scope_overlay.py
…
test_managed_scope_regression.py
…
test_managed_scope_surfacing.py
…
test_managed_scope_writeguard.py
…
test_managed_uv.py fix(managed-uv): don't retry patches at or below the installed version 2026-07-25 16:42:49 -07:00
test_mcp_add_command_dest.py
…
test_mcp_catalog.py
…
test_mcp_config.py
…
test_mcp_dashboard_oauth.py
…
test_mcp_reload_confirm_gate.py
…
test_mcp_security.py
…
test_mcp_startup.py
…
test_mcp_tools_config.py
…
test_memory_reset.py
…
test_memory_setup.py fix(memory-setup): sanitize .env values in the core writer too 2026-07-24 13:00:53 +05:30
test_memory_setup_provider_arg.py
…
test_memory_status.py fix: use canonical _get_platform_tools resolver for memory tool status 2026-07-23 17:50:20 +05:30
test_migrate_xai.py
…
test_moa_config.py feat(moa): default advisor fanout to user_turn — the cheapest cadence 2026-07-23 21:07:18 -07:00
test_moa_set_models_preserves_extra_keys.py fix(moa): preserve save_traces/trace_dir on GUI config save 2026-07-23 16:55:41 -07:00
test_model_catalog.py
…
test_model_cost_guard.py
…
test_model_normalize.py
…
test_model_picker_excluded_providers.py
…
test_model_picker_expensive_confirm.py
…
test_model_picker_viewport.py
…
test_model_provider_persistence.py
…
test_model_switch_configured_provider_routing.py
…
test_model_switch_context_display.py
…
test_model_switch_copilot_api_mode.py
…
test_model_switch_custom_providers.py fix(models): resolve custom provider model ids 2026-07-24 21:24:36 -05:00
test_model_switch_filter_unresolved.py
…
test_model_switch_once_flags.py
…
test_model_switch_openai_api_mode.py
…
test_model_switch_opencode_anthropic.py
…
test_model_switch_persist_default.py
…
test_model_switch_variant_tags.py
…
test_model_validation.py
…
test_models.py
…
test_models_dev_preferred_merge.py
…
test_non_ascii_credential.py
…
test_nous_account.py
…
test_nous_auth_keepalive.py
…
test_nous_auth_status_cache.py
…
test_nous_billing_request.py
…
test_nous_hermes_non_agentic.py
…
test_nous_inference_url_validation.py
…
test_nous_portal_staging_allowlist.py
…
test_nous_session_validity.py
…
test_nous_subscription.py
…
test_ollama_cloud_auth.py
…
test_ollama_cloud_provider.py
…
test_oneshot_usage_file.py
…
test_openai_codex_model_validation_fallback.py
…
test_openai_picker_curated.py
…
test_opencode_go_flat_namespace.py
…
test_opencode_go_in_model_list.py
…
test_opencode_go_validation_fallback.py
…
test_opencode_zen_model_limit.py
…
test_overlay_slug_resolution.py
…
test_path_completion.py
…
test_pet_toggle.py
…
test_picker_prewarm.py
…
test_pin_kanban_board_env.py
…
test_pip_install_detection.py
…
test_placeholder_usage.py
…
test_plugin_auxiliary_tasks.py
…
test_plugin_cli_registration.py
…
test_plugin_runtime_disable_gate.py
…
test_plugin_scanner_recursion.py
…
test_plugins.py
…
test_plugins_cmd.py
…
test_plugins_cmd_category_discovery.py
…
test_plugins_cmd_enable_disable_nested.py
…
test_plugins_cmd_list.py
…
test_plugins_transcription_registration.py
…
test_plugins_tts_registration.py
…
test_post_setup_gating.py
…
test_profile_describer.py
…
test_profile_distribution.py
…
test_profile_export_credentials.py
…
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
…
test_profiles_s6_hooks.py
…
test_project_plugin_rce_bypass.py
…
test_projects_cli.py
…
test_projects_db.py
…
test_prompt_api_key.py
…
test_prompt_compose_command.py
…
test_prompt_size.py
…
test_provider_catalog.py
…
test_provider_config_validation.py
…
test_provider_groups.py
…
test_provider_live_curated_merge.py
…
test_provider_parity.py
…
test_provider_precedence.py
…
test_provider_section3_grouping.py
…
test_proxy.py
…
test_psutil_android_extract.py
…
test_pty_bridge.py
…
test_quarantine_forensic_logging.py
…
test_reasoning_effort_menu.py
…
test_reasoning_full_command.py
…
test_redact_config_bridge.py
…
test_regression_16767.py
…
test_relaunch.py
…
test_remote_spending_gate_contract.py
…
test_resolve_last_session.py
…
test_resolve_provider_openrouter_pool.py
…
test_run_with_idle_timeout.py
…
test_runtime_provider_resolution.py fix: preserve named custom provider vision overrides 2026-07-23 17:57:33 +05:30
test_safe_mode.py
…
test_sale_pricing.py
…
test_secret_prompt.py
…
test_secrets_bitwarden_non_tty.py
…
test_secrets_token_rotation.py
…
test_security_advisories.py
…
test_security_audit.py
…
test_security_audit_startup.py
…
test_send_cmd.py
…
test_serve_command.py
…
test_service_manager.py
…
test_session_browse.py
…
test_session_export.py
…
test_session_export_html.py
…
test_session_export_html_escape.py
…
test_session_export_md.py
…
test_session_filters.py
…
test_session_handoff.py
…
test_session_listing.py
…
test_session_recap.py
…
test_session_recovery.py fix(sessions): point failed in-place repair at offline recovery 2026-07-25 16:42:31 -07:00
test_sessions_delete.py
…
test_sessions_export_md_cli.py fix(sessions): export delegate cascade before deletion 2026-07-25 09:30:44 +05:30
test_sessions_size_delta_label.py fix(sessions): measure reclaimed space with SQLite page accounting 2026-07-24 22:41:30 -07:00
test_set_config_value.py
…
test_setup.py
…
test_setup_agent_settings.py
…
test_setup_blank_slate.py
…
test_setup_hermes_script.py
…
test_setup_irc.py
…
test_setup_matrix_e2ee.py
…
test_setup_menu_curses_migration.py
…
test_setup_model_provider.py
…
test_setup_noninteractive.py
…
test_setup_ollama_cloud_force_refresh.py
…
test_setup_openclaw_migration.py
…
test_setup_prompt_menus.py
…
test_setup_reconfigure.py
…
test_signal_handler_kanban_worker.py
…
test_skills_config.py
…
test_skills_hub.py
…
test_skills_install_flags.py
…
test_skills_skip_confirm.py
…
test_skills_subparser.py
…
test_skin_cmd.py
…
test_skin_engine.py
…
test_skin_palettes.py
…
test_slack_cli.py feat(slack): support long app descriptions in the manifest generator 2026-07-23 12:01:24 -07:00
test_spotify_auth.py
…
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
…
test_ssh_session_token_parser.py
…
test_startup_plugin_gating.py
…
test_state_db_guard.py fix(update): stop `hermes update` stalling for minutes on a large state.db 2026-07-24 21:39:32 -07:00
test_status.py
…
test_status_model_provider.py
…
test_status_provider_label.py
…
test_subcommands_batch.py
…
test_subcommands_followup.py
…
test_subcommands_profile_gateway.py
…
test_subparser_routing_fallback.py
…
test_subprocess_timeouts.py
…
test_subscription_cli.py
…
test_suppress_eio_on_interrupt.py
…
test_system_stats_platform.py
…
test_systemd_optional_directives.py
…
test_systemd_watchdog_unit.py
…
test_teams_pipeline_plugin_cli.py
…
test_telegram_managed_bot.py
…
test_tencent_tokenhub_provider.py
…
test_terminal_menu_fallbacks.py
…
test_timeouts.py
…
test_timestamps_command.py
…
test_tips.py
…
test_tool_token_estimation.py
…
test_tools_config.py fix(computer_use): probe resolved cua-driver path in post_setup 2026-07-23 00:44:27 -05:00
test_tools_disable_enable.py
…
test_toolset_validation.py
…
test_tts_picker.py
…
test_tui_bundled.py
…
test_tui_heap_sizing.py
…
test_tui_mouse_residue_suppression.py
…
test_tui_npm_install.py
…
test_tui_resume_flow.py
…
test_uninstall_dry_run.py
…
test_uninstall_node_symlinks.py
…
test_update_autostash.py test: accept kwargs in managed_uv fixture fakes 2026-07-24 16:00:03 -07:00
test_update_check.py
…
test_update_concurrent_quarantine.py
…
test_update_config_clears_custom_fields.py
…
test_update_fleet_restart_timeout.py
…
test_update_hangup_protection.py
…
test_update_interrupted_recovery.py fix(update): split core vs lazy markers; probes cannot false-clear 2026-07-23 07:33:16 -07:00
test_update_modified_notice.py
…
test_update_post_pull_syntax_guard.py
…
test_update_stale_dashboard.py
…
test_update_venv_health.py
…
test_update_yes_flag.py
…
test_update_zip_atomic_replace.py
…
test_update_zip_symlink_reject.py
…
test_upstage_provider.py
…
test_urllib_security.py
…
test_user_providers_model_switch.py
…
test_verify_console_scripts.py
…
test_verify_core_dependencies.py
…
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 fix(vertex,moa): register vertex in PROVIDER_REGISTRY and HERMES_OVERLAYS 2026-07-23 16:55:41 -07:00
test_video_gen_picker.py
…
test_voice_wrapper.py
…
test_web_oauth_dispatch.py
…
test_web_server.py test: cover custom endpoint key storage and model-list persistence 2026-07-24 21:12:59 -05:00
test_web_server_boot_handshake.py
…
test_web_server_console_ws.py
…
test_web_server_cron_profiles.py
…
test_web_server_files.py
…
test_web_server_fs.py
…
test_web_server_gateway_topology.py
…
test_web_server_git.py
…
test_web_server_host_header.py
…
test_web_server_messaging_profiles.py
…
test_web_server_oauth_write.py
…
test_web_server_profile_unification.py test: accept the new profile-scoped kwargs in status fakes 2026-07-24 16:02:39 -07:00
test_web_server_pty_import.py
…
test_web_server_pty_reconnect.py
…
test_web_server_session_search.py
…
test_web_server_skill_editor.py
…
test_web_server_skills_profiles.py
…
test_web_server_speak_stream.py fix(voice): speak the whole turn, not just its first bubble; idle-flush held narration 2026-07-23 01:53:37 -05:00
test_web_ui_build.py
…
test_webhook_cli.py
…
test_whatsapp_cloud_setup.py
…
test_whatsapp_onboarding.py
…
test_whatsapp_setup_ordering.py
…
test_win_pty_bridge.py
…
test_windows_native_docs.py
…
test_xai_curated_models.py
…
test_xai_model_flow.py
…
test_xai_oauth_profile_auth.py
…
test_xai_oauth_refresh.py
…
test_xai_oauth_writethrough.py
…
test_xai_provider_labels.py
…
test_xai_retirement.py
…
test_xiaomi_provider.py
…
test_yolo_startup_order.py
…