ethernet
890bbbda1f
Merge remote-tracking branch 'origin/main' into ethie/pm-clean
...
# Conflicts:
# apps/desktop/e2e/archived-hidden-session-recoverable.spec.ts
# apps/desktop/e2e/bot-chat-message-agent-friendly-name.spec.ts
# apps/desktop/e2e/bot-mailbox-unreadable-ticket.spec.ts
# apps/desktop/e2e/bot-mode-roster-localized.spec.ts
# apps/desktop/e2e/bot-mode-row-click-mirrors-registry.spec.ts
# apps/desktop/e2e/bot-mode-tab-shows-bot-name.spec.ts
# apps/desktop/e2e/bot-roster-group-row-organisation.spec.ts
# apps/desktop/e2e/bot-roster-ignores-infra-dirs.spec.ts
# apps/desktop/e2e/bot-roster-timestamp-meta.spec.ts
# apps/desktop/e2e/bot-roster-user-sections.spec.ts
# apps/desktop/e2e/bot-routines-pane-narrow.spec.ts
# apps/desktop/e2e/bot-row-open-recent-session.spec.ts
# apps/desktop/e2e/bot-tile-ignores-ambient-composer-model.spec.ts
# apps/desktop/e2e/group-composer-auto-grow.spec.ts
# apps/desktop/e2e/group-create-gate-remote-roster.spec.ts
# apps/desktop/e2e/group-prompt-renamed-primary-handle.spec.ts
# apps/desktop/e2e/hosted-room-backend-continuity.spec.ts
# apps/desktop/e2e/hosted-room-legacy-store-migration.spec.ts
# apps/desktop/e2e/settings-scope-chips-bot-title.spec.ts
# apps/desktop/e2e/worktree-branch-status.spec.ts
# apps/desktop/electron/backend-probes.test.ts
# apps/desktop/electron/connection-apply.test.ts
# apps/desktop/electron/desktop-electron-pin.test.ts
# apps/desktop/electron/desktop-uninstall.test.ts
# apps/desktop/electron/gateway-file-download-transport.test.ts
# apps/desktop/electron/gateway-stop-before-update.test.ts
# apps/desktop/electron/github-api-auth.test.ts
# apps/desktop/electron/registry-primary-profile-scope.test.ts
# apps/desktop/electron/update-api-check.test.ts
# apps/desktop/electron/update-handoff-marker.test.ts
# apps/desktop/electron/venv-blocker-scan.test.ts
# apps/desktop/scripts/after-extract.test.mjs
# apps/desktop/scripts/local-pack-publish.test.mjs
# apps/desktop/scripts/tasks-scroll.test.mjs
# apps/desktop/src/app/settings/model-settings.test.tsx
# apps/desktop/src/app/updates-overlay.blockers.test.tsx
# apps/desktop/src/components/desktop-install-overlay.test.tsx
# apps/desktop/src/lib/update-copy.test.ts
# scripts/ci/check_os_marker_fakes.py
# tests-js/desktop-mac-usage-descriptions.test.ts
# tests-js/node-engine-alignment.test.ts
# tests/agent/lsp/test_install_and_lint_fixes.py
# tests/agent/test_command_token_source.py
# tests/agent/test_compression_boundary_hook.py
# tests/agent/test_create_openai_client_ssl_verify.py
# tests/agent/test_custom_provider_ca_probes.py
# tests/agent/test_endpoint_blackhole.py
# tests/agent/test_estimator_parity.py
# tests/agent/test_in_place_compaction.py
# tests/agent/test_moa_loop_mode.py
# tests/agent/test_model_metadata.py
# tests/agent/test_skill_session_platform_gate.py
# tests/agent/test_skill_utils.py
# tests/agent/test_ssl_ca_guard.py
# tests/computer_use/test_doctor.py
# tests/cron/test_codex_execution_paths.py
# tests/cron/test_cron_bot_chat_delivery.py
# tests/cron/test_cron_script.py
# tests/cron/test_media_delivery_parity.py
# tests/cron/test_misfire_catchup.py
# tests/cron/test_parallel_pool.py
# tests/cron/test_recurring_eagain_redispatch.py
# tests/gateway/test_choice_picker.py
# tests/gateway/test_control_socket_windows_live.py
# tests/gateway/test_dingtalk.py
# tests/gateway/test_feishu.py
# tests/gateway/test_feishu_onboard.py
# tests/gateway/test_gateway_shutdown.py
# tests/gateway/test_matrix.py
# tests/gateway/test_model_command_custom_providers.py
# tests/gateway/test_reasoning_command.py
# tests/gateway/test_runtime_footer.py
# tests/gateway/test_session.py
# tests/gateway/test_session_hygiene.py
# tests/gateway/test_status.py
# tests/gateway/test_teams.py
# tests/gateway/test_turn_lease.py
# tests/gateway/test_whatsapp_connect.py
# tests/hermes_cli/test_approvals_command.py
# tests/hermes_cli/test_auth_store_lock_concurrent.py
# tests/hermes_cli/test_backup.py
# tests/hermes_cli/test_banner_git_state.py
# tests/hermes_cli/test_certifi_repair.py
# tests/hermes_cli/test_cmd_update.py
# tests/hermes_cli/test_compat_manifest_targets.py
# tests/hermes_cli/test_computer_use_cli.py
# tests/hermes_cli/test_cpr_local_leak.py
# tests/hermes_cli/test_dashboard_auth_gate.py
# tests/hermes_cli/test_dashboard_procs_kill_grace.py
# tests/hermes_cli/test_desktop_lifecycle_windows_live.py
# tests/hermes_cli/test_doctor.py
# tests/hermes_cli/test_doctor_command_install.py
# tests/hermes_cli/test_fleet_config_migration_windows_live.py
# tests/hermes_cli/test_gateway.py
# tests/hermes_cli/test_gateway_platform_gating.py
# tests/hermes_cli/test_gateway_restart_loop.py
# tests/hermes_cli/test_gateway_task_probe.py
# tests/hermes_cli/test_gateway_wsl.py
# tests/hermes_cli/test_gui_command.py
# tests/hermes_cli/test_install_cua_driver.py
# tests/hermes_cli/test_kanban_db.py
# tests/hermes_cli/test_lazy_command_exports.py
# tests/hermes_cli/test_lazy_refresh_venv_repair.py
# tests/hermes_cli/test_linux_desktop_entry.py
# tests/hermes_cli/test_local_runtime.py
# tests/hermes_cli/test_local_runtime_updates.py
# tests/hermes_cli/test_managed_uv.py
# tests/hermes_cli/test_mcp_reload_confirm_gate.py
# tests/hermes_cli/test_nous_subscription.py
# tests/hermes_cli/test_npm_engine.py
# tests/hermes_cli/test_personality_none.py
# tests/hermes_cli/test_pet_toggle.py
# tests/hermes_cli/test_plan_reconciliation_windows_live.py
# tests/hermes_cli/test_plugin_event_bus.py
# tests/hermes_cli/test_plugin_manifest_v2.py
# tests/hermes_cli/test_plugin_packs.py
# tests/hermes_cli/test_plugins_cmd.py
# tests/hermes_cli/test_plugins_cmd_enable_disable_nested.py
# tests/hermes_cli/test_process_identity.py
# tests/hermes_cli/test_profiles.py
# tests/hermes_cli/test_profiles_sidebar_cache.py
# tests/hermes_cli/test_pty_bridge.py
# tests/hermes_cli/test_resolve_turn_limit.py
# tests/hermes_cli/test_serve_runtime_inventory.py
# tests/hermes_cli/test_session_vacuum_config.py
# tests/hermes_cli/test_set_config_value.py
# tests/hermes_cli/test_signal_handler_kanban_worker.py
# tests/hermes_cli/test_slash_confirm_windows.py
# tests/hermes_cli/test_stale_pid_guard.py
# tests/hermes_cli/test_startup_fast_guards.py
# tests/hermes_cli/test_status.py
# tests/hermes_cli/test_telegram_managed_bot.py
# tests/hermes_cli/test_tools_config.py
# tests/hermes_cli/test_update_apply_shallow_count.py
# tests/hermes_cli/test_update_autostash.py
# tests/hermes_cli/test_update_concurrent_quarantine.py
# tests/hermes_cli/test_update_fetch_failure_classifier.py
# tests/hermes_cli/test_update_fleet_probe_resume_token.py
# tests/hermes_cli/test_update_handoff_backend_reap.py
# tests/hermes_cli/test_update_handoff_desktop_rebuild.py
# tests/hermes_cli/test_update_head_moved_gate.py
# tests/hermes_cli/test_update_host_obligation.py
# tests/hermes_cli/test_update_import_guard.py
# tests/hermes_cli/test_update_interrupted_recovery.py
# tests/hermes_cli/test_update_inventory.py
# tests/hermes_cli/test_update_launchd_unloaded_gateway.py
# tests/hermes_cli/test_update_missing_configured_deps.py
# tests/hermes_cli/test_update_modified_notice.py
# tests/hermes_cli/test_update_multiplex_migration_hook.py
# tests/hermes_cli/test_update_no_gateway_restart.py
# tests/hermes_cli/test_update_orphan_backend_reap.py
# tests/hermes_cli/test_update_parked_branch_guard.py
# tests/hermes_cli/test_update_post_pull_syntax_guard.py
# tests/hermes_cli/test_update_receipt.py
# tests/hermes_cli/test_update_self_lock.py
# tests/hermes_cli/test_update_shim_fail_closed.py
# tests/hermes_cli/test_update_shim_self_lock.py
# tests/hermes_cli/test_update_sqlite_remediation.py
# tests/hermes_cli/test_update_stale_dashboard.py
# tests/hermes_cli/test_update_stale_virtualenv.py
# tests/hermes_cli/test_update_venv_health.py
# tests/hermes_cli/test_update_venv_ownership_preflight.py
# tests/hermes_cli/test_update_wedged_gateway.py
# tests/hermes_cli/test_update_yes_flag.py
# tests/hermes_cli/test_update_zip_two_phase.py
# tests/hermes_cli/test_urllib_security.py
# tests/hermes_cli/test_ux_messages_auth_config.py
# tests/hermes_cli/test_ux_messages_startup.py
# tests/hermes_cli/test_venv_holder_classifier.py
# tests/hermes_cli/test_verify_console_scripts.py
# tests/hermes_cli/test_verify_core_dependencies.py
# tests/hermes_cli/test_web_server.py
# tests/hermes_cli/test_web_server_console_ws.py
# tests/hermes_cli/test_web_server_ws_ping.py
# tests/hermes_cli/test_web_ui_build.py
# tests/hermes_state/test_fts_rebuild_admission.py
# tests/hermes_state/test_hermes_state.py
# tests/plugins/memory/test_memory_lazy_install.py
# tests/plugins/test_google_meet_plugin.py
# tests/plugins/test_langfuse_plugin.py
# tests/plugins/test_security_guidance_plugin.py
# tests/plugins/test_transform_llm_output_hook.py
# tests/scripts/desktop_update/test_desktop_update_windows_gateway_flag.py
# tests/scripts/desktop_update/test_desktop_update_windows_python_handoff.py
# tests/scripts/desktop_update/test_desktop_update_windows_timestamp.py
# tests/scripts/install/test_install_clone_throttle_fallback.py
# tests/scripts/install/test_install_lockfile_churn.py
# tests/scripts/install/test_install_no_initial_commit.py
# tests/scripts/install/test_install_sh_browser_install.py
# tests/scripts/install/test_install_sh_node_prerelease.py
# tests/scripts/install/test_install_sh_symlink_stomp.py
# tests/scripts/install/test_install_sh_uv_lock_config.py
# tests/scripts/install/test_install_unmerged_index.py
# tests/scripts/test_contributor_map.py
# tests/scripts/test_run_tests_parallel.py
# tests/skills/test_competitor_news_monitor_skill.py
# tests/skills/test_document_to_action_items_skill.py
# tests/skills/test_google_workspace_setup.py
# tests/skills/test_google_workspace_setup_deps.py
# tests/skills/test_grounded_citations_skill.py
# tests/skills/test_ip_as_logo_skill.py
# tests/skills/test_live_dashboard_skill.py
# tests/skills/test_mcp_oauth_remote_gateway_skill.py
# tests/skills/test_office_document_skills.py
# tests/skills/test_openclaw_migration.py
# tests/skills/test_product_price_monitor_skill.py
# tests/skills/test_scrollcraft_skill.py
# tests/skills/test_setup_wizard_generator_skill.py
# tests/skills/test_weekly_review_planning_skill.py
# tests/test_engines_satisfiable.py
# tests/test_fast_safe_load.py
# tests/test_hermes_bootstrap.py
# tests/test_hermes_constants.py
# tests/test_hermes_logging.py
# tests/test_managed_runtime_resolution.py
# tests/test_model_tools_async_bridge.py
# tests/test_packaging_build_guard.py
# tests/test_packaging_metadata.py
# tests/test_yaml_indent_consistency.py
# tests/tools/test_approval_timeout_overflow.py
# tests/tools/test_base_environment.py
# tests/tools/test_bot_mode_dm.py
# tests/tools/test_browser_chromium_check.py
# tests/tools/test_browser_hardening.py
# tests/tools/test_browser_homebrew_paths.py
# tests/tools/test_browser_npx_warmup.py
# tests/tools/test_browser_orphan_reaper.py
# tests/tools/test_browser_real_profile.py
# tests/tools/test_browser_use_cli.py
# tests/tools/test_clipboard.py
# tests/tools/test_code_execution.py
# tests/tools/test_code_execution_modes.py
# tests/tools/test_code_execution_windows_env.py
# tests/tools/test_computer_use.py
# tests/tools/test_delegate_liveness_timeout.py
# tests/tools/test_execute_code_approval_cluster.py
# tests/tools/test_execution_flag_detection.py
# tests/tools/test_fal_common.py
# tests/tools/test_file_operations.py
# tests/tools/test_file_tools.py
# tests/tools/test_file_tools_cwd_resolution.py
# tests/tools/test_file_tools_live.py
# tests/tools/test_lazy_deps.py
# tests/tools/test_lazy_deps_durable_target.py
# tests/tools/test_lazy_deps_managed.py
# tests/tools/test_local_env_blocklist.py
# tests/tools/test_local_tempdir.py
# tests/tools/test_macos_protected_search.py
# tests/tools/test_mcp_npx_cached_bin.py
# tests/tools/test_oneshot_completion_linger.py
# tests/tools/test_process_registry.py
# tests/tools/test_read_file_schema_gating.py
# tests/tools/test_skill_improvements.py
# tests/tools/test_skills_sync.py
# tests/tools/test_termux_api_detection.py
# tests/tools/test_tirith_security.py
# tests/tools/test_transcription_tools.py
# tests/tools/test_tts_streaming.py
# tests/tools/test_wake_word.py
# tests/tui_gateway/test_compute_host_borrowed_lease.py
# tests/tui_gateway/test_compute_host_turn_protocol.py
# tests/tui_gateway/test_isolated_orphan_activity.py
# tests/tui_gateway/test_protocol.py
# tests/tui_gateway/test_slash_worker_profile_home.py
# tests/tui_gateway/test_subprocess_encoding.py
# tests/tui_gateway/test_tui_gateway_server.py
# ui-tui/src/__tests__/terminalParity.test.ts
# ui-tui/src/__tests__/termuxComposerLayout.test.ts
# ui-tui/src/__tests__/textInputFastEcho.test.ts
2026-09-23 07:02:44 -04:00
teknium1
19f76d7498
test: purge low-value tests, lane py03 (499 removed)
...
Change-detectors, tautologies, source-reading tests, redundant duplicates,
mock-echo tests and dead/unrunnable tests. Per-test rationale in the lane
ledger (category + reason for every removal).
2026-09-23 03:15:26 -07:00
ethernet
92686159d1
fix(pm): integrate audited runtime and lifecycle repairs
...
Prepare dependency generations before selecting them. Keep shipped tool
bytes separate from writable additions, and store facts beside their entries.
Validate proposed plugin sets before config publication. Restore the previous
config if the facts write fails.
Consolidate duplicate updater, backup, setup, and voice helpers. Repair
launcher selection, dependency consumers, download ownership, update feeds,
and native Windows process and file handling.
Verification: 206 changed/prior-failing Python files reported 4630 passed,
one failed, and 330 skipped. Fix the remaining Hindsight fixture boundary.
The final targeted rerun reported 234 passed and two skipped. The store
review regression batch reported 83 passed and one skipped. Desktop
TypeScript checks, 56 selected Electron tests, 24 release tests, and the
removed-import/compatibility guards passed.
This is an integration checkpoint, not full audit acceptance. The complete
Python suite has not run on this fixed tree. Crash-atomic plugin publication,
generation cleanup, receipt correlation, and packaged lifecycle acceptance
remain open in docs/pm-audit-status.md.
2026-09-05 22:36:48 -04:00
ethernet
642579db60
Merge remote-tracking branch 'upstream/main' into ethie/pm-clean
...
# Conflicts:
# .github/actions/detect-changes/action.yml
# .github/workflows/ci.yaml
# .github/workflows/tests-os.yml
# agent/prompt_builder.py
# agent/ssl_verify.py
# agent/subdirectory_hints.py
# apps/desktop/electron/main.ts
# apps/desktop/electron/preload.ts
# apps/desktop/src/app/settings/about-settings.tsx
# apps/desktop/src/global.d.ts
# apps/desktop/src/i18n/ar.ts
# apps/desktop/src/store/updates.ts
# cron/suggestions.py
# gateway/channel_directory.py
# hermes_cli/config.py
# hermes_cli/doctor.py
# hermes_cli/linux_desktop_entry.py
# hermes_cli/main.py
# hermes_cli/web_routers/profiles.py
# hermes_constants.py
# plugins/platforms/photon/adapter.py
# scripts/ci/classify_changes.py
# scripts/install.ps1
# tests/agent/test_relay_runtime_plugins.py
# tests/ci/test_classify_changes.py
# tests/hermes_cli/test_gui_command.py
# tests/hermes_cli/test_linux_desktop_entry.py
# tests/hermes_cli/test_update_fleet_restart_pending.py
# tests/state/test_fts_runtime_rebuild.py
# tests/tools/test_lazy_deps.py
# tests/tools/test_macos_protected_search.py
# tools/browser_tool.py
# tools/file_operations.py
# tools/lazy_deps.py
# tools/mcp_tool.py
# tools/working_diff.py
# uv.lock
2026-09-04 03:18:16 -04:00
ethernet
bd258480d3
fix(tests): make the test suite pass on Windows without regressing Linux
...
Gate the POSIX-only and symlink-only tests with the linux_only and
require_symlinks markers. Fix the real cross-platform bugs:
- file_operations: use the translate_path flag, send snippets as base64, and
use sys.executable (the MS Store python3 stub and the list2cmdline
backslash collapse both broke snippets)
- approval: treat backslash as a Windows path separator, not an escape
- registry, browser_registry, secret_sources, plugins: normalize scope-key case
- checkpoint_manager, plugins_cmd: clear read-only bits before delete
- deadline: make MAX_SAFE_TIMEOUT_S fit the Windows limit
- image_routing, acp, cua_backend, daytona: fix Windows and POSIX paths
- hermes_state: match backslash in the retag LIKE clause
- kanban, disk-cleanup: match drive paths and split command arguments
- scripts: emit host separators through as_posix
207 test files are gated or isolated.
2026-08-31 17:52:30 -04:00
Alex Fournier
31e7237adb
fix(relay): upgrade to 0.8.1
...
Signed-off-by: Alex Fournier <afournier@nvidia.com >
2026-08-28 08:28:21 -04:00
Alex Fournier
31402f630b
fix(relay): complete native plugin cutover
...
Signed-off-by: Alex Fournier <afournier@nvidia.com >
2026-08-19 08:52:03 -07:00
Bryan Bednarski
6ec2c0ba8b
fix(relay): define process-wide profile policy
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:03 -07:00
Bryan Bednarski
3fad83df31
fix(relay): guard native plugin ownership cutover
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:03 -07:00
Bryan Bednarski
ad9fb060c5
fix(relay): clarify opt-in plugin layering
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:02 -07:00
Bryan Bednarski
c86fd74e28
refactor(relay): require 0.7 plugin APIs
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:02 -07:00
Bryan Bednarski
4e34dfc932
refactor(relay): use canonical dynamic plugin config
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:02 -07:00
Bryan Bednarski
e8644e05a3
refactor(relay): remove legacy observability plugin
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:01 -07:00
Bryan Bednarski
0b7288ebcb
fix(relay): require explicit plugin configuration
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:01 -07:00
Bryan Bednarski
e7da915f67
fix(relay): defer subscriber flush to shutdown
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:01 -07:00
Bryan Bednarski
918dd8a265
feat(relay): load standard dynamic plugin records
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:01 -07:00
Bryan Bednarski
88300217c2
feat(relay): activate configured dynamic plugins
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:01 -07:00
Bryan Bednarski
c4ae7f7a3b
feat(relay): initialize discovered plugin components
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com >
2026-08-19 08:52:01 -07:00