Skip to content

Windows spawn follow-up: unify non-core call sites behind canonical strategy #31740

@Takhoffman

Description

@Takhoffman

Summary

Workstream 1 landed canonical Windows fixes in:

Remaining non-core spawn call sites still use mixed patterns and should be unified behind one tested Windows-safe strategy.

Scope

Unify Windows spawn behavior for these surfaces:

  • src/memory/qmd-manager.ts
  • extensions/acpx/src/runtime-internals/process.ts
  • src/agents/sandbox/docker.ts
  • src/acp/client.ts

Requirements

  • One coherent strategy for .cmd/.bat handling.
  • No duplicate wrapper patterns (shell:true + cmd /c double wrapping).
  • Explicit argument-safety guarantees where command-line synthesis is required.
  • Keep blast radius minimal; avoid unrelated refactors.

Test Gates (required)

Add targeted tests per touched surface to prove:

  • Windows .cmd shims execute successfully.
  • No regression for non-Windows paths.
  • No command mangling with quoted args/spaces.
  • No new injection surface from shell/wrapper behavior.

Acceptance Criteria

  • Shared strategy documented in code comments in the helper/call site.
  • All new tests pass locally and in CI.
  • No broad behavior changes outside Windows spawn behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    maintainerMaintainer-authored PR

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions