Daemon parity between macOS Windows and Linux

Task 9003 · Done · Coder · created · updated

Goal: jaahd and runners on macOS and Windows do what Linux does, with no Linux-only calls, no log spam and no hidden failures. - ACP runtime on both: Node.js + pinned `claude-agent-acp` in the runner prefix (and a `jaah-acp-host` launcher on Windows); drop `acp_runtime` from their denials. - Runner hooks and the control MCP server work (Node available; no "node: command not found"; runner settles via `task_complete`); project memory uses the bundle's interpreter, not `python3`. - No GNU/Linux-only calls: `setsid`, `find -printf`, call-time POSIX `os.O_*` flags (add an AST lint or flag-removed smoke run that catches them). - Node logs: read the node's own log files where there is no journal (no "systemd-journal group" spam); console can show recent redacted jaahd/runner log lines. - NodeVault identity registration stops being refused 422 on Mac/Windows. Out of scope: MicroVM; Linux behaviour (byte-identical where pinned). Done means: tests in each owning suite fail without each fix; on a real Mac and a real Windows node an API-key ACP Claude task runs with no hook errors and settles via the MCP tool; jaahd.log shows no journal or 422 lines over 10 min.

Outcome

macOS/Windows parity: ACP on both, Node on PATH, bundle interpreter, POSIX-call lint+fixes, file-based node logs, NodeVault no-422. PR #6639 merged (07481d7), deploy green. Real Mac/Windows hardware runs not verified; follow-ups in draft #9057. Memory: none applied.

Pull request

Artifacts

Activity

  • Created
  • Run
  • Runner started
  • Runner ended (done)