From ab718b5b191b1cead1da516aefd9510caac80ba7 Mon Sep 17 00:00:00 2001 From: "prompt.ac/@jeffrey" Date: Thu, 24 Sep 2026 17:00:24 -0700 Subject: [PATCH] ac-venue: a folder with its own conductor is still staged when it carries a prepared bundle Co-Authored-By: Claude Fable 5.1 --- toolchain/mcp/ac-venue-mcp.mjs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/toolchain/mcp/ac-venue-mcp.mjs b/toolchain/mcp/ac-venue-mcp.mjs index e47a67442e..d4082c0106 100644 --- a/toolchain/mcp/ac-venue-mcp.mjs +++ b/toolchain/mcp/ac-venue-mcp.mjs @@ -181,7 +181,9 @@ async function runQueueOnce() { const mark = (status, extra = {}) => { const qq = queue(); const it = qq.items.find((i) => i.id === item.id); if (it) Object.assign(it, { status, ...extra }); saveQueue(qq); }; try { setRig({ owner: local, since: new Date().toISOString(), note: `setlist: ${item.label || item.out}` }); - const ownConductor = existsSync(join(outDir(item.out), "run-fleet.py")); // a folder with its own conductor stages itself + // A folder with its own conductor stages itself — unless it also carries a + // prepared bundle (stems) that our staging knows how to put on the seats. + const ownConductor = existsSync(join(outDir(item.out), "run-fleet.py")) && !existsSync(join(outDir(item.out), "prepared.json")); if (item.status !== "ready" && !ownConductor) { mark("preparing"); runnerNote = `preparing ${item.label || item.out}`; await prepare({ score: item.score, out: item.out, stage: true, keepPiece: false, allowPieces: item.allowPieces || "spatial-rehearsal,notespatial-controls,culturehub-rehearsal,red,connection-check,connection-controls,say" }); } await new Promise((r) => setTimeout(r, 4000)); // the seats settle after a jump before the gate reads them mark("checking"); runnerNote = `checking ${item.label || item.out}`; const c = await check(item.out); if (!c.ready) throw new Error(`not ready: ${c.tail.join(" | ")}`); -- 2.51.2