You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ACP: Windows process-tree support (job objects / taskkill, win32 branching, safe-env keys) — dropped from the #2599 split #2805
The PR #2599 split (ACP/Devin provider integration, landed as the 10-PR stack ending with #2795) deliberately shipped POSIX-only process management. Windows support was the most frequently dropped item across the slice PRs — called out in #2689, #2698, #2699, and #2711 (the 8/10 slice, landed as #2783/#2786/#2790/#2792). This issue tracks everything needed to bring the ACP runtime up on Windows.
packages/daemon/src/lib/acp/acp-process-tree.ts exists but is POSIX process-group only. The only win32 awareness anywhere is the probe in acpProcessGroupAlive (process.kill(platform === 'win32' ? pid : -pid, 0)); termination is process.kill(-pid, ...) group signaling, which does not exist on Windows.
acp-transport.ts already spawns with detached: process.platform !== 'win32' and windowsHide: true, so the transport side is Windows-ready in shape, but the kill path is not.
The daemon-side safe-env allowlist in acp-command.ts retains the Windows keys (USERPROFILE, APPDATA, LOCALAPPDATA, TEMP, TMP, SystemRoot, SystemDrive, PATHEXT, COMSPEC).
Work items
acp-process-tree-windows.ts — restore the Windows process-tree owner (job-object and/or taskkill FFI path) dropped from feat(daemon): ACP terminal manager with POSIX process-tree cleanup #2699, plus the win32 branching in acp-process-tree.ts and acp-terminal-manager.ts (spawn/escalation paths).
win32 case-insensitive env-key normalization in buildAcpProcessEnv (dropped from the 8/10 slice as "speculative portability" while cleanup was POSIX-only — it stops being speculative once item 1 lands).
Parked under #4877 (parked-not-dogfood) by the 2026-09-19 correctness pass.
The filter: does a person or an agent get a wrong answer, lose data, or reach a state with no way out? If yes it is correctness and stays on the main path; if it only enforces, tidies, documents or restructures, it parks until the daemon is dogfoodable.
ACP is not on the dogfood path; this is platform or hardening work on it.
Not rejected and not closed — the analysis here still stands, and this set gets picked up in one motion once dogfooding is unblocked. Reopen the priority by removing the label if you think the filter was misapplied.
Activity
lsm commentedon Sep 19, 2026
Parked under #4877 (
parked-not-dogfood) by the 2026-09-19 correctness pass.The filter: does a person or an agent get a wrong answer, lose data, or reach a state with no way out? If yes it is correctness and stays on the main path; if it only enforces, tidies, documents or restructures, it parks until the daemon is dogfoodable.
ACP is not on the dogfood path; this is platform or hardening work on it.
Not rejected and not closed — the analysis here still stands, and this set gets picked up in one motion once dogfooding is unblocked. Reopen the priority by removing the label if you think the filter was misapplied.