@ran-sh/dsh-crew 1.10.6 → 1.10.7

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,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-crew",
3
- "version": "1.10.6",
3
+ "version": "1.10.7",
4
4
  "description": "Dispatch subtasks to DeepSeek Harness (DSH) agents as native subagents with live progress",
5
5
  "author": {
6
6
  "name": "ZSeven-W"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ran-sh/dsh-crew",
3
- "version": "1.10.6",
3
+ "version": "1.10.7",
4
4
  "type": "module",
5
5
  "main": "./src/hub/entry.mjs",
6
6
  "bin": {
@@ -36,7 +36,7 @@ export {
36
36
  // included in the identity contract.
37
37
  const RUNTIME_ID = randomUUID();
38
38
 
39
- export const RUNTIME_VERSION = '1.10.6';
39
+ export const RUNTIME_VERSION = '1.10.7';
40
40
  export const HUB_PROTOCOL_VERSION = 1;
41
41
 
42
42
  export const HUB_CAPABILITIES = Object.freeze([
@@ -441,11 +441,23 @@ export function createWorkflowRuntime(adapters, {
441
441
  }
442
442
  }
443
443
  }
444
- outcome = applyWorkspaceEvidence(outcome, {
445
- evidenceAvailable: workspaceEvidenceAvailable,
446
- hasChanges: workspaceHasChanges,
447
- allowNoChanges: job.allow_no_changes,
448
- });
444
+ // A hub-dispatched attempt was already judged by the Hub, which sees the
445
+ // primary workspace. This client only has evidence of its own when it
446
+ // captured a candidate, which it can only do in a worktree it owns; for a
447
+ // shared workspace it has none. Re-running the gate here with no evidence
448
+ // judged the same report again with nothing to judge it against, and
449
+ // downgraded an authorized zero-change task the Hub had already verified
450
+ // to `partial`. Where the client has no evidence, the Hub's verdict is
451
+ // the one that was reached on evidence, so it stands.
452
+ const clientJudged = workspaceEvidenceAvailable;
453
+ const hubJudged = typeof ar.outcome?.workspace_evidence_ok === 'boolean';
454
+ if (clientJudged || !hubJudged) {
455
+ outcome = applyWorkspaceEvidence(outcome, {
456
+ evidenceAvailable: clientJudged,
457
+ hasChanges: workspaceHasChanges,
458
+ allowNoChanges: job.allow_no_changes,
459
+ });
460
+ }
449
461
  job.outcome = outcome;
450
462
 
451
463
  const reviewRequested = !isReviewJob && shouldAutoReview(config);