Skip to content

fix(windows): stabilize desktop, web, and executor startup - #37

Merged
Chenxxxxxx06 merged 1 commit into
mainfrom
fix/windows-runtime-startup
Aug 14, 2026
Merged

fix(windows): stabilize desktop, web, and executor startup#37
Chenxxxxxx06 merged 1 commit into
mainfrom
fix/windows-runtime-startup

Conversation

@Chenxxxxxx06

Copy link
Copy Markdown
Collaborator

Summary

Fix Windows startup across Desktop, CLI, Web, and the background executor.

The reported executor failure was reproduced from the original logs and on native Windows: the worker published a healthy runtime PID, but the parent rejected it because a virtual-environment python.exe launcher has a different PID from its base-interpreter child. The handshake now accepts only the spawned launcher itself or a verified current descendant, preserving the foreign-process safety check.

Changes

  • accept a verified Windows venv-launcher descendant as the daemon runtime;
  • reject a launcher that exits cleanly before publishing a verified worker;
  • retry bounded transient PermissionError failures while replacing daemon.health.json;
  • ensure Electron 43 downloads its binary during npm ci via Desktop postinstall;
  • replace deprecated electron-log error handling;
  • support documented --host/--port Web aliases through both CLI routing layers;
  • upgrade Web Vite/Vitest/PostCSS tooling and regenerate release artifacts;
  • expand Windows CI to cover CLI parsing, health writes, native daemon control, and descendant-runtime startup;
  • install httpx2 explicitly for the Windows TestClient suites.

Testing

All listed checks pass on native Windows 11 x64. Remaining failures: none.

  • Ruff: python -m ruff check argus_skill tests desktop
  • Windows portable test surface, including redirected-console pairing/QR cases
  • Windows core suites: CLI parser/launcher, daemon health, spawn admission/helper, native daemon control, descendant-runtime startup, WebAPI command/server/workspace tests
  • Windows collection gate for POSIX-sensitive modules
  • Native source executor reproduction under a Unicode path: start rc=0, verified runtime alive, PID-bound stop rc=0, no orphan
  • Real WebAPI flow: create session -> start background executor -> verify alive -> graceful stop -> verify stopped
  • Web: typecheck, 190 Vitest tests, production build
  • TUI: 272 tests and production bundle build
  • Desktop: typecheck, 32 identity/process/recovery tests, Electron build
  • Clean Desktop npm ci: Electron binary downloaded automatically; no Electron uninstall
  • PyInstaller frozen backend build and provider/module/-c/script/timezone verification
  • Unsigned electron-builder --win --dir package-layout validation
  • Packaged win-unpacked/Argus.exe E2E: Desktop window + frozen WebAPI + frozen background executor start/stop
  • argus --doctor --backend pi: all checks passed
  • Release manifest/event types/Web/TUI artifacts: current and consistent
  • npm audit for Web, TUI, and Desktop: 0 vulnerabilities

Related Issues

N/A — reproduced from the operator's Windows runtime logs.

Checklist

  • No sensitive data exposed
  • Linting and type checking passed
  • Unit, integration, native Windows, and packaged E2E checks passed
  • Documentation-compatible CLI behavior verified
  • Generated release artifacts refreshed
  • No remaining known test failures
  • No breaking API changes

Accept verified venv launcher descendants during executor startup, retry transient health sidecar replacements, and reject unverified clean exits.

Ensure Electron is installed after npm ci, support documented Web aliases, refresh secure frontend dependencies and artifacts, and widen Windows CI coverage.

Co-Authored-By: GPT-5.6-Sol <noreply@anthropic.com>
@Chenxxxxxx06
Chenxxxxxx06 merged commit 0a45a1f into main Aug 14, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant