@veewo/claw 0.1.68 → 0.1.70

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/dist/cli.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import fs from "node:fs";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
+ import { createHash } from "node:crypto";
5
6
  import { spawn, spawnSync } from "node:child_process";
6
7
  import { buildDirectWorkflowGuidance, checkProjectProtocol, ClawError, buildPlanWorkflowGuidance, buildMemoryIndex, buildSessionStartDefaultPrompt, buildSessionStartRecoveredPrompt, editPlan, ensureProjectProtocol, enforceTaskRetention, ingestTruth, initProject, getTemplateTaskDoneChoices, resolvePlanTemplateFile, resolveProjectContext, resolveSessionBoundPlan, resolveContext, resolveSeedPlanTemplate, searchMemory, showPlan, createSubplan, switchTask, unbindSession, writePlan, } from "@veewo/claw-core";
7
8
  const CLI_VERSION = readCliVersion();
@@ -9,7 +10,7 @@ const TOP_LEVEL_COMMANDS = [
9
10
  { name: "init [options]", summary: "Initialize and normalize the .claw project surface." },
10
11
  { name: "context [--task <name>]", summary: "Resolve project context, auto-initializing or correcting .claw state." },
11
12
  { name: "check", summary: "Check and auto-correct .claw project protocol fields." },
12
- { name: "plan <subcommand> [options]", summary: "Plan lifecycle: create, edit, show, done." },
13
+ { name: "plan <subcommand> [options]", summary: "Plan lifecycle: create, start, edit, show, done." },
13
14
  { name: "template <subcommand> [options]", summary: "Plan template helpers such as validation." },
14
15
  { name: "task <subcommand> [options]", summary: "Task lifecycle helpers inside an existing plan." },
15
16
  { name: "subplan create [options]", summary: "Create a subplan nested under a parent task item." },
@@ -84,6 +85,18 @@ const COMMAND_HELP = {
84
85
  { flag: "--summary <text>", detail: "Optional change summary." },
85
86
  ],
86
87
  },
88
+ start: {
89
+ usage: ["{script} plan start --task <name> --patch <json-file> --append-tasks <json-file>"],
90
+ description: "Atomically apply refined plan content, append business tasks, complete the default planning/activation bridge, and enter process.active in one serialized mutation.",
91
+ summary: "Atomically refine and activate a default planning plan.",
92
+ options: [
93
+ { flag: "--task <name>", detail: "(required) Task name to refine and activate." },
94
+ { flag: "--plan <relative-path>", detail: "Plan file relative to the task dir (defaults to the active plan)." },
95
+ { flag: "--patch <json-file>", detail: "Apply a JSON merge-patch containing requirements, rules, references, or decisions." },
96
+ { flag: "--append-tasks <json-file>", detail: "Append business tasks from a JSON array file." },
97
+ { flag: "--summary <text>", detail: "Optional change summary." },
98
+ ],
99
+ },
87
100
  show: {
88
101
  usage: ["{script} plan show --task <name> [--plan <relative-path>]"],
89
102
  description: "Show the current plan (status, goal, tasks, references) for a task, including archived plans.",
@@ -235,6 +248,10 @@ async function main() {
235
248
  process.stdout.write(`${CLI_VERSION}\n`);
236
249
  return;
237
250
  }
251
+ if (command === "search" && args.length === 1 && args[0] === "help") {
252
+ printHelp(["search"]);
253
+ return;
254
+ }
238
255
  if (command &&
239
256
  command !== "help" &&
240
257
  !command.startsWith("-") &&
@@ -366,12 +383,36 @@ async function runPlan(args) {
366
383
  taskStatus: readOptionalFlag(args, "--task-status"),
367
384
  taskChoiceId: readOptionalFlag(args, "--task-choice"),
368
385
  appendTasks: appendTasksPath ? readJson(appendTasksPath) : undefined,
386
+ commandSource: "plan.edit",
369
387
  host: process.env.CLAW_HOST ?? undefined,
370
388
  ownerSessionKey: resolveOwnerSessionKey() ?? undefined,
371
389
  });
372
390
  printJson(compactPlanCommandResult("plan.edit", result));
373
391
  return;
374
392
  }
