@synaplink/orqlaude 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -363,6 +363,13 @@ The bot uses raw `fetch` against Telegram's Bot API — zero extra deps. State i
363
363
  **Symptom: `ENOENT: no such file or directory, mkdir '/.orqlaude'` on `create_plan`.**
364
364
  Your MCP host launched orqlaude with `cwd=/`. v0.3.2+ auto-falls back to `~/.orqlaude/projects/...` but the explicit fix is to set `ORQLAUDE_STATE_DIR` in your `.mcp.json` env block (see `.mcp.json.template`). Verify with `mcp__orqlaude__ping` — it now returns `warnings` and `state_dir_source`.
365
365
 
366
+ **Symptom: `spawn_via_cli` returned a PID but `status()` shows `died_at_launch` shortly after, with a stderr_excerpt + command_line.**
367
+ This is the v0.7.0 hardening doing its job. The child `claude -p` process exited within the 1.5s healthcheck window. Read `stderr_excerpt` (or open `stderr_path` directly) for the cause. Common ones:
368
+ 1. `claude` isn't authenticated on this user account (`claude auth status` to check; `claude auth login --claudeai` to fix).
369
+ 2. The `--mcp-config` JSON references a server entry that doesn't exist (rare; orqlaude validates this pre-spawn).
370
+ 3. The user's environment lacks something `claude` needs (HOME, locale).
371
+ Copy the `command_line` field and paste it into a shell to reproduce by hand.
372
+
366
373
  **Symptom: spawn_task chip appeared, agent ran, but `status()` shows the task as `dispatched` forever.**
367
374
  The child agent isn't calling `checkin` on its first turn — its prompt didn't get the orqlaude protocol block, or `mcp__orqlaude__checkin` isn't available in the spawned session. Manual unblock: `register_spawn(plan_id, task_id, session_id)` where session_id is the child's session UUID (find via `mcp__ccd_session_mgmt__list_sessions`). For the proper fix, make sure orqlaude is in the spawned worktree's `.mcp.json` (commit `.mcp.json` to the repo so worktrees inherit it).
368
375
 
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,124 @@
1
+ import { test } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { promises as fs, existsSync } from "node:fs";
4
+ import path from "node:path";
5
+ import os from "node:os";
6
+ import { execSync } from "node:child_process";
7
+ import { isProcessAlive } from "../lib/process_lib.js";
8
+ import { spawnAgnetViaCli } from "../lib/spawn_cli.js";
9
+ /**
10
+ * v0.7.0: process-liveness + spawn robustness regression tests.
11
+ */
12
+ test("isProcessAlive: own PID is alive", () => {
13
+ assert.equal(isProcessAlive(process.pid), true);
14
+ });
15
+ test("isProcessAlive: PID 1 reports alive (init exists on every OS)", () => {
16
+ // We don't OWN pid 1, but isProcessAlive should report true via EPERM
17
+ // detection rather than returning false.
18
+ assert.equal(isProcessAlive(1), true);
19
+ });
20
+ test("isProcessAlive: impossibly large PID is dead", () => {
21
+ // 2^31 - 1 is past any realistic process table.
22
+ assert.equal(isProcessAlive(2147483647), false);
23
+ });
24
+ test("isProcessAlive: 0 / negative / undefined are dead", () => {
25
+ assert.equal(isProcessAlive(0), false);
26
+ assert.equal(isProcessAlive(-1), false);
27
+ assert.equal(isProcessAlive(undefined), false);
28
+ assert.equal(isProcessAlive(null), false);
29
+ });
30
+ test("spawnAgnetViaCli: rejects when claude binary doesn't exist", async () => {
31
+ // Build a minimal fake git repo so createWorktreeForTask doesn't fail
32
+ // earlier on its own.
33
+ const dir = await mkTempGitRepo();
34
+ await assert.rejects(() => spawnAgnetViaCli({
35
+ projectRoot: dir,
36
+ stateDir: path.join(dir, ".orqlaude"),
37
+ planId: "deadbeef-1111-2222-3333-444444444444",
38
+ taskId: "11111111-2222-3333-4444-555555555555",
39
+ agnetName: "Test",
40
+ prompt: "noop",
41
+ claudeBin: "/nonexistent/path/to/claude",
42
+ healthCheckDelayMs: 0,
43
+ }), /not executable|ENOENT|EACCES/i);
44
+ });
45
+ test("spawnAgnetViaCli: when child dies at launch, throws with stderr + commandLine", async () => {
46
+ // Use /bin/false (or `false` on PATH) — it exits immediately with code 1.
47
+ // The healthcheck should detect the dead PID and throw with autopsy info.
48
+ const falseBin = existsSync("/bin/false") ? "/bin/false" : "/usr/bin/false";
49
+ if (!existsSync(falseBin)) {
50
+ // Skip on platforms without /bin/false; the contract is otherwise
51
+ // verified by the other tests.
52
+ return;
53
+ }
54
+ const dir = await mkTempGitRepo();
55
+ await assert.rejects(() => spawnAgnetViaCli({
56
+ projectRoot: dir,
57
+ stateDir: path.join(dir, ".orqlaude"),
58
+ planId: "deadbeef-1111-2222-3333-444444444444",
59
+ taskId: "22222222-3333-4444-5555-666666666666",
60
+ agnetName: "Dies",
61
+ prompt: "this prompt should appear in the command line echo",
62
+ claudeBin: falseBin,
63
+ healthCheckDelayMs: 500, // short
64
+ }), (err) => {
65
+ // The error message must include:
66
+ // • "died at launch"
67
+ // • the command line (so we can copy-paste to reproduce)
68
+ // • mention of the prompt as the last arg
69
+ assert.match(err.message, /died at launch/i);
70
+ assert.match(err.message, /Command line:/i);
71
+ assert.match(err.message, /this prompt should appear in the command line echo/);
72
+ return true;
73
+ });
74
+ // After failure, the stderr log file should exist in the worktree.
75
+ const worktreeBase = path.join(dir, ".orqlaude-worktrees");
76
+ const found = await fs.readdir(worktreeBase);
77
+ assert.ok(found.length > 0, "expected a worktree to have been created before the spawn died");
78
+ });
79
+ test("spawnAgnetViaCli: prompt is the LAST positional argv element", async () => {
80
+ // Same /bin/false trick but assert on the exact shape of commandLine
81
+ // captured in the thrown error.
82
+ const falseBin = existsSync("/bin/false") ? "/bin/false" : "/usr/bin/false";
83
+ if (!existsSync(falseBin))
84
+ return;
85
+ const dir = await mkTempGitRepo();
86
+ let captured = null;
87
+ try {
88
+ await spawnAgnetViaCli({
89
+ projectRoot: dir,
90
+ stateDir: path.join(dir, ".orqlaude"),
91
+ planId: "deadbeef-aaaa-bbbb-cccc-dddddddddddd",
92
+ taskId: "33333333-4444-5555-6666-777777777777",
93
+ agnetName: "ArgOrder",
94
+ prompt: "ZZZ_PROMPT_SENTINEL_ZZZ",
95
+ claudeBin: falseBin,
96
+ healthCheckDelayMs: 500,
97
+ });
98
+ }
99
+ catch (err) {
100
+ captured = err.message;
101
+ }
102
+ assert.ok(captured, "expected the spawn to fail and surface the command line");
103
+ // Pull the command-line line from the error message.
104
+ const m = captured.match(/Command line:\n\s*(.+)/);
105
+ assert.ok(m, "error message should contain 'Command line:'");
106
+ const cmd = m[1];
107
+ // The last shell token should be the quoted prompt — i.e. the prompt
108
+ // sentinel should appear AFTER every --flag.
109
+ const promptIdx = cmd.lastIndexOf("ZZZ_PROMPT_SENTINEL_ZZZ");
110
+ const lastFlagIdx = Math.max(cmd.lastIndexOf("--session-id"), cmd.lastIndexOf("--output-format"), cmd.lastIndexOf("--permission-mode"), cmd.lastIndexOf("--mcp-config"));
111
+ assert.ok(promptIdx > lastFlagIdx, `prompt must appear after the last flag — got cmd=\n${cmd}`);
112
+ });
113
+ async function mkTempGitRepo() {
114
+ const raw = await fs.mkdtemp(path.join(os.tmpdir(), "orqlaude-v07-"));
115
+ const real = await fs.realpath(raw);
116
+ execSync("git init -q", { cwd: real });
117
+ execSync("git config user.email t@e", { cwd: real });
118
+ execSync("git config user.name t", { cwd: real });
119
+ // Need at least one commit so `git worktree add -b ...` succeeds.
120
+ await fs.writeFile(path.join(real, "README.md"), "test\n");
121
+ execSync("git add . && git commit -q -m init", { cwd: real });
122
+ return real;
123
+ }
124
+ //# sourceMappingURL=v07.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v07.test.js","sourceRoot":"","sources":["../../src/__tests__/v07.test.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -26,7 +26,7 @@ import { tailAudit } from "./cli/tail.js";
26
26
  import { openPlan } from "./cli/open.js";
27
27
  import { showAbout } from "./cli/about.js";
28
28
  import { runEasterEgg } from "./cli/easter_egg.js";
29
- const VERSION = "0.6.1";
29
+ const VERSION = "0.7.0";
30
30
  /**
31
31
  * orqlaude CLI — read-only inspection of state + audit log + Telegram setup
32
32
  * and run.
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Tiny process-tracking helpers used by spawn_via_cli + status().
3
+ *
4
+ * Centralized so the "is this child still alive" check has one source of
5
+ * truth and stays consistent across both code paths.
6
+ */
7
+ export declare function isProcessAlive(pid: number | undefined | null): boolean;
8
+ export declare function sleep(ms: number): Promise<void>;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Tiny process-tracking helpers used by spawn_via_cli + status().
3
+ *
4
+ * Centralized so the "is this child still alive" check has one source of
5
+ * truth and stays consistent across both code paths.
6
+ */
7
+ export function isProcessAlive(pid) {
8
+ if (!pid || pid <= 0)
9
+ return false;
10
+ try {
11
+ // Signal 0 doesn't actually send a signal — just checks permission /
12
+ // existence. Throws ESRCH if the PID is gone, EPERM if it exists but
13
+ // we don't own it (in which case it IS alive). Treat both correctly.
14
+ process.kill(pid, 0);
15
+ return true;
16
+ }
17
+ catch (err) {
18
+ if (err?.code === "EPERM")
19
+ return true; // alive, just not ours
20
+ return false;
21
+ }
22
+ }
23
+ export function sleep(ms) {
24
+ return new Promise((res) => setTimeout(res, ms));
25
+ }
26
+ //# sourceMappingURL=process_lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process_lib.js","sourceRoot":"","sources":["../../src/lib/process_lib.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,UAAU,cAAc,CAAC,GAA8B;IAC3D,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC;QACH,qEAAqE;QACrE,qEAAqE;QACrE,qEAAqE;QACrE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,CAAC,uBAAuB;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC"}
@@ -1,18 +1,21 @@
1
1
  /**
2
2
  * orqlaude-owned spawning path — sidesteps the host's choice of tool.
3
3
  *
4
- * Why this exists: the host's `Agent` tool runs the spawned worker in the
5
- * SAME worktree as the orchestrator, so concurrent siblings collide on git
6
- * operations. The host's `mcp__ccd_session__spawn_task` does create a
7
- * worktree but the orchestrator can pick the wrong tool by habit. Solving
8
- * this from inside orqlaude means owning the spawn end-to-end: we create
9
- * a dedicated worktree per task, pre-allocate the session id, and exec
10
- * `claude -p` directly.
11
- *
12
- * The cost is that the spawned session won't appear in the Claude Desktop
13
- * sidebar until the app restarts (the JSONL lives in ~/.claude/projects/
14
- * but the in-memory cache doesn't see it). That's an acceptable tradeoff
15
- * for correctness.
4
+ * v0.7.0 hardening:
5
+ * Prompt is the LAST positional arg. The Claude CLI parses
6
+ * `[options] [command] [prompt]`; putting the prompt mid-list led to
7
+ * it being interpreted as a `[command]` name and silently bailing.
8
+ * stderr + stdout captured to `<worktree>/.orqlaude.stderr.log` and
9
+ * `<worktree>/.orqlaude.stdout.log` so we have something to autopsy
10
+ * when a child dies at launch.
11
+ * • Post-spawn healthcheck: sleep ~1.5s, verify the PID is still alive
12
+ * and (when possible) that a JSONL file has appeared. If the child
13
+ * died, we throw with the stderr contents + the exact command line
14
+ * for reproducibility instead of returning a misleading success.
15
+ * The exact command line is recorded on the Task in state so the
16
+ * orchestrator can re-run it by hand for debugging.
17
+ * • Pre-spawn validation: confirm the resolved `claude` binary is
18
+ * executable; confirm the inline --mcp-config JSON parses.
16
19
  */
17
20
  export interface SpawnViaCliResult {
18
21
  worktreePath: string;
@@ -20,6 +23,10 @@ export interface SpawnViaCliResult {
20
23
  sessionId: string;
21
24
  pid: number;
22
25
  jsonlPath: string;
26
+ /** The full `claude -p ...` command we ran (argv joined with shell-safe quoting). */
27
+ commandLine: string;
28
+ stderrPath: string;
29
+ stdoutPath: string;
23
30
  }
24
31
  export interface SpawnViaCliInput {
25
32
  projectRoot: string;
@@ -29,34 +36,14 @@ export interface SpawnViaCliInput {
29
36
  agnetName?: string;
30
37
  prompt: string;
31
38
  branchHint?: string;
32
- /** Per-task token cap. Wired into --max-budget-usd if model pricing is known;
33
- * primarily here for the future when claude exposes --max-budget-tokens. */
34
39
  budgetCapUsd?: number;
35
40
  permissionMode?: "bypassPermissions" | "acceptEdits" | "default";
36
- /** Override which claude binary to invoke. Defaults to discoverClaudeBinary(). */
37
41
  claudeBin?: string;
42
+ /** Override the default 1500 ms healthcheck delay (mainly for tests). */
43
+ healthCheckDelayMs?: number;
38
44
  }
39
- /**
40
- * Find the `claude` binary in priority order:
41
- * 1. CLAUDE_BIN env var (explicit override)
42
- * 2. `which claude` on PATH
43
- * 3. macOS bundled location:
44
- * ~/Library/Application Support/Claude/claude-code/<version>/claude.app/Contents/MacOS/claude
45
- */
46
45
  export declare function discoverClaudeBinary(): string;
47
- /**
48
- * Find the project's git root. We look upward from `start` for `.git` (dir
49
- * or file). If `start` is already in a worktree, the worktree's `.git` file
50
- * points back at the main checkout — for spawning fresh worktrees we want
51
- * the MAIN checkout, not a sibling.
52
- */
53
46
  export declare function findGitRoot(start: string): string;
54
- /**
55
- * Create a fresh worktree dedicated to one task. Worktree path:
56
- * <project_root>/.orqlaude-worktrees/<plan_short>-<agnet_or_task>
57
- *
58
- * Returns the absolute path and the branch name created.
59
- */
60
47
  export declare function createWorktreeForTask(input: {
61
48
  projectRoot: string;
62
49
  planId: string;
@@ -68,12 +55,16 @@ export declare function createWorktreeForTask(input: {
68
55
  branch: string;
69
56
  }>;
70
57
  /**
71
- * Spawn a fresh worktree + a `claude -p` process bound to a pre-allocated
72
- * session id. Returns immediately the child runs detached.
58
+ * Spawn `claude -p` for one task. The flow:
59
+ * 1. Validate claude binary + mcp-config JSON.
60
+ * 2. Create the worktree.
61
+ * 3. Allocate session id + paths.
62
+ * 4. Open stderr/stdout log files inside the worktree.
63
+ * 5. Spawn detached.
64
+ * 6. Healthcheck — sleep ~1.5s, verify the process is alive AND the JSONL
65
+ * has been touched. If either check fails, kill any stragglers, read
66
+ * stderr, throw with full context.
73
67
  */
74
68
  export declare function spawnAgnetViaCli(input: SpawnViaCliInput): Promise<SpawnViaCliResult>;
75
- /**
76
- * Remove all orqlaude-managed worktrees for a plan. Safe-by-default: only
77
- * touches paths under <project>/.orqlaude-worktrees/<plan_short>-*.
78
- */
79
69
  export declare function cleanupPlanWorktrees(projectRoot: string, planId: string): Promise<string[]>;
70
+ export { isProcessAlive } from "./process_lib.js";
@@ -1,16 +1,11 @@
1
1
  import { execSync, spawn } from "node:child_process";
2
- import { promises as fs, existsSync, readdirSync, statSync, readFileSync } from "node:fs";
2
+ import { promises as fs, existsSync, readdirSync, statSync, readFileSync, accessSync, constants } from "node:fs";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
5
5
  import { randomUUID } from "node:crypto";
6
6
  import { fileURLToPath } from "node:url";
7
- /**
8
- * Find the `claude` binary in priority order:
9
- * 1. CLAUDE_BIN env var (explicit override)
10
- * 2. `which claude` on PATH
11
- * 3. macOS bundled location:
12
- * ~/Library/Application Support/Claude/claude-code/<version>/claude.app/Contents/MacOS/claude
13
- */
7
+ import { isProcessAlive, sleep } from "./process_lib.js";
8
+ const DEFAULT_HEALTHCHECK_MS = 1500;
14
9
  export function discoverClaudeBinary() {
15
10
  if (process.env.CLAUDE_BIN && existsSync(process.env.CLAUDE_BIN)) {
16
11
  return process.env.CLAUDE_BIN;
@@ -23,11 +18,9 @@ export function discoverClaudeBinary() {
23
18
  catch {
24
19
  /* not on PATH */
25
20
  }
26
- // macOS bundled path probe.
27
21
  const bundleRoot = path.join(os.homedir(), "Library", "Application Support", "Claude", "claude-code");
28
22
  try {
29
23
  const entries = readdirSync(bundleRoot);
30
- // Highest semver-looking dir wins.
31
24
  const versions = entries.filter((e) => /^\d/.test(e)).sort().reverse();
32
25
  for (const v of versions) {
33
26
  const candidate = path.join(bundleRoot, v, "claude.app", "Contents", "MacOS", "claude");
@@ -38,14 +31,8 @@ export function discoverClaudeBinary() {
38
31
  catch {
39
32
  /* no bundle */
40
33
  }
41
- throw new Error("claude binary not found. Set CLAUDE_BIN env var, install Claude Code globally, or run from a machine with the Desktop app installed.");
34
+ throw new Error("claude binary not found. Set CLAUDE_BIN env var, install Claude Code globally (`npm i -g @anthropic-ai/claude-cli`), or run from a machine with the Desktop app installed.");
42
35
  }
43
- /**
44
- * Find the project's git root. We look upward from `start` for `.git` (dir
45
- * or file). If `start` is already in a worktree, the worktree's `.git` file
46
- * points back at the main checkout — for spawning fresh worktrees we want
47
- * the MAIN checkout, not a sibling.
48
- */
49
36
  export function findGitRoot(start) {
50
37
  let dir = path.resolve(start);
51
38
  while (true) {
@@ -53,11 +40,10 @@ export function findGitRoot(start) {
53
40
  if (existsSync(dotGit)) {
54
41
  const stat = statSync(dotGit);
55
42
  if (stat.isFile()) {
56
- // worktree pointer: gitdir: <main>/.git/worktrees/<n>
57
43
  const content = readFileSync(dotGit, "utf8");
58
44
  const m = content.match(/^gitdir:\s*(.+?)\/worktrees\/[^\/\s]+\s*$/m);
59
45
  if (m)
60
- return path.dirname(m[1]); // strip /.git to get main checkout
46
+ return path.dirname(m[1]);
61
47
  }
62
48
  return dir;
63
49
  }
@@ -67,22 +53,16 @@ export function findGitRoot(start) {
67
53
  dir = parent;
68
54
  }
69
55
  }
70
- /**
71
- * Create a fresh worktree dedicated to one task. Worktree path:
72
- * <project_root>/.orqlaude-worktrees/<plan_short>-<agnet_or_task>
73
- *
74
- * Returns the absolute path and the branch name created.
75
- */
76
56
  export async function createWorktreeForTask(input) {
77
57
  const planShort = input.planId.slice(0, 8);
78
- const agnetSlug = (input.agnetName ?? input.taskId.slice(0, 8)).toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "") || "agnet";
58
+ const agnetSlug = (input.agnetName ?? input.taskId.slice(0, 8))
59
+ .toLowerCase()
60
+ .replace(/[^a-z0-9]+/g, "-")
61
+ .replace(/^-|-$/g, "") || "agnet";
79
62
  const worktreeBase = path.join(input.projectRoot, ".orqlaude-worktrees");
80
63
  await fs.mkdir(worktreeBase, { recursive: true });
81
64
  const wtPath = path.join(worktreeBase, `${planShort}-${agnetSlug}`);
82
- const branch = input.branchHint
83
- ? input.branchHint
84
- : `fleet/${planShort}/${agnetSlug}`;
85
- // If the worktree already exists, reuse it (idempotent).
65
+ const branch = input.branchHint ? input.branchHint : `fleet/${planShort}/${agnetSlug}`;
86
66
  if (existsSync(wtPath)) {
87
67
  return { path: wtPath, branch };
88
68
  }
@@ -90,7 +70,6 @@ export async function createWorktreeForTask(input) {
90
70
  execSync(`git worktree add "${wtPath}" -b "${branch}"`, { cwd: input.projectRoot, stdio: "pipe" });
91
71
  }
92
72
  catch (err) {
93
- // Branch might already exist; retry without -b.
94
73
  const msg = (err.stderr?.toString?.() ?? err.message ?? "").toLowerCase();
95
74
  if (msg.includes("already exists")) {
96
75
  execSync(`git worktree add "${wtPath}" "${branch}"`, { cwd: input.projectRoot, stdio: "pipe" });
@@ -101,11 +80,6 @@ export async function createWorktreeForTask(input) {
101
80
  }
102
81
  return { path: wtPath, branch };
103
82
  }
104
- /**
105
- * Build a `--mcp-config` JSON inline so the spawned claude session loads
106
- * orqlaude with the parent's state dir. The child's `process.cwd()` will be
107
- * the worktree, but its ORQLAUDE_STATE_DIR points back at the parent.
108
- */
109
83
  function buildMcpConfig(serverEntryPath, stateDir) {
110
84
  return JSON.stringify({
111
85
  mcpServers: {
@@ -117,12 +91,49 @@ function buildMcpConfig(serverEntryPath, stateDir) {
117
91
  },
118
92
  });
119
93
  }
94
+ function quoteArg(s) {
95
+ // Shell-safe single-quote wrapping for the command-line echo. Doesn't
96
+ // change what we pass via execve — we never actually run a shell — just
97
+ // makes the echoed line copy-pasteable.
98
+ if (/^[A-Za-z0-9._/=:-]+$/.test(s))
99
+ return s;
100
+ return `'${s.replace(/'/g, `'\\''`)}'`;
101
+ }
120
102
  /**
121
- * Spawn a fresh worktree + a `claude -p` process bound to a pre-allocated
122
- * session id. Returns immediately the child runs detached.
103
+ * Spawn `claude -p` for one task. The flow:
104
+ * 1. Validate claude binary + mcp-config JSON.
105
+ * 2. Create the worktree.
106
+ * 3. Allocate session id + paths.
107
+ * 4. Open stderr/stdout log files inside the worktree.
108
+ * 5. Spawn detached.
109
+ * 6. Healthcheck — sleep ~1.5s, verify the process is alive AND the JSONL
110
+ * has been touched. If either check fails, kill any stragglers, read
111
+ * stderr, throw with full context.
123
112
  */
124
113
  export async function spawnAgnetViaCli(input) {
125
114
  const claudeBin = input.claudeBin ?? discoverClaudeBinary();
115
+ // 1a. Validate the binary is executable.
116
+ try {
117
+ accessSync(claudeBin, constants.X_OK);
118
+ }
119
+ catch {
120
+ throw new Error(`claude binary ${claudeBin} is not executable. Check permissions or set CLAUDE_BIN to a working binary.`);
121
+ }
122
+ // 1b. Validate mcp-config JSON parses (sanity check; we built it ourselves).
123
+ const thisFile = fileURLToPath(import.meta.url);
124
+ const serverEntry = path.resolve(path.dirname(thisFile), "..", "server.js");
125
+ const mcpConfig = buildMcpConfig(serverEntry, input.stateDir);
126
+ try {
127
+ JSON.parse(mcpConfig);
128
+ }
129
+ catch (err) {
130
+ throw new Error(`Internal: built malformed --mcp-config JSON: ${err.message}`);
131
+ }
132
+ // 1c. Validate server entry exists (otherwise the child will fail to load orqlaude).
133
+ if (!existsSync(serverEntry)) {
134
+ throw new Error(`orqlaude server entry not found at ${serverEntry}. Reinstall: npm i -g @synaplink/orqlaude`);
135
+ }
136
+ // 2. Worktree.
126
137
  const wt = await createWorktreeForTask({
127
138
  projectRoot: input.projectRoot,
128
139
  planId: input.planId,
@@ -130,14 +141,20 @@ export async function spawnAgnetViaCli(input) {
130
141
  agnetName: input.agnetName,
131
142
  branchHint: input.branchHint,
132
143
  });
144
+ // 3. Session id + JSONL path.
133
145
  const sessionId = randomUUID();
134
- // Path to orqlaude's server.js derived from this file's location.
135
- const thisFile = fileURLToPath(import.meta.url);
136
- const serverEntry = path.resolve(path.dirname(thisFile), "..", "server.js");
137
- const mcpConfig = buildMcpConfig(serverEntry, input.stateDir);
146
+ const home = process.env.HOME ?? process.env.USERPROFILE ?? "";
147
+ const jsonlPath = path.join(home, ".claude", "projects", wt.path.replace(/\//g, "-"), `${sessionId}.jsonl`);
148
+ // 4. Log files.
149
+ const stderrPath = path.join(wt.path, ".orqlaude.stderr.log");
150
+ const stdoutPath = path.join(wt.path, ".orqlaude.stdout.log");
151
+ const stderrFh = await fs.open(stderrPath, "w");
152
+ const stdoutFh = await fs.open(stdoutPath, "w");
153
+ // 5. Build argv — prompt is the LAST positional. Putting it earlier was
154
+ // causing claude to interpret natural-language prompts as a [command]
155
+ // name and exit silently. See v0.7.0 changelog.
138
156
  const args = [
139
- "-p",
140
- input.prompt,
157
+ "--print",
141
158
  "--session-id",
142
159
  sessionId,
143
160
  "--output-format",
@@ -150,32 +167,51 @@ export async function spawnAgnetViaCli(input) {
150
167
  if (input.budgetCapUsd) {
151
168
  args.push("--max-budget-usd", String(input.budgetCapUsd));
152
169
  }
153
- // JSONL ends up at ~/.claude/projects/<encoded-cwd>/<sessionId>.jsonl.
154
- const home = process.env.HOME ?? process.env.USERPROFILE ?? "";
155
- const jsonlPath = path.join(home, ".claude", "projects", wt.path.replace(/\//g, "-"), `${sessionId}.jsonl`);
156
- // Spawn detached so it survives the MCP tool call return.
170
+ args.push(input.prompt); // positional must be LAST
171
+ const commandLine = `${quoteArg(claudeBin)} ${args.map(quoteArg).join(" ")}`;
172
+ // 6. Spawn detached with stdio piped to our log files.
157
173
  const child = spawn(claudeBin, args, {
158
174
  cwd: wt.path,
159
175
  detached: true,
160
- stdio: "ignore",
176
+ stdio: ["ignore", stdoutFh.fd, stderrFh.fd],
161
177
  env: {
162
178
  ...process.env,
163
179
  ORQLAUDE_STATE_DIR: input.stateDir,
164
180
  },
165
181
  });
182
+ // Close our FDs — the child holds its own dup'd copies via stdio.
183
+ await stderrFh.close().catch(() => { });
184
+ await stdoutFh.close().catch(() => { });
185
+ const pid = child.pid ?? -1;
166
186
  child.unref();
187
+ // 7. Healthcheck.
188
+ const delay = input.healthCheckDelayMs ?? DEFAULT_HEALTHCHECK_MS;
189
+ if (delay > 0) {
190
+ await sleep(delay);
191
+ const alive = isProcessAlive(pid);
192
+ if (!alive) {
193
+ // The process is gone within the healthcheck window — almost certainly
194
+ // an immediate exit. Build a useful error message with the autopsy
195
+ // material so the orchestrator can act on it.
196
+ const stderrSnippet = await readSafe(stderrPath, 2000);
197
+ const stdoutSnippet = await readSafe(stdoutPath, 2000);
198
+ throw new Error(`Spawned child died at launch (pid=${pid}). The process is gone within ${delay}ms of spawn — claude probably exited on a parse / auth / env error. ` +
199
+ `Command line:\n ${commandLine}\n\n` +
200
+ (stderrSnippet ? `stderr (${stderrPath}):\n${stderrSnippet}\n\n` : `stderr (${stderrPath}) is empty.\n\n`) +
201
+ (stdoutSnippet ? `stdout (${stdoutPath}):\n${stdoutSnippet}` : ""));
202
+ }
203
+ }
167
204
  return {
168
205
  worktreePath: wt.path,
169
206
  branch: wt.branch,
170
207
  sessionId,
171
- pid: child.pid ?? -1,
208
+ pid,
172
209
  jsonlPath,
210
+ commandLine,
211
+ stderrPath,
212
+ stdoutPath,
173
213
  };
174
214
  }
175
- /**
176
- * Remove all orqlaude-managed worktrees for a plan. Safe-by-default: only
177
- * touches paths under <project>/.orqlaude-worktrees/<plan_short>-*.
178
- */
179
215
  export async function cleanupPlanWorktrees(projectRoot, planId) {
180
216
  const planShort = planId.slice(0, 8);
181
217
  const base = path.join(projectRoot, ".orqlaude-worktrees");
@@ -196,7 +232,6 @@ export async function cleanupPlanWorktrees(projectRoot, planId) {
196
232
  removed.push(wt);
197
233
  }
198
234
  catch {
199
- // Worktree might be in an inconsistent state. Force-remove the dir.
200
235
  try {
201
236
  await fs.rm(wt, { recursive: true, force: true });
202
237
  removed.push(wt);
@@ -208,4 +243,15 @@ export async function cleanupPlanWorktrees(projectRoot, planId) {
208
243
  }
209
244
  return removed;
210
245
  }
246
+ async function readSafe(p, maxBytes) {
247
+ try {
248
+ const content = await fs.readFile(p, "utf8");
249
+ return content.slice(0, maxBytes);
250
+ }
251
+ catch {
252
+ return "";
253
+ }
254
+ }
255
+ // Re-export for callers who used to import these from spawn_cli.
256
+ export { isProcessAlive } from "./process_lib.js";
211
257
  //# sourceMappingURL=spawn_cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spawn_cli.js","sourceRoot":"","sources":["../../src/lib/spawn_cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn_cli.js","sourceRoot":"","sources":["../../src/lib/spawn_cli.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,11 @@
16
16
  *
17
17
  * Schema v2: tokens-first budgets, file claims, lifecycle hooks.
18
18
  */
19
- export type TaskStatus = "pending" | "dispatched" | "running" | "done" | "failed" | "cancelled";
19
+ export type TaskStatus = "pending" | "dispatched" | "running" | "done" | "failed" | "cancelled"
20
+ /** v0.7.0+: spawn_via_cli succeeded the initial process-create but the
21
+ * child exited before producing any JSONL. status() flips a task here
22
+ * when PID is dead AND last_activity_at is null. */
23
+ | "died_at_launch";
20
24
  export type PlanStatus = "draft" | "estimating" | "awaiting_approval" | "approved" | "dispatching" | "running" | "collected" | "cancelled" | "cancelled_overbudget";
21
25
  export interface Task {
22
26
  id: string;
@@ -32,6 +36,15 @@ export interface Task {
32
36
  worktreePath?: string;
33
37
  /** v0.5.3+: feature branch the worktree is on. */
34
38
  worktreeBranch?: string;
39
+ /** v0.7.0+: detached child PID. status() uses this to detect children
40
+ * that died silently. */
41
+ pid?: number;
42
+ /** v0.7.0+: shell-quoted command line spawn_via_cli actually ran. Useful
43
+ * for the orchestrator to reproduce a failure by hand. */
44
+ commandLine?: string;
45
+ /** v0.7.0+: paths to the captured stdout/stderr log files. */
46
+ stderrPath?: string;
47
+ stdoutPath?: string;
35
48
  /** v0.5+: Human-friendly Agnet designation (e.g. "Zenith"). Used in CLI
36
49
  * output and Telegram notifications. Stable per task_id. */
37
50
  agnetName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -23,7 +23,7 @@ const store = new StateStore(stateDir);
23
23
  const audit = new AuditLog(stateDir);
24
24
  const server = new McpServer({
25
25
  name: "orqlaude",
26
- version: "0.6.1",
26
+ version: "0.7.0",
27
27
  });
28
28
  registerPing(server);
29
29
  registerPlanning(server, store, audit);
@@ -3,7 +3,9 @@ import { findPlan, findTask } from "../lib/state.js";
3
3
  import { jsonlPathFor, snapshotSession } from "../lib/jsonl_tail.js";
4
4
  import { detectHallucination, extractToolUses } from "../lib/hallucination.js";
5
5
  import { spawnAgnetViaCli, findGitRoot, cleanupPlanWorktrees } from "../lib/spawn_cli.js";
6
+ import { isProcessAlive } from "../lib/process_lib.js";
6
7
  import { resolveStateDir } from "../lib/state_dir.js";
8
+ import { promises as fs } from "node:fs";
7
9
  /**
8
10
  * Dispatch-phase tools: next_task, register_spawn, status, collect.
9
11
  *
@@ -113,9 +115,15 @@ export function registerDispatch(server, store, audit) {
113
115
  claudeBin: claude_bin,
114
116
  });
115
117
  // Pre-register the session so checkin from the child is idempotent.
118
+ // v0.7.0: also record pid + command line + log file paths for
119
+ // post-mortem and PID-liveness checks in status().
116
120
  task.spawnedSessionId = spawn.sessionId;
117
121
  task.worktreePath = spawn.worktreePath;
118
122
  task.worktreeBranch = spawn.branch;
123
+ task.pid = spawn.pid;
124
+ task.commandLine = spawn.commandLine;
125
+ task.stderrPath = spawn.stderrPath;
126
+ task.stdoutPath = spawn.stdoutPath;
119
127
  task.status = "running";
120
128
  task.startedAt = Date.now();
121
129
  return {
@@ -127,7 +135,10 @@ export function registerDispatch(server, store, audit) {
127
135
  branch: spawn.branch,
128
136
  pid: spawn.pid,
129
137
  jsonl_path: spawn.jsonlPath,
130
- next_step: "The Agnet is running detached. Poll status(plan_id) for activity, or read the JSONL directly. The child will call checkin on its first turn — but since we pre-registered the session, that call will be idempotent.",
138
+ command_line: spawn.commandLine,
139
+ stderr_path: spawn.stderrPath,
140
+ stdout_path: spawn.stdoutPath,
141
+ next_step: "The Agnet is running detached. Poll status(plan_id) for activity. If the child dies silently, status() detects it via PID liveness and flips the task to status=`died_at_launch` with a stderr snippet you can use to debug.",
131
142
  };
132
143
  });
133
144
  return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
@@ -176,10 +187,36 @@ export function registerDispatch(server, store, audit) {
176
187
  const snap = await snapshotSession(cwd, t.spawnedSessionId);
177
188
  const toolUses = await extractToolUses(jsonlPathFor(cwd, t.spawnedSessionId));
178
189
  const hallu = await detectHallucination(toolUses, cwd);
190
+ const taskWarnings = [];
191
+ // v0.7.0: PID-liveness check. If we have a recorded pid and it's
192
+ // no longer alive AND there's no JSONL activity, the child died
193
+ // silently — flip the task to died_at_launch so the orchestrator
194
+ // stops polling a corpse.
195
+ let derivedStatus = snap.terminated ? "done" : t.status;
196
+ let stderrExcerpt = null;
197
+ if (t.pid &&
198
+ !isProcessAlive(t.pid) &&
199
+ !snap.exists &&
200
+ !snap.lastActivityAt &&
201
+ (t.status === "running" || t.status === "dispatched")) {
202
+ derivedStatus = "died_at_launch";
203
+ if (t.stderrPath) {
204
+ try {
205
+ const buf = await fs.readFile(t.stderrPath, "utf8");
206
+ stderrExcerpt = buf.slice(0, 1000);
207
+ }
208
+ catch {
209
+ /* file missing or unreadable */
210
+ }
211
+ }
212
+ taskWarnings.push(`Child PID ${t.pid} is dead and no JSONL was written. ` +
213
+ `Inspect stderr at ${t.stderrPath ?? "(unknown)"} or re-run the command: ${t.commandLine ?? "(unknown)"}`);
214
+ // Persist the new status so subsequent calls don't redo this.
215
+ t.status = "died_at_launch";
216
+ }
179
217
  // Per-task soft budget warning: if the task has a budgetHintTokens
180
218
  // hint and we've blown past 70% of it, surface a yellow flag so the
181
219
  // orchestrator can intervene before the plan-wide hard cap fires.
182
- const taskWarnings = [];
183
220
  if (t.budgetHintTokens && snap.totalEffectiveTokens > 0.7 * t.budgetHintTokens) {
184
221
  const pct = Math.round((snap.totalEffectiveTokens / t.budgetHintTokens) * 100);
185
222
  taskWarnings.push(`task at ${pct}% of hint (${snap.totalEffectiveTokens.toLocaleString()} / ${t.budgetHintTokens.toLocaleString()} tokens). Consider request_stop if it's stalling.`);
@@ -187,8 +224,10 @@ export function registerDispatch(server, store, audit) {
187
224
  return {
188
225
  task_id: t.id,
189
226
  title: t.title,
190
- status: snap.terminated ? "done" : t.status,
227
+ status: derivedStatus,
191
228
  session_id: t.spawnedSessionId,
229
+ pid: t.pid ?? null,
230
+ pid_alive: t.pid ? isProcessAlive(t.pid) : null,
192
231
  tokens_used: snap.totalEffectiveTokens,
193
232
  budget_hint_tokens: t.budgetHintTokens ?? null,
194
233
  cost_usd: snap.totalCostUsd,
@@ -201,6 +240,9 @@ export function registerDispatch(server, store, audit) {
201
240
  hallucination: { score: hallu.score, level: hallu.level, concerns: hallu.concerns },
202
241
  warnings: taskWarnings,
203
242
  stop_requested: t.stopRequested ?? null,
243
+ stderr_excerpt: stderrExcerpt,
244
+ stderr_path: t.stderrPath ?? null,
245
+ command_line: t.commandLine ?? null,
204
246
  };
205
247
  }));
206
248
  const totalTokens = snapshots.reduce((sum, s) => sum + (s.tokens_used ?? 0), 0);
@@ -249,6 +291,17 @@ export function registerDispatch(server, store, audit) {
249
291
  const concerningAgents = snapshots
250
292
  .filter((s) => s.hallucination && s.hallucination.score >= 0.3)
251
293
  .map((s) => ({ task_id: s.task_id, title: s.title, level: s.hallucination.level, concerns: s.hallucination.concerns }));
294
+ // ---- aggregated died-at-launch warning ------------------------------
295
+ const deadAgents = snapshots
296
+ .filter((s) => s.status === "died_at_launch")
297
+ .map((s) => ({
298
+ task_id: s.task_id,
299
+ title: s.title,
300
+ pid: s.pid,
301
+ stderr_path: s.stderr_path,
302
+ stderr_excerpt: s.stderr_excerpt,
303
+ command_line: s.command_line,
304
+ }));
252
305
  return {
253
306
  content: [
254
307
  {
@@ -262,14 +315,17 @@ export function registerDispatch(server, store, audit) {
262
315
  total_cost_usd: totalCost,
263
316
  hallucination_alerts: concerningAgents,
264
317
  orphan_alerts: orphans,
318
+ died_at_launch_alerts: deadAgents,
265
319
  agents: snapshots,
266
- next_step: orphans.length > 0
267
- ? `${orphans.length} Agnet(s) appear orphaneddispatched > 60s without self-registering via checkin. Likely cause: spawn used host Agent tool instead of mcp__ccd_session__spawn_task. Check orphan_alerts[].remedy.`
268
- : concerningAgents.length > 0
269
- ? "One or more agents show hallucination signs. Consider `send_message` to nudge, or `kill_task` if the agent is irrecoverable."
270
- : autoCancelled
271
- ? "Fleet auto-cancelled (overbudget). STOP messages queued to all running children."
272
- : undefined,
320
+ next_step: deadAgents.length > 0
321
+ ? `${deadAgents.length} Agnet(s) died at launch claude -p exited before writing any JSONL. Each entry has a stderr_excerpt + command_line for debugging. Common causes: auth not configured (run \`claude auth login\`), malformed --mcp-config, or the prompt parsed as a subcommand name.`
322
+ : orphans.length > 0
323
+ ? `${orphans.length} Agnet(s) appear orphaned dispatched > 60s without self-registering via checkin. Likely cause: spawn used host Agent tool instead of mcp__ccd_session__spawn_task. Check orphan_alerts[].remedy.`
324
+ : concerningAgents.length > 0
325
+ ? "One or more agents show hallucination signs. Consider `send_message` to nudge, or `kill_task` if the agent is irrecoverable."
326
+ : autoCancelled
327
+ ? "Fleet auto-cancelled (overbudget). STOP messages queued to all running children."
328
+ : undefined,
273
329
  }, null, 2),
274
330
  },
275
331
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/tools/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/tools/dispatch.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export function registerPing(server) {
21
21
  const payload = {
22
22
  ok: warnings.length === 0,
23
23
  server: "orqlaude",
24
- version: "0.6.1",
24
+ version: "0.7.0",
25
25
  cwd: realCwd,
26
26
  cwd_source: stateRes.cwdSource,
27
27
  state_dir: stateRes.path,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synaplink/orqlaude",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "description": "Multi-agent orchestrator for Claude Code. One primary session decomposes a complex task, gets a single budget approval, then dispatches N parallel Agnets via the Desktop app's native spawn_task (with explicit fallbacks). Tracks cost/status via JSONL tails; brokers messages between Agnets; streams to Telegram; detects hallucination; manages PRs.",
5
5
  "type": "module",
6
6
  "bin": {