@clipboard-health/groundcrew 4.47.5 → 4.47.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAenE,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA4rBD,wBAAsB,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7D"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAenE,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAosBD,wBAAsB,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7D"}
@@ -489,15 +489,20 @@ function statusByWorktreeTask(boardResult) {
489
489
  }
490
490
  return statuses;
491
491
  }
492
- function writeQueueSections(boardResult) {
492
+ function writeQueueSections(boardResult, worktreeTasks) {
493
493
  if (boardResult.kind === "error") {
494
494
  writeSection("Queue");
495
495
  writeOutput(`unavailable: ${errorMessage(boardResult.error)}`);
496
496
  return;
497
497
  }
498
498
  // Only groundcrew-eligible Todos are dispatchable; non-eligible ones lack
499
- // a repo or agent, so `crew run` would skip them.
500
- const todos = boardResult.issues.filter(isTodoSourceIssue).filter(isGroundcrewIssue);
499
+ // a repo or agent, so `crew run` would skip them. Todos whose task already
500
+ // has a local worktree are omitted so a dispatched-but-not-yet-transitioned
501
+ // ticket doesn't show as both provisioning and queued.
502
+ const todos = boardResult.issues
503
+ .filter(isTodoSourceIssue)
504
+ .filter(isGroundcrewIssue)
505
+ .filter((i) => !worktreeTasks.has(naturalIdFromCanonical(i.id).toLowerCase()));
501
506
  const ready = todos.filter((i) => !hasOpenBlocker(i));
502
507
  const blocked = todos.filter(hasOpenBlocker);
503
508
  // Hide the section entirely when nothing's queued and nothing's blocked.
@@ -587,7 +592,7 @@ async function writeInventoryStatus(config) {
587
592
  writeOutput();
588
593
  writeOutput(`slots: ${used}/${config.orchestrator.maximumInProgress} used`);
589
594
  }
590
- writeQueueSections(boardResult);
595
+ writeQueueSections(boardResult, worktreeTasks);
591
596
  }
592
597
  export async function status(config, options = {}) {
593
598
  const task = options.task?.trim();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipboard-health/groundcrew",
3
- "version": "4.47.5",
3
+ "version": "4.47.6",
4
4
  "description": "Linear-driven orchestrator that launches AI coding agents in git worktrees, with workspace lifecycle and usage tracking.",
5
5
  "keywords": [
6
6
  "agent",