393
+ case "start": {
394
+ const patchPath = readOptionalFlag(args, "--patch");
395
+ const appendTasksPath = readOptionalFlag(args, "--append-tasks");
396
+ if (!patchPath && !appendTasksPath) {
397
+ throw new ClawError("PROJECT_CONFIG_INVALID", "plan start requires --patch, --append-tasks, or both.");
398
+ }
399
+ const result = await editPlan({
400
+ cwd: process.cwd(),
401
+ taskName: readRequiredFlag(args, "--task"),
402
+ planFile: readOptionalFlag(args, "--plan"),
403
+ changeSummary: readOptionalFlag(args, "--summary"),
404
+ patch: patchPath ? readJson(patchPath) : undefined,
405
+ appendTasks: appendTasksPath ? readJson(appendTasksPath) : undefined,
406
+ planStatus: "process.active",
407
+ completeLifecycleBridge: true,
408
+ commandSource: "plan.start",
409
+ host: process.env.CLAW_HOST ?? undefined,
410
+ ownerSessionKey: resolveOwnerSessionKey() ?? undefined,
411
+ });
412
+ assertNoRemainingArgs(args, "plan start");
413
+ printJson(compactPlanCommandResult("plan.start", result));
414
+ return;
415
+ }
375
416
  case "done": {
376
417
  const patchPath = readOptionalFlag(args, "--patch");
377
418
  const summary = readOptionalFlag(args, "--summary");
@@ -380,7 +421,7 @@ async function runPlan(args) {
380
421
  if (!mergedPatch?.retrospective?.summary?.trim()) {
381
422
  throw new ClawError("PROJECT_CONFIG_INVALID", "plan done requires --summary or a patch file containing retrospective.summary.");
382
423
  }
383
- ensureGitNexusReadyForPlanDone(process.cwd());
424
+ const gitNexusPreflightAnalyzed = ensureGitNexusReadyForPlanDone(process.cwd());
384
425
  const result = await editPlan({
385
426
  cwd: process.cwd(),
386
427
  taskName: readRequiredFlag(args, "--task"),
@@ -388,12 +429,14 @@ async function runPlan(args) {
388
429
  changeSummary: readOptionalFlag(args, "--change-summary"),
389
430
  patch: mergedPatch,
390
431
  planStatus: "end.completed",
432
+ commandSource: "plan.done",
391
433
  host: process.env.CLAW_HOST ?? undefined,
392
434
  ownerSessionKey: resolveOwnerSessionKey() ?? undefined,
393
435
  });
394
436
  const completionRefresh = queueCompletionRefresh({
395
437
  cwd: process.cwd(),
396
438
  taskName: result.taskName,
439
+ skipGitNexusRefresh: gitNexusPreflightAnalyzed,
397
440
  });
398
441
  printJson(compactPlanCommandResult("plan.done", result, completionRefresh));
399
442
  return;
@@ -1082,6 +1125,7 @@ function compactPlanCommandResult(command, result, completionRefresh) {
1082
1125
  ? completionRefresh.taskRetention.archivedCurrentTask.archivedPlanPath
1083
1126
  : undefined;
1084
1127
  const resolvedPlanPath = archivedPlanPath ?? result.planPath;
1128
+ const hostActions = buildHostActions(result);
1085
1129
  return {
1086
1130
  ok: true,
1087
1131
  command,
@@ -1090,6 +1134,8 @@ function compactPlanCommandResult(command, result, completionRefresh) {
1090
1134
  planStatus: result.planStatus,
1091
1135
  ...(result.previousPlanStatus ? { previousPlanStatus: result.previousPlanStatus } : {}),
1092
1136
  ...(result.emittedEvents?.length ? { emittedEvents: result.emittedEvents } : {}),
1137
+ ...(result.events?.length ? { events: result.events } : {}),
1138
+ ...(hostActions.length ? { hostActions } : {}),
1093
1139
  ...(result.changedTaskIds?.length ? { changedTaskIds: result.changedTaskIds } : {}),
1094
1140
  ...(result.appendedTaskIds?.length ? { appendedTaskIds: result.appendedTaskIds } : {}),
1095
1141
  nextsteps: result.workflowGuidance.nextsteps,
@@ -1118,6 +1164,67 @@ function compactPlanCommandResult(command, result, completionRefresh) {
1118
1164
  planSummary: result.planView.collapsedSummary,
1119
1165
  };
1120
1166
  }
1167
+ function buildHostActions(result) {
1168
+ const latestEvent = result.events?.at(-1);
1169
+ if (!latestEvent) {
1170
+ return [];
1171
+ }
1172
+ const actions = [];
1173
+ if (result.plan) {
1174
+ let assignedInProgress = false;
1175
+ const plan = result.plan.tasks.map((task) => {
1176
+ let status = task.status === "done" ? "completed" : "pending";
1177
+ if (!assignedInProgress && result.planStatus === "process.active" && task.status !== "done") {
1178
+ status = "in_progress";
1179
+ assignedInProgress = true;
1180
+ }
1181
+ return { step: task.title, status };
1182
+ });
1183
+ actions.push({
1184
+ schemaVersion: 1,
1185
+ id: `${latestEvent.mutationId}:update_plan`,
1186
+ sourceEventId: latestEvent.eventId,
1187
+ tool: "update_plan",
1188
+ input: {
1189
+ explanation: result.workflowGuidance.summary,
1190
+ plan,
1191
+ },
1192
+ });
1193
+ }
1194
+ if (result.workflowGuidance.goalTool) {
1195
+ const goalTool = result.workflowGuidance.goalTool;
1196
+ if (goalTool.tool === "create_goal") {
1197
+ actions.push({
1198
+ schemaVersion: 1,
1199
+ id: `${latestEvent.mutationId}:create_goal`,
1200
+ sourceEventId: latestEvent.eventId,
1201
+ tool: "create_goal",
1202
+ input: {
1203
+ objective: goalTool.objective,
1204
+ },
1205
+ meta: {
1206
+ allowOverwrite: goalTool.allowOverwrite,
1207
+ reason: goalTool.reason,
1208
+ },
1209
+ });
1210
+ }
1211
+ else {
1212
+ actions.push({
1213
+ schemaVersion: 1,
1214
+ id: `${latestEvent.mutationId}:update_goal`,
1215
+ sourceEventId: latestEvent.eventId,
1216
+ tool: "update_goal",
1217
+ input: {
1218
+ status: goalTool.status,
1219
+ },
1220
+ meta: {
1221
+ reason: goalTool.reason,
1222
+ },
1223
+ });
1224
+ }
1225
+ }
1226
+ return actions;
1227
+ }
1121
1228
  function compactDirectCommandResult(command, workflowGuidance, completionRefresh) {
1122
1229
  return {
1123
1230
  ok: true,
@@ -1182,9 +1289,10 @@ function queueCompletionRefresh(input) {
1182
1289
  if (includeTaskMemory && !taskRetention.archivedCurrentTask) {
1183
1290
  operations.push("memory.reindex.task");
1184
1291
  }
1185
- if (project.projectConfig?.gitnexus === true) {
1292
+ if (project.projectConfig?.gitnexus === true && !input.skipGitNexusRefresh) {
1186
1293
  operations.push("gitnexus.refresh");
1187
1294
  }
1295
+ const dirtyHash = computeCompletionDirtyHash(input.cwd, input.taskName, operations);
1188
1296
  fs.mkdirSync(path.dirname(statusFile), { recursive: true });
1189
1297
  fs.writeFileSync(statusFile, JSON.stringify({
1190
1298
  ok: true,
@@ -1193,12 +1301,40 @@ function queueCompletionRefresh(input) {
1193
1301
  cwd: input.cwd,
1194
1302
  taskName: input.taskName,
1195
1303
  operations,
1304
+ dirtyHash,
1196
1305
  }, null, 2), "utf-8");
1197
- launchCompletionRefreshWorker({
1198
- cwd: input.cwd,
1199
- taskName: input.taskName,
1306
+ const flight = claimCompletionRefreshFlight({
1307
+ clawDir: project.clawDir,
1200
1308
  statusFile,
1309
+ dirtyHash,
1310
+ operations,
1311
+ queuedAt: startedAt,
1201
1312
  });
1313
+ if (flight.leader) {
1314
+ launchCompletionRefreshWorker({
1315
+ cwd: input.cwd,
1316
+ taskName: input.taskName,
1317
+ statusFile,
1318
+ });
1319
+ }
1320
+ else {
1321
+ const coalescedStatus = {
1322
+ ok: true,
1323
+ coalesced: true,
1324
+ queued: true,
1325
+ startedAt,
1326
+ cwd: input.cwd,
1327
+ taskName: input.taskName,
1328
+ operations,
1329
+ dirtyHash,
1330
+ leaderStatusFile: flight.leaderStatusFile,
1331
+ };
1332
+ fs.writeFileSync(statusFile, `${JSON.stringify(coalescedStatus, null, 2)}\n`, "utf-8");
1333
+ const leaderStatus = tryReadCompletionRefreshStatus(flight.leaderStatusFile);
1334
+ if (leaderStatus && "finishedAt" in leaderStatus) {
1335
+ fs.writeFileSync(statusFile, `${JSON.stringify({ ...leaderStatus, coalesced: true, leaderStatusFile: flight.leaderStatusFile }, null, 2)}\n`, "utf-8");
1336
+ }
1337
+ }
1202
1338
  return {
1203
1339
  taskRetention,
1204
1340
  asyncRefresh: {
@@ -1206,6 +1342,8 @@ function queueCompletionRefresh(input) {
1206
1342
  startedAt,
1207
1343
  statusFile,
1208
1344
  operations,
1345
+ dirtyHash,
1346
+ ...(!flight.leader ? { coalesced: true, leaderStatusFile: flight.leaderStatusFile } : {}),
1209
1347
  },
1210
1348
  };
1211
1349
  }
@@ -1276,9 +1414,16 @@ function runInternalCompletionRefresh(args) {
1276
1414
  const statusFile = readRequiredFlag(args, "--status-file");
1277
1415
  const startedAt = new Date().toISOString();
1278
1416
  const queuedStatus = readJson(statusFile);
1279
- const operations = "operations" in queuedStatus && Array.isArray(queuedStatus.operations)
1417
+ const flightDir = getCompletionRefreshFlightDir(resolveProjectContext(cwd).clawDir);
1418
+ const initialFlight = readCompletionRefreshFlightState(flightDir);
1419
+ const operations = initialFlight?.operations ?? ("operations" in queuedStatus && Array.isArray(queuedStatus.operations)
1280
1420
  ? queuedStatus.operations
1281
- : ["memory.reindex.project"];
1421
+ : ["memory.reindex.project"]);
1422
+ updateCompletionRefreshFlightState(flightDir, (state) => ({
1423
+ ...state,
1424
+ pid: process.pid,
1425
+ startedAt,
1426
+ }));
1282
1427
  try {
1283
1428
  fs.writeFileSync(statusFile, `${JSON.stringify({
1284
1429
  ok: true,
@@ -1288,13 +1433,40 @@ function runInternalCompletionRefresh(args) {
1288
1433
  taskName,
1289
1434
  operations,
1290
1435
  }, null, 2)}\n`, "utf-8");
1291
- const projectMemory = buildMemoryIndex({
1292
- cwd,
1293
- scope: "project",
1294
- });
1295
- const taskMemory = operations.includes("memory.reindex.task")
1296
- ? tryBuildTaskMemoryIndex(cwd, taskName)
1297
- : undefined;
1436
+ let projectMemory;
1437
+ let taskMemory;
1438
+ let gitnexus;
1439
+ let refreshCycles = 0;
1440
+ let dirtyHash = "";
1441
+ while (refreshCycles < 3) {
1442
+ refreshCycles += 1;
1443
+ dirtyHash = computeCompletionDirtyHash(cwd, taskName, operations);
1444
+ projectMemory = buildMemoryIndex({ cwd, scope: "project" });
1445
+ taskMemory = operations.includes("memory.reindex.task")
1446
+ ? tryBuildTaskMemoryIndex(cwd, taskName)
1447
+ : undefined;
1448
+ gitnexus = operations.includes("gitnexus.refresh")
1449
+ ? refreshGitNexusIfEnabled(cwd, resolveProjectContext(cwd).projectConfig)
1450
+ : {
1451
+ enabled: false,
1452
+ reason: resolveProjectContext(cwd).projectConfig?.gitnexus === true
1453
+ ? "gitnexus refresh was satisfied by plan-done preflight"
1454
+ : "gitnexus is not enabled in .claw/project.json",
1455
+ };
1456
+ const latestFlight = readCompletionRefreshFlightState(flightDir);
1457
+ const latestDirtyHash = computeCompletionDirtyHash(cwd, taskName, latestFlight?.operations ?? operations);
1458
+ if (latestDirtyHash === dirtyHash && latestFlight?.requestedDirtyHash === dirtyHash) {
1459
+ break;
1460
+ }
1461
+ if (latestFlight?.operations) {
1462
+ for (const operation of latestFlight.operations) {
1463
+ if (!operations.includes(operation)) {
1464
+ operations.push(operation);
1465
+ }
1466
+ }
1467
+ }
1468
+ }
1469
+ const finalFlight = readCompletionRefreshFlightState(flightDir);
1298
1470
  const status = {
1299
1471
  ok: true,
1300
1472
  startedAt,
@@ -1305,9 +1477,12 @@ function runInternalCompletionRefresh(args) {
1305
1477
  project: projectMemory,
1306
1478
  ...(taskMemory ? { task: taskMemory } : {}),
1307
1479
  },
1308
- gitnexus: refreshGitNexusIfEnabled(cwd, resolveProjectContext(cwd).projectConfig),
1480
+ gitnexus,
1481
+ dirtyHash,
1482
+ refreshCycles,
1483
+ coalescedCount: Math.max(0, (finalFlight?.statusFiles.length ?? 1) - 1),
1309
1484
  };
1310
- fs.writeFileSync(statusFile, `${JSON.stringify(status, null, 2)}\n`, "utf-8");
1485
+ writeCompletionRefreshFinalStatuses(flightDir, statusFile, status);
1311
1486
  }
1312
1487
  catch (error) {
1313
1488
  const payload = {
@@ -1327,10 +1502,180 @@ function runInternalCompletionRefresh(args) {
1327
1502
  message: error instanceof Error ? error.message : "Unknown completion refresh failure.",
1328
1503
  },
1329
1504
  };
1330
- fs.writeFileSync(statusFile, `${JSON.stringify(payload, null, 2)}\n`, "utf-8");
1505
+ writeCompletionRefreshFinalStatuses(flightDir, statusFile, payload);
1331
1506
  process.exitCode = 1;
1332
1507
  }
1333
1508
  }
1509
+ function getCompletionRefreshFlightDir(clawDir) {
1510
+ return path.join(clawDir, "logs", "completion-refresh", "inflight.lock");
1511
+ }
1512
+ function claimCompletionRefreshFlight(input) {
1513
+ const flightDir = getCompletionRefreshFlightDir(input.clawDir);
1514
+ try {
1515
+ fs.mkdirSync(flightDir);
1516
+ const state = {
1517
+ schemaVersion: 1,
1518
+ queuedAt: input.queuedAt,
1519
+ leaderStatusFile: input.statusFile,
1520
+ statusFiles: [input.statusFile],
1521
+ requestedDirtyHash: input.dirtyHash,
1522
+ operations: input.operations,
1523
+ };
1524
+ writeCompletionRefreshFlightState(flightDir, state);
1525
+ return { leader: true, leaderStatusFile: input.statusFile };
1526
+ }
1527
+ catch (error) {
1528
+ if (!isFileAlreadyExistsError(error)) {
1529
+ throw error;
1530
+ }
1531
+ }
1532
+ const existing = readCompletionRefreshFlightState(flightDir);
1533
+ if (!existing || isCompletionRefreshFlightStale(existing)) {
1534
+ fs.rmSync(flightDir, { recursive: true, force: true });
1535
+ return claimCompletionRefreshFlight(input);
1536
+ }
1537
+ const updated = updateCompletionRefreshFlightState(flightDir, (state) => ({
1538
+ ...state,
1539
+ statusFiles: Array.from(new Set([...state.statusFiles, input.statusFile])),
1540
+ requestedDirtyHash: input.dirtyHash,
1541
+ operations: Array.from(new Set([...state.operations, ...input.operations])),
1542
+ }));
1543
+ return { leader: false, leaderStatusFile: updated.leaderStatusFile };
1544
+ }
1545
+ function readCompletionRefreshFlightState(flightDir) {
1546
+ const statePath = path.join(flightDir, "state.json");
1547
+ if (!fs.existsSync(statePath)) {
1548
+ return null;
1549
+ }
1550
+ try {
1551
+ return JSON.parse(fs.readFileSync(statePath, "utf-8"));
1552
+ }
1553
+ catch {
1554
+ return null;
1555
+ }
1556
+ }
1557
+ function tryReadCompletionRefreshStatus(statusFile) {
1558
+ if (!fs.existsSync(statusFile)) {
1559
+ return null;
1560
+ }
1561
+ try {
1562
+ return JSON.parse(fs.readFileSync(statusFile, "utf-8"));
1563
+ }
1564
+ catch {
1565
+ return null;
1566
+ }
1567
+ }
1568
+ function writeCompletionRefreshFlightState(flightDir, state) {
1569
+ const statePath = path.join(flightDir, "state.json");
1570
+ const tempPath = `${statePath}.${process.pid}.tmp`;
1571
+ fs.writeFileSync(tempPath, `${JSON.stringify(state, null, 2)}\n`, "utf-8");
1572
+ fs.renameSync(tempPath, statePath);
1573
+ }
1574
+ function updateCompletionRefreshFlightState(flightDir, update) {
1575
+ const lockPath = path.join(flightDir, "state.write.lock");
1576
+ let lockFd;
1577
+ for (let attempt = 0; attempt < 50; attempt += 1) {
1578
+ try {
1579
+ lockFd = fs.openSync(lockPath, "wx");
1580
+ break;
1581
+ }
1582
+ catch (error) {
1583
+ if (!isFileAlreadyExistsError(error)) {
1584
+ throw error;
1585
+ }
1586
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 10);
1587
+ }
1588
+ }
1589
+ if (lockFd === undefined) {
1590
+ throw new ClawError("PROJECT_CONFIG_INVALID", "Timed out updating completion refresh single-flight state.");
1591
+ }
1592
+ try {
1593
+ const current = readCompletionRefreshFlightState(flightDir);
1594
+ if (!current) {
1595
+ throw new ClawError("PROJECT_CONFIG_INVALID", "Completion refresh single-flight state is missing.");
1596
+ }
1597
+ const next = update(current);
1598
+ writeCompletionRefreshFlightState(flightDir, next);
1599
+ return next;
1600
+ }
1601
+ finally {
1602
+ fs.closeSync(lockFd);
1603
+ fs.rmSync(lockPath, { force: true });
1604
+ }
1605
+ }
1606
+ function writeCompletionRefreshFinalStatuses(flightDir, leaderStatusFile, status) {
1607
+ const flight = readCompletionRefreshFlightState(flightDir);
1608
+ const statusFiles = flight?.statusFiles ?? [leaderStatusFile];
1609
+ for (const target of statusFiles) {
1610
+ const payload = target === leaderStatusFile
1611
+ ? status
1612
+ : { ...status, coalesced: true, leaderStatusFile };
1613
+ fs.writeFileSync(target, `${JSON.stringify(payload, null, 2)}\n`, "utf-8");
1614
+ }
1615
+ fs.rmSync(flightDir, { recursive: true, force: true });
1616
+ }
1617
+ function isCompletionRefreshFlightStale(state) {
1618
+ if (state.pid) {
1619
+ try {
1620
+ process.kill(state.pid, 0);
1621
+ return false;
1622
+ }
1623
+ catch {
1624
+ return true;
1625
+ }
1626
+ }
1627
+ return Date.now() - Date.parse(state.queuedAt) > 60_000;
1628
+ }
1629
+ function isFileAlreadyExistsError(error) {
1630
+ return error instanceof Error && "code" in error && error.code === "EEXIST";
1631
+ }
1632
+ function computeCompletionDirtyHash(cwd, taskName, operations) {
1633
+ const hash = createHash("sha256");
1634
+ hash.update(JSON.stringify([...operations].sort()));
1635
+ const project = resolveProjectContext(cwd);
1636
+ const roots = [
1637
+ path.join(project.clawDir, "memory.md"),
1638
+ path.join(project.clawDir, "truth"),
1639
+ path.join(project.tasksDir, taskName),
1640
+ ];
1641
+ const files = roots.flatMap((root) => listCompletionFingerprintFiles(root)).sort();
1642
+ for (const filePath of files) {
1643
+ hash.update(path.relative(cwd, filePath));
1644
+ hash.update(fs.readFileSync(filePath));
1645
+ }
1646
+ const gitStatus = runCommand("git", ["status", "--porcelain=v1", "--untracked-files=no"], cwd);
1647
+ if (!commandFailed(gitStatus)) {
1648
+ hash.update(gitStatus.stdout ?? "");
1649
+ const gitDiff = runCommand("git", ["diff", "--no-ext-diff", "--binary"], cwd);
1650
+ if (!commandFailed(gitDiff)) {
1651
+ hash.update(gitDiff.stdout ?? "");
1652
+ }
1653
+ }
1654
+ return hash.digest("hex");
1655
+ }
1656
+ function listCompletionFingerprintFiles(root) {
1657
+ if (!fs.existsSync(root)) {
1658
+ return [];
1659
+ }
1660
+ const stat = fs.statSync(root);
1661
+ if (stat.isFile()) {
1662
+ return /\.(?:md|json)$/i.test(root) ? [root] : [];
1663
+ }
1664
+ const files = [];
1665
+ for (const entry of fs.readdirSync(root, { withFileTypes: true })) {
1666
+ if (entry.name === "logs" || entry.name.endsWith(".sqlite")) {
1667
+ continue;
1668
+ }
1669
+ const child = path.join(root, entry.name);
1670
+ if (entry.isDirectory()) {
1671
+ files.push(...listCompletionFingerprintFiles(child));
1672
+ }
1673
+ else if (/\.(?:md|json)$/i.test(entry.name)) {
1674
+ files.push(child);
1675
+ }
1676
+ }
1677
+ return files;
1678
+ }
1334
1679
  function tryBuildTaskMemoryIndex(cwd, taskName) {
1335
1680
  try {
1336
1681
  return buildMemoryIndex({
@@ -1373,6 +1718,13 @@ function compactCompletionRefresh(completionRefresh) {
1373
1718
  startedAt: completionRefresh.asyncRefresh.startedAt,
1374
1719
  statusFile: completionRefresh.asyncRefresh.statusFile,
1375
1720
  operations: completionRefresh.asyncRefresh.operations,
1721
+ dirtyHash: completionRefresh.asyncRefresh.dirtyHash,
1722
+ ...(completionRefresh.asyncRefresh.coalesced
1723
+ ? {
1724
+ coalesced: true,
1725
+ leaderStatusFile: completionRefresh.asyncRefresh.leaderStatusFile,
1726
+ }
1727
+ : {}),
1376
1728
  },
1377
1729
  };
1378
1730
  }
@@ -1396,11 +1748,11 @@ function shouldFallbackToPlainAnalyze(result) {
1396
1748
  function ensureGitNexusReadyForPlanDone(cwd) {
1397
1749
  const project = resolveProjectContext(cwd);
1398
1750
  if (project.projectConfig?.gitnexus !== true) {
1399
- return;
1751
+ return false;
1400
1752
  }
1401
1753
  ensureGitNexusInstalled(project.projectRoot);
1402
1754
  seedGitNexusEmbeddingCache(project.projectRoot, project.projectConfig);
1403
- ensureGitNexusEmbeddingsEnabled(project.projectRoot);
1755
+ return ensureGitNexusEmbeddingsEnabled(project.projectRoot);
1404
1756
  }
1405
1757
  function ensureGitNexusInstalled(cwd) {
1406
1758
  if (isGitNexusAvailable(cwd)) {
@@ -1437,9 +1789,10 @@ function ensureGitNexusInstalled(cwd) {
1437
1789
  }
1438
1790
  function ensureGitNexusEmbeddingsEnabled(cwd) {
1439
1791
  if (readGitNexusEmbeddingsEnabled(cwd)) {
1440
- return;
1792
+ return false;
1441
1793
  }
1442
1794
  runGitNexusAnalyze(cwd, { embeddings: true });
1795
+ return true;
1443
1796
  }
1444
1797
  function readGitNexusEmbeddingsEnabled(cwd) {
1445
1798
  const metaPath = path.join(cwd, ".gitnexus", "meta.json");
@@ -1456,7 +1809,7 @@ function readGitNexusEmbeddingsEnabled(cwd) {
1456
1809
  }
1457
1810
  function runGitNexusAnalyze(cwd, options = {}) {
1458
1811
  const primaryArgs = ["analyze", ...(options.embeddings ? ["--embeddings"] : []), "--no-ai-context"];
1459
- const primary = runCommand("gitnexus", primaryArgs, cwd);
1812
+ const primary = runCommandWithLockRetry("gitnexus", primaryArgs, cwd);
1460
1813
  if (primary.error) {
1461
1814
  throw new ClawError("PROJECT_CONFIG_INVALID", "gitnexus analyze failed.", {
1462
1815
  cwd,
@@ -1483,7 +1836,7 @@ function runGitNexusAnalyze(cwd, options = {}) {
1483
1836
  });
1484
1837
  }
1485
1838
  const fallbackArgs = ["analyze", ...(options.embeddings ? ["--embeddings"] : [])];
1486
- const fallback = runCommand("gitnexus", fallbackArgs, cwd);
1839
+ const fallback = runCommandWithLockRetry("gitnexus", fallbackArgs, cwd);
1487
1840
  if (commandFailed(fallback)) {
1488
1841
  throw new ClawError("PROJECT_CONFIG_INVALID", "gitnexus analyze fallback failed.", {
1489
1842
  cwd,
@@ -1612,13 +1965,32 @@ function resolveCommandOnPath(command) {
1612
1965
  return null;
1613
1966
  }
1614
1967
  function runCommand(command, args, cwd) {
1615
- return spawnSync(command, args, {
1968
+ const resolvedCommand = resolveCommandOnPath(command) ?? command;
1969
+ if (process.platform === "win32" && /\.(?:cmd|bat)$/i.test(resolvedCommand)) {
1970
+ return spawnSync(process.env.ComSpec ?? "cmd.exe", ["/d", "/s", "/c", resolvedCommand, ...args], {
1971
+ cwd,
1972
+ encoding: "utf-8",
1973
+ windowsHide: true,
1974
+ });
1975
+ }
1976
+ return spawnSync(resolvedCommand, args, {
1616
1977
  cwd,
1617
1978
  encoding: "utf-8",
1618
- shell: process.platform === "win32",
1619
1979
  windowsHide: true,
1620
1980
  });
1621
1981
  }
1982
+ function runCommandWithLockRetry(command, args, cwd) {
1983
+ let result = runCommand(command, args, cwd);
1984
+ for (const delayMs of [100, 250]) {
1985
+ const output = `${result.stdout ?? ""}\n${result.stderr ?? ""}`;
1986
+ if (!commandFailed(result) || !/(?:database|index|graph)?.{0,20}(?:busy|locked)|(?:busy|locked).{0,20}(?:database|index|graph)?/i.test(output)) {
1987
+ break;
1988
+ }
1989
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, delayMs);
1990
+ result = runCommand(command, args, cwd);
1991
+ }
1992
+ return result;
1993
+ }
1622
1994
  function commandFailed(result) {
1623
1995
  if (result.error) {
1624
1996
  return true;
@@ -1716,7 +2088,7 @@ function readRequiredSearchQuery(args) {
1716
2088
  });
1717
2089
  }
1718
2090
  if (args.length === 0) {
1719
- throw new ClawError("PROJECT_CONFIG_INVALID", "Missing required flag --query.", { flag: "--query" });
2091
+ throw new ClawError("PROJECT_CONFIG_INVALID", 'Missing search query. Use: `claw search --query "<topic>"`.', { flag: "--query", recommendedCommand: 'claw search --query "<topic>"' });
1720
2092
  }
1721
2093
  const positionalQuery = args.join(" ").trim();
1722
2094
  args.splice(0, args.length);
@@ -1848,17 +2220,17 @@ function printTopLevelUsage() {
1848
2220
  process.stderr.write(lines.join("\n"));
1849
2221
  process.stderr.write("\n");
1850
2222
  }
1851
- function printSimpleHelp(label, entry) {
2223
+ function printSimpleHelp(label, entry, output = process.stderr) {
1852
2224
  const lines = [
1853
2225
  ...renderUsage(entry.usage),
1854
2226
  "",
1855
2227
  entry.description,
1856
2228
  ...renderOptions(entry.options),
1857
2229
  ];
1858
- process.stderr.write(lines.join("\n"));
1859
- process.stderr.write("\n");
2230
+ output.write(lines.join("\n"));
2231
+ output.write("\n");
1860
2232
  }
1861
- function printGroupHelp(label, node) {
2233
+ function printGroupHelp(label, node, output = process.stderr) {
1862
2234
  const lines = [
1863
2235
  ...renderUsage(node.usage),
1864
2236
  "",
@@ -1876,8 +2248,8 @@ function printGroupHelp(label, node) {
1876
2248
  }
1877
2249
  lines.push("", `Run \`claw help ${label} <subcommand>\` for details.`);
1878
2250
  }
1879
- process.stderr.write(lines.join("\n"));
1880
- process.stderr.write("\n");
2251
+ output.write(lines.join("\n"));
2252
+ output.write("\n");
1881
2253
  }
1882
2254
  function firstSentence(text) {
1883
2255
  const match = text.match(/^[^.]*\./);
@@ -1911,12 +2283,13 @@ function printHelp(topic) {
1911
2283
  process.exitCode = 1;
1912
2284
  return;
1913
2285
  }
2286
+ const successOutput = cmd === "search" ? process.stdout : process.stderr;
1914
2287
  if (sub === undefined) {
1915
2288
  if (node.subcommands) {
1916
- printGroupHelp(cmd, node);
2289
+ printGroupHelp(cmd, node, successOutput);
1917
2290
  }
1918
2291
  else {
1919
- printSimpleHelp(cmd, node);
2292
+ printSimpleHelp(cmd, node, successOutput);
1920
2293
  }
1921
2294
  return;
1922
2295
  }
@@ -1928,7 +2301,7 @@ function printHelp(topic) {
1928
2301
  }
1929
2302
  const subEntry = node.subcommands?.[sub];
1930
2303
  if (subEntry) {
1931
- printSimpleHelp(`${cmd} ${sub}`, subEntry);
2304
+ printSimpleHelp(`${cmd} ${sub}`, subEntry, successOutput);
1932
2305
  return;
1933
2306
  }
1934
2307
  if (node.subcommands) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veewo/claw",
3
- "version": "0.1.68",
3
+ "version": "0.1.70",
4
4
  "type": "module",
5
5
  "description": "CLI for running the .claw workflow: project planning, recall, truth ingestion, and closeout.",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "claw": "./dist/bin.js"
32
32
  },
33
33
  "dependencies": {
34
- "@veewo/claw-core": "0.1.68"
34
+ "@veewo/claw-core": "0.1.70"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "tsc -p tsconfig.json",