@adhdev/daemon-core 0.9.82-rc.457 → 0.9.82-rc.458
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/index.d.ts +1 -1
- package/dist/index.js +126 -22
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +124 -22
- package/dist/index.mjs.map +1 -1
- package/dist/logging/debug-config.d.ts +16 -0
- package/dist/mesh/worktree-bootstrap-config.d.ts +45 -0
- package/package.json +3 -3
- package/src/index.ts +2 -0
- package/src/logging/debug-config.ts +25 -0
- package/src/logging/debug-trace.ts +7 -2
- package/src/mesh/coordinator-prompt.ts +1 -1
- package/src/mesh/mesh-fast-forward.ts +22 -9
- package/src/mesh/mesh-refine-gates.ts +22 -9
- package/src/mesh/worktree-bootstrap-config.ts +130 -0
package/dist/index.mjs
CHANGED
|
@@ -404,10 +404,10 @@ function readInjected(value) {
|
|
|
404
404
|
}
|
|
405
405
|
function getDaemonBuildInfo() {
|
|
406
406
|
if (cached) return cached;
|
|
407
|
-
const commit = readInjected(true ? "
|
|
408
|
-
const commitShort = readInjected(true ? "
|
|
409
|
-
const version = readInjected(true ? "0.9.82-rc.
|
|
410
|
-
const builtAt = readInjected(true ? "2026-07-
|
|
407
|
+
const commit = readInjected(true ? "690e14cc1bdb099a0c52d7fffef41329cc5b15b5" : void 0) ?? "unknown";
|
|
408
|
+
const commitShort = readInjected(true ? "690e14cc" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
|
|
409
|
+
const version = readInjected(true ? "0.9.82-rc.458" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
|
|
410
|
+
const builtAt = readInjected(true ? "2026-07-04T09:53:14.279Z" : void 0);
|
|
411
411
|
cached = builtAt ? { commit, commitShort, version, builtAt } : { commit, commitShort, version };
|
|
412
412
|
return cached;
|
|
413
413
|
}
|
|
@@ -3701,7 +3701,7 @@ function buildRulesSection(coordinatorCliType) {
|
|
|
3701
3701
|
- **Verify via git, not source.** Use \`mesh_git_status\` to confirm side effects. Treat agent summaries as self-reports, not verification.
|
|
3702
3702
|
- **Limit parallelism.** Start with 1\u20132 tasks; scale only on success. Never duplicate a session because \`mesh_read_chat\` shows no final message while tool/terminal activity is ongoing. This caps *concurrent* load \u2014 it does not mean serialize independent work: when a new, independent request arrives and there is headroom under \`maxParallelTasks\`, dispatch it right away rather than waiting for an in-flight task or a user nudge (read-only diagnosis especially, since it has no merge cost).
|
|
3703
3703
|
- **Check history first.** Call \`mesh_task_history\` at session start to avoid duplicate work and inform recovery. On failure, read task history before retrying.
|
|
3704
|
-
- **Sequence shared-base-moving merges.** Parallel dispatch is encouraged, but merging one worktree can advance another in-flight worktree's base \u2014 especially
|
|
3704
|
+
- **Sequence shared-base-moving merges.** Parallel dispatch is encouraged, but merging one worktree can advance another in-flight worktree's base \u2014 especially a shared submodule pointer \u2014 turning a clean fast-forward into a diverged rebase (patch-equivalence correctly blocks this). Before merging an in-flight worktree while siblings are also in flight, land in an intentional order, re-clone long-running worktrees from the advanced base, or expect to manually rebase + ff-only the laggards; merging an independent fix mid-flight can strand siblings into a rebase.
|
|
3705
3705
|
- **Converge branches.** After worktree tasks: refine/fast-forward, or classify as \`pushed_feature_branch_needs_merge\` / \`blocked_review\` / \`cleanup_candidate\` / \`not_mergeable\`. Clean up with \`mesh_remove_node\`.
|
|
3706
3706
|
- **Refinery is config-driven.** \`mesh_refine_node\` must run validation from \`.adhdev/refine.{json,yaml,yml}\` or \`repo-mesh.refine.*\`. Heuristics are scaffolding only.
|
|
3707
3707
|
- **Submodule reachability = publish-needed.** \`submodule_reachability_failed\` \u2192 classify as \`blocked_review\`, request user approval to push to submodule main, then rerun \`mesh_refine_node\`.
|
|
@@ -8924,12 +8924,15 @@ var worktree_bootstrap_config_exports = {};
|
|
|
8924
8924
|
__export(worktree_bootstrap_config_exports, {
|
|
8925
8925
|
MESH_WORKTREE_BOOTSTRAP_CONFIG_LOCATIONS: () => MESH_WORKTREE_BOOTSTRAP_CONFIG_LOCATIONS,
|
|
8926
8926
|
MESH_WORKTREE_BOOTSTRAP_CONFIG_SCHEMA: () => MESH_WORKTREE_BOOTSTRAP_CONFIG_SCHEMA,
|
|
8927
|
+
SUBMODULE_DEFAULT_BRANCH_FALLBACK: () => SUBMODULE_DEFAULT_BRANCH_FALLBACK,
|
|
8927
8928
|
WORKTREE_BOOTSTRAP_STALE_RUNNING_MS: () => WORKTREE_BOOTSTRAP_STALE_RUNNING_MS,
|
|
8928
8929
|
computeStaleInputsDigest: () => computeStaleInputsDigest,
|
|
8929
8930
|
evaluateWorktreeBootstrapState: () => evaluateWorktreeBootstrapState,
|
|
8930
8931
|
getRegisteredSubmodulePaths: () => getRegisteredSubmodulePaths,
|
|
8932
|
+
getSubmoduleConfiguredBranches: () => getSubmoduleConfiguredBranches,
|
|
8931
8933
|
isWorktreeBootstrapStaleRunning: () => isWorktreeBootstrapStaleRunning,
|
|
8932
8934
|
loadMeshWorktreeBootstrapConfig: () => loadMeshWorktreeBootstrapConfig,
|
|
8935
|
+
resolveSubmoduleDefaultBranch: () => resolveSubmoduleDefaultBranch,
|
|
8933
8936
|
runMeshWorktreeBootstrap: () => runMeshWorktreeBootstrap,
|
|
8934
8937
|
shouldDeferDispatchForBootstrap: () => shouldDeferDispatchForBootstrap,
|
|
8935
8938
|
validateMeshWorktreeBootstrapConfig: () => validateMeshWorktreeBootstrapConfig
|
|
@@ -8960,6 +8963,81 @@ function getRegisteredSubmodulePaths(workspace) {
|
|
|
8960
8963
|
}
|
|
8961
8964
|
return paths;
|
|
8962
8965
|
}
|
|
8966
|
+
function getSubmoduleConfiguredBranches(workspace) {
|
|
8967
|
+
const branchesByPath = /* @__PURE__ */ new Map();
|
|
8968
|
+
try {
|
|
8969
|
+
const out = execFileSync2(
|
|
8970
|
+
resolveWin32Executable("git"),
|
|
8971
|
+
["config", "--file", ".gitmodules", "--list"],
|
|
8972
|
+
{ cwd: workspace, encoding: "utf8", timeout: 1e4, windowsHide: true }
|
|
8973
|
+
);
|
|
8974
|
+
const pathByName = /* @__PURE__ */ new Map();
|
|
8975
|
+
const branchByName = /* @__PURE__ */ new Map();
|
|
8976
|
+
for (const line of String(out).split(/\r?\n/)) {
|
|
8977
|
+
const trimmed = line.trim();
|
|
8978
|
+
if (!trimmed) continue;
|
|
8979
|
+
const eq = trimmed.indexOf("=");
|
|
8980
|
+
if (eq < 0) continue;
|
|
8981
|
+
const key2 = trimmed.slice(0, eq);
|
|
8982
|
+
const value = trimmed.slice(eq + 1).trim();
|
|
8983
|
+
const match = /^submodule\.(.+)\.(path|branch)$/.exec(key2);
|
|
8984
|
+
if (!match) continue;
|
|
8985
|
+
const name = match[1];
|
|
8986
|
+
if (match[2] === "path") {
|
|
8987
|
+
const norm = value.replace(/\\/g, "/").replace(/\/+$/, "");
|
|
8988
|
+
if (norm) pathByName.set(name, norm);
|
|
8989
|
+
} else if (value) {
|
|
8990
|
+
branchByName.set(name, value);
|
|
8991
|
+
}
|
|
8992
|
+
}
|
|
8993
|
+
for (const [name, submodulePath] of pathByName) {
|
|
8994
|
+
const branch = branchByName.get(name);
|
|
8995
|
+
if (branch && branch !== ".") branchesByPath.set(submodulePath, branch);
|
|
8996
|
+
}
|
|
8997
|
+
} catch {
|
|
8998
|
+
}
|
|
8999
|
+
return branchesByPath;
|
|
9000
|
+
}
|
|
9001
|
+
function isPlausibleBranchName(name) {
|
|
9002
|
+
return typeof name === "string" && name.length > 0 && !/\s/.test(name) && name !== "HEAD";
|
|
9003
|
+
}
|
|
9004
|
+
async function resolveSubmoduleDefaultBranch(opts) {
|
|
9005
|
+
const remote = opts.remote?.trim() || "origin";
|
|
9006
|
+
const localTimeout = opts.timeoutMs ?? 1e4;
|
|
9007
|
+
const git = resolveWin32Executable("git");
|
|
9008
|
+
const execFileAsync4 = promisify3(execFile3);
|
|
9009
|
+
if (opts.superprojectWorkspace && opts.submodulePath) {
|
|
9010
|
+
try {
|
|
9011
|
+
const normalized = opts.submodulePath.replace(/\\/g, "/").replace(/\/+$/, "");
|
|
9012
|
+
const configured = getSubmoduleConfiguredBranches(opts.superprojectWorkspace).get(normalized);
|
|
9013
|
+
if (isPlausibleBranchName(configured)) return configured;
|
|
9014
|
+
} catch {
|
|
9015
|
+
}
|
|
9016
|
+
}
|
|
9017
|
+
try {
|
|
9018
|
+
const { stdout } = await execFileAsync4(
|
|
9019
|
+
git,
|
|
9020
|
+
["symbolic-ref", "--short", `refs/remotes/${remote}/HEAD`],
|
|
9021
|
+
{ cwd: opts.submoduleRepoPath, encoding: "utf8", timeout: localTimeout, windowsHide: true }
|
|
9022
|
+
);
|
|
9023
|
+
const short = String(stdout || "").trim();
|
|
9024
|
+
const prefix = `${remote}/`;
|
|
9025
|
+
const branch = short.startsWith(prefix) ? short.slice(prefix.length) : short;
|
|
9026
|
+
if (isPlausibleBranchName(branch)) return branch;
|
|
9027
|
+
} catch {
|
|
9028
|
+
}
|
|
9029
|
+
try {
|
|
9030
|
+
const { stdout } = await execFileAsync4(
|
|
9031
|
+
git,
|
|
9032
|
+
["ls-remote", "--symref", remote, "HEAD"],
|
|
9033
|
+
{ cwd: opts.submoduleRepoPath, encoding: "utf8", timeout: Math.max(localTimeout, 3e4), windowsHide: true }
|
|
9034
|
+
);
|
|
9035
|
+
const match = /^ref:\s+refs\/heads\/(\S+)\s+HEAD/m.exec(String(stdout || ""));
|
|
9036
|
+
if (match && isPlausibleBranchName(match[1])) return match[1];
|
|
9037
|
+
} catch {
|
|
9038
|
+
}
|
|
9039
|
+
return SUBMODULE_DEFAULT_BRANCH_FALLBACK;
|
|
9040
|
+
}
|
|
8963
9041
|
function isCleanIgnoringSubmoduleGitlinks(porcelain, submodulePaths) {
|
|
8964
9042
|
const lines = porcelain.split(/\r?\n/).filter((line) => line.length > 0);
|
|
8965
9043
|
for (const line of lines) {
|
|
@@ -9202,13 +9280,14 @@ async function runMeshWorktreeBootstrap(mesh, workspace) {
|
|
|
9202
9280
|
}
|
|
9203
9281
|
return state;
|
|
9204
9282
|
}
|
|
9205
|
-
var WORKTREE_BOOTSTRAP_STALE_RUNNING_MS, MESH_WORKTREE_BOOTSTRAP_CONFIG_LOCATIONS, MESH_WORKTREE_BOOTSTRAP_CONFIG_SCHEMA, DEFAULT_TIMEOUT_MS2, DEFAULT_OUTPUT_LIMIT_BYTES, OUTPUT_SUMMARY_CHARS;
|
|
9283
|
+
var WORKTREE_BOOTSTRAP_STALE_RUNNING_MS, SUBMODULE_DEFAULT_BRANCH_FALLBACK, MESH_WORKTREE_BOOTSTRAP_CONFIG_LOCATIONS, MESH_WORKTREE_BOOTSTRAP_CONFIG_SCHEMA, DEFAULT_TIMEOUT_MS2, DEFAULT_OUTPUT_LIMIT_BYTES, OUTPUT_SUMMARY_CHARS;
|
|
9206
9284
|
var init_worktree_bootstrap_config = __esm({
|
|
9207
9285
|
"src/mesh/worktree-bootstrap-config.ts"() {
|
|
9208
9286
|
"use strict";
|
|
9209
9287
|
init_resolve_executable();
|
|
9210
9288
|
init_refine_config();
|
|
9211
9289
|
WORKTREE_BOOTSTRAP_STALE_RUNNING_MS = 10 * 60 * 1e3;
|
|
9290
|
+
SUBMODULE_DEFAULT_BRANCH_FALLBACK = "main";
|
|
9212
9291
|
MESH_WORKTREE_BOOTSTRAP_CONFIG_LOCATIONS = [
|
|
9213
9292
|
".adhdev/worktree_bootstrap.json",
|
|
9214
9293
|
".adhdev/worktree_bootstrap.yaml",
|
|
@@ -9825,15 +9904,24 @@ async function resolveSubmodulePushes(status, options, execute, timeoutMs) {
|
|
|
9825
9904
|
results.push({ ...base, code: "submodule_status_incomplete" });
|
|
9826
9905
|
continue;
|
|
9827
9906
|
}
|
|
9907
|
+
const remoteBranch = await resolveSubmoduleDefaultBranch({
|
|
9908
|
+
submoduleRepoPath: repoPath,
|
|
9909
|
+
superprojectWorkspace: status.repoRoot ?? status.workspace,
|
|
9910
|
+
submodulePath: submodule.path,
|
|
9911
|
+
timeoutMs
|
|
9912
|
+
});
|
|
9913
|
+
base.remoteBranch = remoteBranch;
|
|
9914
|
+
const remoteRef = `refs/remotes/origin/${remoteBranch}`;
|
|
9915
|
+
const fetchRefspec = `refs/heads/${remoteBranch}:${remoteRef}`;
|
|
9828
9916
|
try {
|
|
9829
|
-
await runGit(repoPath, ["-c", "protocol.file.allow=always", "fetch", "origin",
|
|
9917
|
+
await runGit(repoPath, ["-c", "protocol.file.allow=always", "fetch", "origin", fetchRefspec], { timeoutMs: timeoutMs ?? 3e4 });
|
|
9830
9918
|
} catch (error) {
|
|
9831
9919
|
results.push({ ...base, code: "submodule_fetch_failed", error: formatGitError2(error) });
|
|
9832
9920
|
continue;
|
|
9833
9921
|
}
|
|
9834
9922
|
let alreadyReachable = false;
|
|
9835
9923
|
try {
|
|
9836
|
-
await runGit(repoPath, ["merge-base", "--is-ancestor", submodule.commit,
|
|
9924
|
+
await runGit(repoPath, ["merge-base", "--is-ancestor", submodule.commit, remoteRef], { timeoutMs: timeoutMs ?? 15e3 });
|
|
9837
9925
|
alreadyReachable = true;
|
|
9838
9926
|
} catch {
|
|
9839
9927
|
}
|
|
@@ -9842,20 +9930,20 @@ async function resolveSubmodulePushes(status, options, execute, timeoutMs) {
|
|
|
9842
9930
|
continue;
|
|
9843
9931
|
}
|
|
9844
9932
|
try {
|
|
9845
|
-
await runGit(repoPath, ["merge-base", "--is-ancestor",
|
|
9933
|
+
await runGit(repoPath, ["merge-base", "--is-ancestor", remoteRef, submodule.commit], { timeoutMs: timeoutMs ?? 15e3 });
|
|
9846
9934
|
} catch (error) {
|
|
9847
9935
|
results.push({ ...base, pushed: false, skipped: false, code: "submodule_non_fast_forward", error: formatGitError2(error) });
|
|
9848
9936
|
continue;
|
|
9849
9937
|
}
|
|
9850
|
-
const refspec = `${submodule.commit}:refs/heads
|
|
9938
|
+
const refspec = `${submodule.commit}:refs/heads/${remoteBranch}`;
|
|
9851
9939
|
if (!execute) {
|
|
9852
9940
|
results.push({ ...base, pushed: false, skipped: false, code: "submodule_push_available", refspec });
|
|
9853
9941
|
continue;
|
|
9854
9942
|
}
|
|
9855
9943
|
try {
|
|
9856
9944
|
await runGit(repoPath, ["push", "origin", refspec], { timeoutMs: timeoutMs ?? 3e4 });
|
|
9857
|
-
await runGit(repoPath, ["-c", "protocol.file.allow=always", "fetch", "origin",
|
|
9858
|
-
await runGit(repoPath, ["merge-base", "--is-ancestor", submodule.commit,
|
|
9945
|
+
await runGit(repoPath, ["-c", "protocol.file.allow=always", "fetch", "origin", fetchRefspec], { timeoutMs: timeoutMs ?? 3e4 });
|
|
9946
|
+
await runGit(repoPath, ["merge-base", "--is-ancestor", submodule.commit, remoteRef], { timeoutMs: timeoutMs ?? 15e3 });
|
|
9859
9947
|
results.push({ ...base, pushed: true, skipped: false, code: "submodule_pushed", refspec });
|
|
9860
9948
|
} catch (error) {
|
|
9861
9949
|
results.push({ ...base, pushed: false, skipped: false, code: "submodule_push_failed", refspec, error: formatGitError2(error) });
|
|
@@ -10123,6 +10211,7 @@ var init_mesh_fast_forward = __esm({
|
|
|
10123
10211
|
"use strict";
|
|
10124
10212
|
init_git_status();
|
|
10125
10213
|
init_git_executor();
|
|
10214
|
+
init_worktree_bootstrap_config();
|
|
10126
10215
|
STATUS_OPTIONS = { refreshUpstream: true, includeSubmodules: true, timeoutMs: 15e3, forceFresh: true };
|
|
10127
10216
|
}
|
|
10128
10217
|
});
|
|
@@ -18498,6 +18587,9 @@ var init_approval_utils = __esm({
|
|
|
18498
18587
|
});
|
|
18499
18588
|
|
|
18500
18589
|
// src/logging/debug-config.ts
|
|
18590
|
+
function isAlwaysOnTraceCategory(category) {
|
|
18591
|
+
return !!category && ALWAYS_ON_TRACE_CATEGORIES.includes(category);
|
|
18592
|
+
}
|
|
18501
18593
|
function normalizeCategories(categories) {
|
|
18502
18594
|
if (!Array.isArray(categories)) return [];
|
|
18503
18595
|
return categories.map((category) => String(category || "").trim()).filter(Boolean);
|
|
@@ -18527,17 +18619,19 @@ function resetDebugRuntimeConfig() {
|
|
|
18527
18619
|
}
|
|
18528
18620
|
function shouldCollectTraceCategory(category) {
|
|
18529
18621
|
const config = currentConfig;
|
|
18622
|
+
if (isAlwaysOnTraceCategory(category)) return true;
|
|
18530
18623
|
if (!config.collectDebugTrace) return false;
|
|
18531
18624
|
if (!category) return true;
|
|
18532
18625
|
if (config.traceCategories.length === 0) return true;
|
|
18533
18626
|
return config.traceCategories.includes(category);
|
|
18534
18627
|
}
|
|
18535
|
-
var NORMAL_TRACE_BUFFER_SIZE, DEV_TRACE_BUFFER_SIZE, DEFAULT_CONFIG2, currentConfig;
|
|
18628
|
+
var NORMAL_TRACE_BUFFER_SIZE, DEV_TRACE_BUFFER_SIZE, ALWAYS_ON_TRACE_CATEGORIES, DEFAULT_CONFIG2, currentConfig;
|
|
18536
18629
|
var init_debug_config = __esm({
|
|
18537
18630
|
"src/logging/debug-config.ts"() {
|
|
18538
18631
|
"use strict";
|
|
18539
18632
|
NORMAL_TRACE_BUFFER_SIZE = 200;
|
|
18540
18633
|
DEV_TRACE_BUFFER_SIZE = 1e3;
|
|
18634
|
+
ALWAYS_ON_TRACE_CATEGORIES = ["completion-gate", "fsm-transition"];
|
|
18541
18635
|
DEFAULT_CONFIG2 = {
|
|
18542
18636
|
logLevel: "info",
|
|
18543
18637
|
collectDebugTrace: false,
|
|
@@ -30629,7 +30723,7 @@ function createDebugTraceStore(options) {
|
|
|
30629
30723
|
const capacity = Math.max(1, Math.floor(options.capacity || 100));
|
|
30630
30724
|
return {
|
|
30631
30725
|
record(event) {
|
|
30632
|
-
if (!options.enabled) return null;
|
|
30726
|
+
if (!options.enabled && !isAlwaysOnTraceCategory(event.category)) return null;
|
|
30633
30727
|
const entry = createEntry(event);
|
|
30634
30728
|
entries.push(entry);
|
|
30635
30729
|
if (entries.length > capacity) {
|
|
@@ -55262,6 +55356,7 @@ async function runMeshRefineSubmoduleReachabilityGate(repoRoot, mergedTree, opti
|
|
|
55262
55356
|
commit: gitlink.commit,
|
|
55263
55357
|
reachable: false
|
|
55264
55358
|
};
|
|
55359
|
+
let submoduleDefaultBranch = "main";
|
|
55265
55360
|
try {
|
|
55266
55361
|
if (!fs30.existsSync(submodulePath)) {
|
|
55267
55362
|
entry.error = `Submodule checkout missing at ${gitlink.path}`;
|
|
@@ -55314,9 +55409,14 @@ async function runMeshRefineSubmoduleReachabilityGate(repoRoot, mergedTree, opti
|
|
|
55314
55409
|
entries.push(entry);
|
|
55315
55410
|
continue;
|
|
55316
55411
|
}
|
|
55317
|
-
|
|
55412
|
+
submoduleDefaultBranch = await resolveSubmoduleDefaultBranch({
|
|
55413
|
+
submoduleRepoPath: submodulePath,
|
|
55414
|
+
superprojectWorkspace: repoRoot,
|
|
55415
|
+
submodulePath: gitlink.path
|
|
55416
|
+
});
|
|
55417
|
+
entry.remoteMainBranch = submoduleDefaultBranch;
|
|
55318
55418
|
try {
|
|
55319
|
-
await verifyRemoteMainContainsCommit(submodulePath, gitlink.commit,
|
|
55419
|
+
await verifyRemoteMainContainsCommit(submodulePath, gitlink.commit, submoduleDefaultBranch);
|
|
55320
55420
|
entry.fetchedFromOrigin = true;
|
|
55321
55421
|
entry.remoteReachable = true;
|
|
55322
55422
|
entry.remoteMainReachable = true;
|
|
@@ -55326,17 +55426,17 @@ async function runMeshRefineSubmoduleReachabilityGate(repoRoot, mergedTree, opti
|
|
|
55326
55426
|
entry.remoteMainReachable = false;
|
|
55327
55427
|
entry.publishRequired = true;
|
|
55328
55428
|
const details = truncateValidationOutput(e?.stderr || e?.message || String(e));
|
|
55329
|
-
entry.error = `Submodule remote main reachability check failed for origin
|
|
55429
|
+
entry.error = `Submodule remote main reachability check failed for origin/${submoduleDefaultBranch}: ${details}`;
|
|
55330
55430
|
if (options.allowAutoPublishSubmoduleMainCommits === true && entry.localReachable === true) {
|
|
55331
55431
|
entry.autoPublishAllowed = true;
|
|
55332
55432
|
entry.autoPublishAttempted = true;
|
|
55333
55433
|
try {
|
|
55334
|
-
const publish = await publishCommitToRemoteMain(submodulePath, gitlink.commit,
|
|
55434
|
+
const publish = await publishCommitToRemoteMain(submodulePath, gitlink.commit, submoduleDefaultBranch);
|
|
55335
55435
|
entry.autoPublishRefspec = publish.refspec;
|
|
55336
55436
|
entry.publishStdout = truncateValidationOutput(publish.stdout);
|
|
55337
55437
|
entry.publishStderr = truncateValidationOutput(publish.stderr);
|
|
55338
55438
|
entry.autoPublishSucceeded = true;
|
|
55339
|
-
await verifyRemoteMainContainsCommit(submodulePath, gitlink.commit,
|
|
55439
|
+
await verifyRemoteMainContainsCommit(submodulePath, gitlink.commit, submoduleDefaultBranch);
|
|
55340
55440
|
entry.fetchedFromOrigin = true;
|
|
55341
55441
|
entry.remoteReachable = true;
|
|
55342
55442
|
entry.remoteMainReachable = true;
|
|
@@ -55348,12 +55448,12 @@ async function runMeshRefineSubmoduleReachabilityGate(repoRoot, mergedTree, opti
|
|
|
55348
55448
|
entry.autoPublishSucceeded = false;
|
|
55349
55449
|
entry.autoPublishVerified = false;
|
|
55350
55450
|
const publishDetails = truncateValidationOutput(publishError?.stderr || publishError?.message || String(publishError));
|
|
55351
|
-
entry.error = `Submodule auto-publish to origin
|
|
55451
|
+
entry.error = `Submodule auto-publish to origin/${submoduleDefaultBranch} failed or could not be verified: ${publishDetails}`;
|
|
55352
55452
|
}
|
|
55353
55453
|
} else if (options.allowAutoPublishSubmoduleMainCommits === true) {
|
|
55354
55454
|
entry.autoPublishAllowed = true;
|
|
55355
55455
|
entry.autoPublishAttempted = false;
|
|
55356
|
-
entry.autoPublishSkippedReason = entry.autoPublishSkippedReason ||
|
|
55456
|
+
entry.autoPublishSkippedReason = entry.autoPublishSkippedReason || `candidate commit is not reachable in the source checkout or worktree submodule, so Refinery cannot push it to origin/${submoduleDefaultBranch}`;
|
|
55357
55457
|
}
|
|
55358
55458
|
}
|
|
55359
55459
|
} catch (e) {
|
|
@@ -55361,7 +55461,7 @@ async function runMeshRefineSubmoduleReachabilityGate(repoRoot, mergedTree, opti
|
|
|
55361
55461
|
entry.remoteMainReachable = false;
|
|
55362
55462
|
entry.publishRequired = true;
|
|
55363
55463
|
const details = truncateValidationOutput(e?.stderr || e?.message || String(e));
|
|
55364
|
-
entry.error = `Submodule remote main reachability check failed for origin
|
|
55464
|
+
entry.error = `Submodule remote main reachability check failed for origin/${submoduleDefaultBranch}: ${details}`;
|
|
55365
55465
|
}
|
|
55366
55466
|
} catch (e) {
|
|
55367
55467
|
entry.error = truncateValidationOutput(e?.message || String(e));
|
|
@@ -66660,6 +66760,7 @@ var V1_ALL_PRIMITIVES = Object.freeze(
|
|
|
66660
66760
|
);
|
|
66661
66761
|
var V1_CONTRACT_VERSION = "1.0.0";
|
|
66662
66762
|
export {
|
|
66763
|
+
ALWAYS_ON_TRACE_CATEGORIES,
|
|
66663
66764
|
AcpProviderInstance,
|
|
66664
66765
|
AgentStreamPoller,
|
|
66665
66766
|
BUILTIN_CHAT_MESSAGE_KINDS,
|
|
@@ -66891,6 +66992,7 @@ export {
|
|
|
66891
66992
|
installGlobalInterceptor,
|
|
66892
66993
|
interactivePromptFromClaudeAskUserQuestion,
|
|
66893
66994
|
isActivityChatMessage,
|
|
66995
|
+
isAlwaysOnTraceCategory,
|
|
66894
66996
|
isBuiltinChatMessageKind,
|
|
66895
66997
|
isCdpConnected,
|
|
66896
66998
|
isExtensionInstalled,
|