taskflow-mcp-core 0.2.9 → 0.3.0-beta.1

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.
@@ -223,14 +223,44 @@ export function refreshDetachedRun(cwd, runId) {
223
223
  export function cancelMcpBackgroundRun(cwd, runId, reason) {
224
224
  return requestDetachedCancel(cwd, runId, reason);
225
225
  }
226
+ function hasActiveAuthenticatedWorkerLease(state) {
227
+ if (state.status === "running" ||
228
+ state.detachedControlVersion !== DETACHED_CONTROL_VERSION ||
229
+ !state.detachedInstanceId ||
230
+ typeof state.pid !== "number")
231
+ return false;
232
+ const registry = readDetachedProcessRegistry(state.cwd, state.runId);
233
+ if (!registry || registry.instanceId !== state.detachedInstanceId || registry.ownerPid !== state.pid)
234
+ return false;
235
+ const liveness = probeProcess(state.pid);
236
+ const heartbeatFresh = Date.now() - registry.heartbeatAt <= HEARTBEAT_STALE_MS;
237
+ if (liveness !== "dead" && heartbeatFresh)
238
+ return true;
239
+ if (liveness === "alive")
240
+ killProcessTree(state.pid, "SIGKILL");
241
+ if (liveness === "alive" || liveness === "dead") {
242
+ terminateDetachedProcessTrees(state.cwd, state.runId, state.detachedInstanceId);
243
+ clearDetachedProcessRegistry(state.cwd, state.runId, state.detachedInstanceId);
244
+ return false;
245
+ }
246
+ // Unknown liveness (for example EPERM) cannot safely authorize signalling
247
+ // or claim that the authenticated worker has become quiescent.
248
+ return true;
249
+ }
226
250
  export async function waitForMcpBackgroundRun(cwd, runId, timeoutMs, signal) {
227
251
  const deadline = Date.now() + Math.max(0, timeoutMs);
228
252
  let state = refreshDetachedRun(cwd, runId);
229
- while (state?.status === "running" && Date.now() < deadline && !signal?.aborted) {
253
+ while (state && (state.status === "running" || hasActiveAuthenticatedWorkerLease(state))) {
254
+ if (signal?.aborted)
255
+ return { state, quiescent: false, reason: "aborted" };
256
+ if (Date.now() >= deadline)
257
+ return { state, quiescent: false, reason: "timeout" };
230
258
  await new Promise((resolve) => setTimeout(resolve, Math.min(WAIT_POLL_MS, Math.max(1, deadline - Date.now()))));
231
259
  state = refreshDetachedRun(cwd, runId);
232
260
  }
233
- return state;
261
+ if (!state)
262
+ return { state: null, quiescent: false, reason: "not-found" };
263
+ return { state, quiescent: true, reason: "quiescent" };
234
264
  }
235
265
  /**
236
266
  * Read the project-backed background roster, refreshing orphaned processes
@@ -1 +1 @@
1
- {"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/mcp/background.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/mcp/background.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  * - taskflow_peek : inspect a stored run's intermediate phase output
25
25
  * - taskflow_trace : read a run's append-only event trace
26
26
  * - taskflow_replay : re-evaluate a recorded trace under alternate knobs (zero tokens)
27
- * - taskflow_why_stale / taskflow_recompute / taskflow_reconcile_workspace
27
+ * - taskflow_why_stale / taskflow_why_effect / taskflow_recompute / taskflow_reconcile_workspace
28
28
  * - taskflow_save / taskflow_search
29
29
  */
30
30
  import { type RpcContext, type RpcHandler } from "./jsonrpc.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAA6B,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,EASN,KAAK,qBAAqB,EAC1B,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAON,OAAO,EAoBP,KAAK,QAAQ,EAGb,KAAK,UAAU,EAUf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAmOjE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpF;AAqcD;;;oEAGoE;AACpE,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED;;8CAE8C;AAC9C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrE;AAmBD,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,GAAE,OAAO,OAAiB,GAC7B,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EACnC,IAAI,CAAC,EAAE,cAAc,GACnB,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAilB3F;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA+BnI;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,GAAG,GAAE,MAAsB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAErI"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAA6B,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,EASN,KAAK,qBAAqB,EAC1B,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAON,OAAO,EAqBP,KAAK,QAAQ,EAIb,KAAK,UAAU,EAUf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAqOjE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpF;AAmgBD;;;oEAGoE;AACpE,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED;;8CAE8C;AAC9C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrE;AA4BD,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,GAAE,OAAO,OAAiB,GAC7B,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EACnC,IAAI,CAAC,EAAE,cAAc,GACnB,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CA4nB3F;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA+BnI;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,GAAG,GAAE,MAAsB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAErI"}
@@ -24,21 +24,21 @@
24
24
  * - taskflow_peek : inspect a stored run's intermediate phase output
25
25
  * - taskflow_trace : read a run's append-only event trace
26
26
  * - taskflow_replay : re-evaluate a recorded trace under alternate knobs (zero tokens)
27
- * - taskflow_why_stale / taskflow_recompute / taskflow_reconcile_workspace
27
+ * - taskflow_why_stale / taskflow_why_effect / taskflow_recompute / taskflow_reconcile_workspace
28
28
  * - taskflow_save / taskflow_search
29
29
  */
30
30
  import { RpcError, RPC, serveStdio } from "./jsonrpc.js";
31
31
  import { renderFlowSvg, renderFlowOutline, svgToBase64 } from "./svg.js";
32
32
  import { BACKGROUND_RUN_WARNING_THRESHOLD, cancelMcpBackgroundRun, formatBackgroundRun, launchMcpBackgroundRun, listMcpBackgroundRuns, refreshDetachedRun, waitForMcpBackgroundRun, } from "./background.js";
33
- import { readFileSync, realpathSync } from "node:fs";
33
+ import { lstatSync, readFileSync, realpathSync } from "node:fs";
34
34
  import { basename, dirname, join, resolve, relative, isAbsolute } from "node:path";
35
35
  import { tmpdir } from "node:os";
36
36
  import { fileURLToPath } from "node:url";
37
- import { discoverAgents, executeTaskflow, getFlowDiagnosed, listFlows, newRunId, peekRun, saveRun, readDefineFile, describeLoadFailure, compileTaskflow, verifyTaskflow, desugar, isShorthand, validateTaskflow, resolveArgs, cwdBridgeModeFromEnv, directoryIdentity, readSubagentSettings, readMeta, saveFlowWithMeta, bumpReuseInSidecar, deriveMeta, searchLibrary, replayRun, upgradeTraceEvent, reconcileResolveOnlyWorkspace, clearDetachedCancelRequest, DETACHED_CONTROL_VERSION, WORKSPACE_RECONCILE_ACKNOWLEDGEMENT, workspaceReconcileAllowedFromEnv, } from "taskflow-core";
37
+ import { discoverAgents, executeTaskflow, getFlowDiagnosed, listFlows, newRunId, peekRun, saveRun, readDefineFileWithSource, describeLoadFailure, compileTaskflow, verifyTaskflow, desugar, isShorthand, validateTaskflow, resolveArgs, cwdBridgeModeFromEnv, directoryIdentity, readSubagentSettings, readMeta, readMetaNextTo, saveFlowWithMeta, bumpReuseInSidecar, deriveMeta, searchLibrary, replayRun, upgradeTraceEvent, reconcileResolveOnlyWorkspace, clearDetachedCancelRequest, DETACHED_CONTROL_VERSION, WORKSPACE_RECONCILE_ACKNOWLEDGEMENT, workspaceReconcileAllowedFromEnv, } from "taskflow-core";
38
38
  import { getBuildInfo } from "taskflow-core";
39
39
  import { builtinVerifiers, discoverVerifiers } from "taskflow-core";
40
40
  import { forkRunForResume, validateResumeRequest } from "taskflow-core";
41
- import { runsDir, traceFilePath, FileTraceSink, readTrace, loadRunDiagnosed, readMapOf, declaredReadMapOfDef, formatWhyStale, recomputeTaskflow, preflightTaskflow, formatPreflightReport, formatRecomputeSavingsHeader, formatRunCacheLine, analyzeFlowRuns, formatAnalyticsReport, } from "taskflow-core";
41
+ import { runsDir, traceFilePath, FileTraceSink, readTrace, loadRunDiagnosed, readMapOf, declaredReadMapOfDef, formatWhyStale, whyEffectFromDurableJournal, formatWhyEffect, recomputeTaskflow, preflightTaskflow, formatPreflightReport, formatRecomputeSavingsHeader, formatRunCacheLine, analyzeFlowRuns, formatAnalyticsReport, } from "taskflow-core";
42
42
  const PROTOCOL_VERSION = "2025-06-18";
43
43
  const SERVER_VERSION = readServerVersion();
44
44
  /** Build the MCP serverInfo, reflecting the bound host identity (0.2.0 dogfood
@@ -562,6 +562,22 @@ const TOOLS = [
562
562
  required: ["runId"],
563
563
  },
564
564
  },
565
+ {
566
+ name: "taskflow_why_effect",
567
+ title: "Explain why a declared effect is authorized",
568
+ description: "Given a runId + effectId (+ optional phaseId): explain authorization and lifecycle from the durable resource intent ledger. Zero tokens and read-only. A declaration without matching principal/capability/intent evidence is unauthorized.",
569
+ inputSchema: {
570
+ type: "object",
571
+ additionalProperties: false,
572
+ properties: {
573
+ runId: { type: "string", description: "The run whose flow definition declares the effect." },
574
+ effectId: { type: "string", description: "Effect id as declared on the phase (or phaseId/effectId composite)." },
575
+ phaseId: { type: "string", description: "Optional phase scope when the same effect id appears on multiple phases." },
576
+ json: { type: "boolean", description: "Return the full WhyEffect record as JSON." },
577
+ },
578
+ required: ["runId", "effectId"],
579
+ },
580
+ },
565
581
  {
566
582
  name: "taskflow_recompute",
567
583
  title: "Re-run a stored run's stale frontier (dry-run only)",
@@ -636,9 +652,18 @@ const TOOLS = [
636
652
  inputSchema: { type: "object", additionalProperties: false, properties: {} },
637
653
  },
638
654
  ];
639
- /** Resolve a flow from params: inline `define` (desugared), `defineFile` (disk), or saved `name`. */
640
655
  function resolvePermittedDefineFile(cwd, requested) {
641
656
  const lexical = resolve(cwd, requested);
657
+ try {
658
+ if (lstatSync(lexical).isSymbolicLink()) {
659
+ throw new RpcError(RPC.INVALID_PARAMS, `defineFile must not be a symlink: ${requested}`);
660
+ }
661
+ }
662
+ catch (error) {
663
+ if (error instanceof RpcError)
664
+ throw error;
665
+ // Missing/unreadable paths retain the normal loader diagnostic below.
666
+ }
642
667
  let candidate = lexical;
643
668
  try {
644
669
  candidate = realpathSync(lexical);
@@ -668,27 +693,51 @@ function resolvePermittedDefineFile(cwd, requested) {
668
693
  if (!allowed) {
669
694
  throw new RpcError(RPC.INVALID_PARAMS, `defineFile must be contained in the server cwd or OS temp directory: ${requested}`);
670
695
  }
671
- return candidate;
696
+ return { filePath: candidate, allowedRoots: rootCandidates };
672
697
  }
673
- function resolveFlow(cwd, params) {
698
+ function resolveFlowWithSource(cwd, params) {
699
+ let flowSourceFile;
700
+ let flowSourceDirIdentity;
674
701
  if (params.define === undefined && typeof params.defineFile === "string" && params.defineFile.trim()) {
675
- const filePath = resolvePermittedDefineFile(cwd, params.defineFile);
676
- const fromFile = readDefineFile(filePath);
702
+ const permitted = resolvePermittedDefineFile(cwd, params.defineFile);
703
+ const fromFile = readDefineFileWithSource(permitted.filePath, permitted.allowedRoots);
677
704
  if (!fromFile.ok)
678
705
  throw new RpcError(RPC.INVALID_PARAMS, describeLoadFailure(fromFile, "defineFile"));
679
- params = { ...params, define: fromFile.value };
706
+ flowSourceFile = fromFile.value.filePath;
707
+ flowSourceDirIdentity = fromFile.value.sourceDirIdentity;
708
+ params = { ...params, define: fromFile.value.value };
680
709
  }
681
710
  if (params.define !== undefined && params.define !== null) {
682
- return isShorthand(params.define) ? desugar(params.define) : params.define;
711
+ return {
712
+ def: isShorthand(params.define) ? desugar(params.define) : params.define,
713
+ flowSourceFile,
714
+ flowSourceDirIdentity,
715
+ };
683
716
  }
684
717
  if (params.name) {
685
718
  const r = getFlowDiagnosed(cwd, params.name);
686
719
  if (!r.ok)
687
720
  throw new RpcError(RPC.INVALID_PARAMS, describeLoadFailure(r, `Saved flow "${params.name}"`));
688
- return r.value.def;
721
+ return {
722
+ def: r.value.def,
723
+ flowSourceFile: r.value.filePath,
724
+ flowSourceDirIdentity: r.value.sourceDirIdentity,
725
+ };
689
726
  }
690
727
  throw new RpcError(RPC.INVALID_PARAMS, "Provide either `name` (a saved flow) or `define` (an inline flow).");
691
728
  }
729
+ /** Store-backed saved-flow loader for `flow{use}` resolution in pre-run
730
+ * validation. Mirrors the runtime `loadFlow` lookup; returns undefined for
731
+ * names the store cannot resolve so runtime admission stays authoritative. */
732
+ function savedFlowLoader(cwd) {
733
+ return (name) => {
734
+ const r = getFlowDiagnosed(cwd, name);
735
+ return r.ok ? r.value.def : undefined;
736
+ };
737
+ }
738
+ function resolveFlow(cwd, params) {
739
+ return resolveFlowWithSource(cwd, params).def;
740
+ }
692
741
  /** Stamp a freshly-created RunState with build/host identity (0.2.0 dogfood
693
742
  * issue 4). Backward-compatible: only sets optional fields. Pure (mutates the
694
743
  * passed state in place for convenience). */
@@ -700,7 +749,7 @@ export function stampRunIdentity(state, host) {
700
749
  if (host)
701
750
  state.host = host;
702
751
  }
703
- function mkRunState(def, args, cwd, host) {
752
+ function mkRunState(def, args, cwd, host, flowSourceFile, flowSourceDirIdentity) {
704
753
  const state = {
705
754
  runId: newRunId(def.name ?? "flow"),
706
755
  flowName: def.name ?? "flow",
@@ -711,6 +760,8 @@ function mkRunState(def, args, cwd, host) {
711
760
  createdAt: Date.now(),
712
761
  updatedAt: Date.now(),
713
762
  cwd,
763
+ flowSourceFile,
764
+ flowSourceDirIdentity,
714
765
  invocationRootSnapshot: directoryIdentity(cwd),
715
766
  };
716
767
  stampRunIdentity(state, host);
@@ -738,15 +789,17 @@ export function makeToolHandlers(cwd, runner, opts) {
738
789
  const reusedSavedName = args.define === undefined && args.defineFile === undefined && typeof args.name === "string" && args.name.trim()
739
790
  ? args.name.trim()
740
791
  : undefined;
741
- const def = resolveFlow(cwd, args);
742
- const structural = validateTaskflow(def);
792
+ const resolvedFlow = resolveFlowWithSource(cwd, args);
793
+ const def = resolvedFlow.def;
794
+ const loadSaved = savedFlowLoader(cwd);
795
+ const structural = validateTaskflow(def, { resolveFlow: loadSaved });
743
796
  if (!structural.ok)
744
797
  return textContent(`Flow is invalid:\n- ${structural.errors.join("\n- ")}`, true);
745
798
  const providedArgs = args.args && typeof args.args === "object" && !Array.isArray(args.args)
746
799
  ? args.args
747
800
  : {};
748
801
  const resolvedArgs = resolveArgs(def, providedArgs);
749
- const invocation = validateTaskflow(def, { args: resolvedArgs, cwd });
802
+ const invocation = validateTaskflow(def, { args: resolvedArgs, cwd, resolveFlow: loadSaved });
750
803
  if (!invocation.ok)
751
804
  return textContent(`Flow invocation is invalid:\n- ${invocation.errors.join("\n- ")}`, true);
752
805
  const usageAccounting = runner.usageAccounting;
@@ -771,12 +824,12 @@ export function makeToolHandlers(cwd, runner, opts) {
771
824
  signal: context?.signal,
772
825
  usageAccounting,
773
826
  cwdBridgeMode: cwdBridgeModeFromEnv(),
774
- loadFlow: (name) => {
827
+ loadSavedFlow: (name) => {
775
828
  const loaded = getFlowDiagnosed(cwd, name);
776
- return loaded.ok ? loaded.value.def : undefined;
829
+ return loaded.ok ? { def: loaded.value.def, filePath: loaded.value.filePath, sourceDirIdentity: loaded.value.sourceDirIdentity } : undefined;
777
830
  },
778
831
  };
779
- const state = mkRunState(def, resolvedArgs, cwd, host);
832
+ const state = mkRunState(def, resolvedArgs, cwd, host, resolvedFlow.flowSourceFile, resolvedFlow.flowSourceDirIdentity);
780
833
  if (args.mode === "background") {
781
834
  if (!opts?.detachedRunner) {
782
835
  return textContent("Background mode is unavailable because this MCP host did not provide a detached runner binding.", true);
@@ -889,7 +942,15 @@ export function makeToolHandlers(cwd, runner, opts) {
889
942
  return textContent(formatBackgroundRun(state, true));
890
943
  if (action === "wait") {
891
944
  const timeoutMs = Math.max(0, Math.min(300_000, typeof args.timeoutMs === "number" ? Math.floor(args.timeoutMs) : 30_000));
892
- state = await waitForMcpBackgroundRun(cwd, runId, timeoutMs, context?.signal) ?? state;
945
+ const waited = await waitForMcpBackgroundRun(cwd, runId, timeoutMs, context?.signal);
946
+ state = waited.state ?? state;
947
+ if (!waited.quiescent) {
948
+ const reason = waited.reason === "aborted" ? "Wait was aborted" : "Wait timed out";
949
+ const activity = state.status === "running"
950
+ ? "the run is still active"
951
+ : `the ${state.status} result is persisted but its detached worker is still finalizing`;
952
+ return textContent(`${reason}; ${activity}. Retry taskflow_runs wait.\nRun ${state.runId} · pid ${state.pid ?? "unknown"} · cwd ${state.cwd}`);
953
+ }
893
954
  return textContent(formatBackgroundRun(state, true), state.status !== "running" && state.status !== "completed");
894
955
  }
895
956
  if (action === "cancel") {
@@ -939,15 +1000,21 @@ export function makeToolHandlers(cwd, runner, opts) {
939
1000
  }
940
1001
  const child = forkRunForResume(prev, { overrides, cwd, host });
941
1002
  const settings = readSubagentSettings();
942
- const { agents } = discoverAgents(cwd, "both", settings.modelRoles, settings.taskflow);
1003
+ const agentScope = child.def.agentScope ?? "both";
1004
+ const { agents } = discoverAgents(cwd, agentScope, settings.modelRoles, settings.taskflow);
943
1005
  const deps = {
944
1006
  cwd,
945
1007
  agents,
1008
+ globalThinking: settings.globalThinking,
946
1009
  runTask: runner.runTask,
947
1010
  signal: context?.signal,
948
1011
  usageAccounting: runner.usageAccounting,
949
1012
  cwdBridgeMode: cwdBridgeModeFromEnv(),
950
1013
  trace: new FileTraceSink(traceFilePath(runsDir(cwd), child.flowName, child.runId)),
1014
+ loadSavedFlow: (name) => {
1015
+ const loaded = getFlowDiagnosed(cwd, name);
1016
+ return loaded.ok ? { def: loaded.value.def, filePath: loaded.value.filePath, sourceDirIdentity: loaded.value.sourceDirIdentity } : undefined;
1017
+ },
951
1018
  };
952
1019
  const cleanupConfig = {
953
1020
  maxKeep: settings.taskflow.maxKeptRuns,
@@ -1028,6 +1095,30 @@ export function makeToolHandlers(cwd, runner, opts) {
1028
1095
  const seeds = typeof args.phaseId === "string" ? [args.phaseId] : [];
1029
1096
  return textContent(formatWhyStale(run.runId, run.flowName, reads, seeds, declared));
1030
1097
  },
1098
+ taskflow_why_effect: async (args) => {
1099
+ const runId = String(args.runId ?? "");
1100
+ const effectId = String(args.effectId ?? "");
1101
+ if (!runId)
1102
+ return textContent("taskflow_why_effect requires `runId`.", true);
1103
+ if (!effectId)
1104
+ return textContent("taskflow_why_effect requires `effectId`.", true);
1105
+ const runR = loadRunDiagnosed(cwd, runId);
1106
+ if (!runR.ok)
1107
+ return textContent(describeLoadFailure(runR, `Run "${runId}"`), true);
1108
+ const run = runR.value;
1109
+ const result = await whyEffectFromDurableJournal({
1110
+ flow: run.def,
1111
+ runId: run.runId,
1112
+ effectId,
1113
+ phaseId: typeof args.phaseId === "string" ? args.phaseId : undefined,
1114
+ workspaceRoot: run.cwd,
1115
+ });
1116
+ if (!result.ok)
1117
+ return textContent(result.error, true);
1118
+ if (args.json === true)
1119
+ return textContent(JSON.stringify(result.why, null, 2));
1120
+ return textContent(formatWhyEffect(result.why));
1121
+ },
1031
1122
  taskflow_recompute: async (args, context) => {
1032
1123
  // MCP exposes recompute as DRY-RUN ONLY (never spends tokens). To actually
1033
1124
  // re-execute, hosts use the Pi adapter's /tf recompute --apply.
@@ -1070,7 +1161,7 @@ export function makeToolHandlers(cwd, runner, opts) {
1070
1161
  if (flows.length === 0)
1071
1162
  return textContent("No saved taskflows found from this directory.");
1072
1163
  const lines = flows.map((f) => {
1073
- const metaR = readMeta(cwd, f.name);
1164
+ const metaR = readMetaNextTo(f.filePath);
1074
1165
  const meta = metaR.ok ? metaR.value : undefined;
1075
1166
  if (meta?.purpose) {
1076
1167
  const purpose = meta.purpose.length > 20 ? meta.purpose.slice(0, 20) + "…" : meta.purpose;
@@ -1086,7 +1177,7 @@ export function makeToolHandlers(cwd, runner, opts) {
1086
1177
  if (!savedR.ok)
1087
1178
  return textContent(describeLoadFailure(savedR, `Saved flow "${name}"`), true);
1088
1179
  const saved = savedR.value;
1089
- const metaR = readMeta(cwd, name);
1180
+ const metaR = readMetaNextTo(saved.filePath);
1090
1181
  const meta = metaR.ok ? metaR.value : undefined;
1091
1182
  if (meta) {
1092
1183
  const out = { definition: saved.def, library: { purpose: meta.purpose, tags: meta.tags, notes: meta.notes, generality: meta.generality, reuseCount: meta.reuseCount, version: meta.version, phaseSignature: meta.phaseSignature } };