@miraland-labs/conduit-bridge 0.16.184 → 0.16.185
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 +16 -6
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -676,7 +676,9 @@ async function runner() {
|
|
|
676
676
|
if (workspace && onlineDriverIds(config).length && !gateRehearsalRunning) {
|
|
677
677
|
// Read the workspace again, then publish it. The last brief stands if the read fails.
|
|
678
678
|
const publishWorkspaceState = async (options = {}) => {
|
|
679
|
-
|
|
679
|
+
// Not while an investigation runs: its observation-only check compares the source checkout
|
|
680
|
+
// before and after, and the runner's own fast-forward must not fail that check (CR18).
|
|
681
|
+
const refresh = investigationRunning ? lastRefresh?.result ?? null : await reportedRefresh(workspace, options);
|
|
680
682
|
const currentBrief = await buildWorkspaceBrief(workspace).catch(() => brief);
|
|
681
683
|
const preflight = await cachedBridgePreflight({ config, workspace, managedRoot, brief: currentBrief ?? undefined, refresh, agentTimeoutMs: timeoutMs }, options);
|
|
682
684
|
const hb = await heartbeat(client, config, workspace, currentBrief, preflight, undefined, bootstrapResult);
|
|
@@ -687,11 +689,17 @@ async function runner() {
|
|
|
687
689
|
};
|
|
688
690
|
// Observation runs before authoring: an owner waiting on an answer should not queue behind
|
|
689
691
|
// a long delivery, and the control plane already counted this slot as busy.
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
692
|
+
investigationRunning = true;
|
|
693
|
+
try {
|
|
694
|
+
progressed = await executeNextInvestigation(client, config, workspace, brief, timeoutMs, {
|
|
695
|
+
managedRoot: hb.on_shift?.managed_workspace_root ?? null,
|
|
696
|
+
heartbeat: publishHeartbeat,
|
|
697
|
+
heartbeatIntervalMs: intervalMs,
|
|
698
|
+
}) || progressed;
|
|
699
|
+
}
|
|
700
|
+
finally {
|
|
701
|
+
investigationRunning = false;
|
|
702
|
+
}
|
|
695
703
|
progressed = await pumpExecutionSlots(client, config, workspace, brief, timeoutMs, {
|
|
696
704
|
heartbeat: publishHeartbeat,
|
|
697
705
|
beforeClaim: async (driverId) => {
|
|
@@ -723,6 +731,8 @@ async function runner() {
|
|
|
723
731
|
}
|
|
724
732
|
/** True while the gate rehearsal runs in the background; the loop keeps beating but claims nothing. */
|
|
725
733
|
let gateRehearsalRunning = false;
|
|
734
|
+
/** An observation fingerprints the source checkout; a fast-forward under it reads as the observer writing. */
|
|
735
|
+
let investigationRunning = false;
|
|
726
736
|
/** The rehearsals the heartbeat reports, one per on-shift repository; empty reports no field. */
|
|
727
737
|
let reportedGateRehearsals = [];
|
|
728
738
|
/** The last on-shift snapshot, so the next cycle knows every repository this computer serves. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miraland-labs/conduit-bridge",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.185",
|
|
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": {
|