@miraland-labs/conduit-bridge 0.16.193 → 0.16.194

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
@@ -805,7 +805,8 @@ function startGateRehearsal(workspace, plan) {
805
805
  .then((rehearsal) => {
806
806
  if (rehearsal === "busy")
807
807
  console.log("Gate rehearsal deferred: another runner on this computer is rehearsing");
808
- else if (abort.signal.aborted && attemptsActiveOnComputer())
808
+ // The attempt-marker watch stops the rehearsal on its own: the runner's abort stays unset.
809
+ else if (rehearsal === null && attemptsActiveOnComputer())
809
810
  console.log("Gate rehearsal stopped: an attempt is in flight on this computer");
810
811
  else if (abort.signal.aborted)
811
812
  console.log("Gate rehearsal stopped: an assignment is waiting");
@@ -8,6 +8,7 @@
8
8
  import { redactSecrets, redactSecretsDeep } from "./secret-redaction.js";
9
9
  import { z } from "zod";
10
10
  import { boundedTail, runBoundedVerificationCommand } from "./ensure-test-evidence.js";
11
+ import { markAttemptActive } from "./preflight.js";
11
12
  import { createAttemptWorktree, removeAttemptWorktree } from "./attempt-worktree.js";
12
13
  import { buildWorkspaceBrief, ensureCommitAvailable, normalizeRepositoryUrl } from "./brief.js";
13
14
  import { headCommitOrNull } from "./git.js";
@@ -831,6 +832,9 @@ export async function executeNextInvestigation(client, config, workspace, brief,
831
832
  }, options.heartbeatIntervalMs ?? 15_000)
832
833
  : null;
833
834
  heartbeatTimer?.unref?.();
835
+ // The investigation runs the delivered head's gates on this computer: hold the attempt marker,
836
+ // so a gate rehearsal on another runner here does not start, or stops, while they run.
837
+ const releaseMarker = markAttemptActive();
834
838
  try {
835
839
  attemptWorkspace = await createAttemptWorktree({
836
840
  sourceWorkspace: workspace,
@@ -1013,6 +1017,7 @@ export async function executeNextInvestigation(client, config, workspace, brief,
1013
1017
  console.error(`Investigation ${assignment.id} failed: ${redactSecrets(message)}`);
1014
1018
  }
1015
1019
  finally {
1020
+ releaseMarker();
1016
1021
  clearInterval(renewTimer);
1017
1022
  if (heartbeatTimer)
1018
1023
  clearInterval(heartbeatTimer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miraland-labs/conduit-bridge",
3
- "version": "0.16.193",
3
+ "version": "0.16.194",
4
4
  "description": "Conduit Bridge CLI — join, connect, disconnect, multi-driver lanes, and run Claude Code / Codex / Cursor / OpenCode / Pi / Kiro / Antigravity / Grok Build agents for a Conduit organization",
5
5
  "type": "module",
6
6
  "bin": {