@minicor/mcp-server 4.19.1 → 4.19.2

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.
@@ -61,6 +61,10 @@ function codeOf(e) {
61
61
  }
62
62
  /** A build run is considered stalled after this long in `queued`. */
63
63
  const BUILDER_STALL_MS = 2 * 60 * 1000;
64
+ /** Open questions are typed objects on newer services and bare strings on legacy ones (= advisory ambiguity). `questionText` is the answer key; `questionLabel` renders "[severity] kind: question" (never `[object Object]`); `blockingQuestionsOf` gates the build — the service's split when present, else derived from severity. */
65
+ const questionText = (q) => (typeof q === "string" ? q : q.question);
66
+ const questionLabel = (q) => (typeof q === "string" ? `[advisory] ambiguity: ${q}` : `[${q.severity}] ${q.kind}: ${q.question}`);
67
+ const blockingQuestionsOf = (bp) => bp.blockingQuestions ?? (bp.document?.openQuestions ?? []).filter((q) => typeof q !== "string" && q.severity === "blocks_build").map(questionText);
64
68
  /** True when the spec document has no substance yet (nothing to build from). */
65
69
  function specIsEmpty(bp) {
66
70
  const doc = bp.document ?? {};
@@ -216,10 +220,11 @@ export function register(deps) {
216
220
  return ok({
217
221
  blueprint,
218
222
  inbox: {
219
- openQuestions: blueprint.document?.openQuestions ?? [],
223
+ openQuestions: (blueprint.document?.openQuestions ?? []).map(questionLabel),
220
224
  pendingProposal: blueprint.pendingProposal
221
225
  ? {
222
226
  summary: blueprint.pendingProposal.summary,
227
+ contentIssues: blueprint.pendingProposal.contentIssues,
223
228
  baseVersion: blueprint.pendingProposal.baseVersion,
224
229
  basedOnSeq: blueprint.pendingProposal.basedOnSeq,
225
230
  createdAt: blueprint.pendingProposal.createdAt,
@@ -542,12 +547,13 @@ export function register(deps) {
542
547
  }
543
548
  return ok({
544
549
  proposal,
550
+ openQuestions: (proposal.patch?.openQuestions ?? []).map(questionLabel),
545
551
  applyWith: {
546
552
  baseVersion: proposal.baseVersion,
547
553
  proposalBasedOnSeq: proposal.basedOnSeq,
548
554
  },
549
555
  nextActions: [
550
- `Apply: blueprint_apply_proposal blueprintId=${blueprintId} baseVersion=${proposal.baseVersion} proposalBasedOnSeq=${proposal.basedOnSeq}. Reject: blueprint_reject_proposal blueprintId=${blueprintId}.`,
556
+ `Apply: blueprint_apply_proposal blueprintId=${blueprintId} baseVersion=${proposal.baseVersion} proposalBasedOnSeq=${proposal.basedOnSeq}. Reject: blueprint_reject_proposal blueprintId=${blueprintId}.${proposal.contentIssues?.blocking ? ` NOTE: this proposal carries ${proposal.contentIssues.blocking} build-blocking question(s) (contentIssues) — after apply, answer them before blueprint_build.` : ""}`,
551
557
  ],
552
558
  });
553
559
  }
@@ -606,7 +612,7 @@ export function register(deps) {
606
612
  await client.applyBlueprintProposal(workspaceId, blueprintId, {
607
613
  basedOnSeq: proposalBasedOnSeq,
608
614
  }));
609
- const openQuestions = blueprint.document?.openQuestions ?? [];
615
+ const openQuestions = (blueprint.document?.openQuestions ?? []).map(questionLabel);
610
616
  return ok({
611
617
  status: "applied",
612
618
  headVersion: blueprint.headVersion ?? null,
@@ -615,7 +621,7 @@ export function register(deps) {
615
621
  ...stateReadWarning(blueprintId, stateReadError),
616
622
  nextActions: openQuestions.length
617
623
  ? [
618
- `The applied spec carries ${openQuestions.length} open question(s) — answer each with blueprint_answer_question, then blueprint_synthesize ONCE to fold the answers, then blueprint_build.`,
624
+ `The applied spec carries ${openQuestions.length} open question(s), ${blockingQuestionsOf(blueprint).length} of which block the build — answer the blocking ones with blueprint_answer_question (advisory ones are optional), then blueprint_synthesize ONCE to fold the answers, then blueprint_build.`,
619
625
  ]
620
626
  : [
621
627
  `Spec applied (v${blueprint.headVersion}) — blueprint_build blueprintId=${blueprintId} to sync it into the job.`,
@@ -702,12 +708,12 @@ export function register(deps) {
702
708
  }
703
709
  });
704
710
  // ── blueprint_answer_question ──────────────────────────────
705
- server.tool("blueprint_answer_question", "Answer ONE open synthesis question atomically: the service removes it from document.openQuestions, stores the answer as a note entry, and snapshots a version in a single transaction. `question` must match the openQuestions text EXACTLY (from blueprint_get / resolve_blueprint_state). A 404 means another writer already answered it — that is CONVERGENCE, not failure; move to the next question. Builder questions (build run needs_input) are NOT answered here — use answer_build_question. DRIFT NOTE: each answer bumps librarySeq, so the spec goes spec_stale — answer ALL open questions first, then run blueprint_synthesize ONCE; never loop answer->synthesize per question.", {
711
+ server.tool("blueprint_answer_question", "Answer ONE open synthesis question atomically: the service removes it from document.openQuestions, stores the answer as a note entry, and snapshots a version in a single transaction. `question` must match the question TEXT EXACTLY — for typed questions that is the `question` field, NOT the '[severity] kind:' label resolve_blueprint_state renders; copy it from resolve_blueprint_state's prefilled blueprint_answer_question calls. Only blocks_build questions gate blueprint_build; advisory ones are optional. A 404 means another writer already answered it — that is CONVERGENCE, not failure; move to the next question. Builder questions (build run needs_input) are NOT answered here — use answer_build_question. DRIFT NOTE: each answer bumps librarySeq, so the spec goes spec_stale — answer ALL open questions first, then run blueprint_synthesize ONCE; never loop answer->synthesize per question.", {
706
712
  workspaceId: z.number().describe("Workspace ID"),
707
713
  blueprintId: blueprintIdParam,
708
714
  question: z
709
715
  .string()
710
- .describe("The open question being answered — EXACT text from document.openQuestions"),
716
+ .describe("The open question being answered — EXACT question text (the `question` field of a typed entry, or the legacy string)"),
711
717
  answer: z.string().describe("The answer (stored as a note library entry)"),
712
718
  region: regionParam,
713
719
  }, async ({ workspaceId, blueprintId, question, answer, region }) => {
@@ -718,10 +724,10 @@ export function register(deps) {
718
724
  const remaining = blueprint.document?.openQuestions ?? [];
719
725
  return ok({
720
726
  status: "answered",
721
- remainingOpenQuestions: remaining,
727
+ remainingOpenQuestions: remaining.map(questionLabel),
722
728
  driftNote: "The answer was stored as a note entry, so the spec is now spec_stale. Answer the remaining questions first, then blueprint_synthesize ONCE to fold every answer in.",
723
729
  nextActions: remaining.length
724
- ? remaining.map((q) => `blueprint_answer_question blueprintId=${blueprintId} question=${JSON.stringify(q)}`)
730
+ ? remaining.map((q) => `blueprint_answer_question blueprintId=${blueprintId} question=${JSON.stringify(questionText(q))}`)
725
731
  : [
726
732
  `All questions answered — blueprint_synthesize blueprintId=${blueprintId} to fold the answers into the spec.`,
727
733
  ],
@@ -764,7 +770,8 @@ export function register(deps) {
764
770
  try {
765
771
  const blueprint = await client.getBlueprint(workspaceId, blueprintId);
766
772
  const openQuestions = blueprint.document?.openQuestions ?? [];
767
- if (!openQuestions.includes(question)) {
773
+ const remaining = openQuestions.filter((q) => questionText(q) !== question);
774
+ if (remaining.length === openQuestions.length) {
768
775
  return ok({
769
776
  status: "already_answered",
770
777
  note: "The question is not in openQuestions — treat as convergence.",
@@ -779,7 +786,7 @@ export function register(deps) {
779
786
  });
780
787
  try {
781
788
  await client.updateBlueprint(workspaceId, blueprintId, {
782
- patch: { openQuestions: openQuestions.filter((q) => q !== question) },
789
+ patch: { openQuestions: remaining },
783
790
  note: `agent: answered "${question.slice(0, 80)}"`,
784
791
  baseVersion: blueprint.headVersion,
785
792
  });
@@ -797,7 +804,7 @@ export function register(deps) {
797
804
  status: "answered",
798
805
  note: "Answered via the legacy patch fallback (this service lacks the atomic questions/answer endpoint).",
799
806
  driftNote: "The answer note bumped librarySeq — answer remaining questions, then blueprint_synthesize ONCE.",
800
- remainingOpenQuestions: openQuestions.filter((q) => q !== question),
807
+ remainingOpenQuestions: remaining.map(questionLabel),
801
808
  });
802
809
  }
803
810
  catch (e) {
@@ -1019,6 +1026,7 @@ export function register(deps) {
1019
1026
  const pendingEntries = entries.filter((e) => e.status === "pending" || e.status === "processing");
1020
1027
  const failedEntries = entries.filter((e) => e.status === "failed");
1021
1028
  const openQuestions = bp.document?.openQuestions ?? [];
1029
+ const blockingQuestions = blockingQuestionsOf(bp);
1022
1030
  const emptySpec = specIsEmpty(bp);
1023
1031
  const buildQuestions = (build?.questions ?? []).filter((q) => !q.answer);
1024
1032
  // Is the spec_stale drift ONLY answer-note entries? Then ONE
@@ -1047,7 +1055,7 @@ export function register(deps) {
1047
1055
  state = "proposal_pending";
1048
1056
  else if (pendingEntries.length > 0)
1049
1057
  state = "enriching";
1050
- else if (openQuestions.length > 0)
1058
+ else if (blockingQuestions.length > 0)
1051
1059
  state = "needs_answers";
1052
1060
  else if (entries.length === 0 && emptySpec)
1053
1061
  state = "no_context";
@@ -1118,10 +1126,10 @@ export function register(deps) {
1118
1126
  : `A proposal is pending review — blueprint_get_proposal blueprintId=${blueprintId}.`);
1119
1127
  break;
1120
1128
  case "needs_answers":
1121
- for (const q of openQuestions) {
1129
+ for (const q of blockingQuestions) {
1122
1130
  nextActions.push(`blueprint_answer_question blueprintId=${blueprintId} question=${JSON.stringify(q)}`);
1123
1131
  }
1124
- nextActions.push("Answer ALL open questions, THEN blueprint_synthesize once to fold the answers in — don't loop answer->synthesize per question.");
1132
+ nextActions.push(`Answer ALL ${blockingQuestions.length} build-blocking question(s) (the ${openQuestions.length - blockingQuestions.length} advisory one(s) are optional), THEN blueprint_synthesize once to fold the answers in — don't loop answer->synthesize per question.`);
1125
1133
  break;
1126
1134
  case "building":
1127
1135
  nextActions.push(`Build ${bp.buildId} is ${bp.buildStatus} — poll blueprint_build_status blueprintId=${blueprintId}${linkCoords ? ` (job-side: get_build_status ${linkCoords} buildId=${bp.buildId})` : ""}. Don't edit the draft underneath it.`);
@@ -1179,10 +1187,12 @@ export function register(deps) {
1179
1187
  error: e.error,
1180
1188
  })),
1181
1189
  },
1182
- openQuestions,
1190
+ openQuestions: openQuestions.map(questionLabel),
1191
+ blockingQuestions,
1183
1192
  proposal: bp.pendingProposal
1184
1193
  ? {
1185
1194
  summary: bp.pendingProposal.summary,
1195
+ contentIssues: bp.pendingProposal.contentIssues,
1186
1196
  baseVersion: bp.pendingProposal.baseVersion,
1187
1197
  basedOnSeq: bp.pendingProposal.basedOnSeq,
1188
1198
  createdAt: bp.pendingProposal.createdAt,
@@ -1 +1 @@
1
- {"version":3,"file":"blueprints.js","sourceRoot":"","sources":["../../src/tools/blueprints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blueprints.js","sourceRoot":"","sources":["../../src/tools/blueprints.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * (step graph) instead of freeform handler code. Jobs sit *above* workflows: a
6
6
  * job step calls an entire Minicor workflow (by workflowId) or runs a code
7
7
  * block. Test cases attach to a job (route): a named input + code-block
8
- * assertions `[{ name, expr }]` evaluated against the execution.
8
+ * assertions (expr | judge | status | exists | equals) evaluated against the execution.
9
9
  *
10
10
  * See middlewares/JOBS-DESIGN.md for the full model + API contract (v1).
11
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyL5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAizDtC"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0M5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAw1DtC"}
@@ -5,7 +5,7 @@
5
5
  * (step graph) instead of freeform handler code. Jobs sit *above* workflows: a
6
6
  * job step calls an entire Minicor workflow (by workflowId) or runs a code
7
7
  * block. Test cases attach to a job (route): a named input + code-block
8
- * assertions `[{ name, expr }]` evaluated against the execution.
8
+ * assertions (expr | judge | status | exists | equals) evaluated against the execution.
9
9
  *
10
10
  * See middlewares/JOBS-DESIGN.md for the full model + API contract (v1).
11
11
  *
@@ -98,21 +98,38 @@ const jobDefinitionSchema = z
98
98
  })
99
99
  .passthrough()
100
100
  .describe("The structured job definition (step graph)");
101
- const assertionSchema = z.object({
102
- name: z.string().describe("Assertion name shown in the report"),
103
- kind: z
104
- .enum(["expr", "judge"])
105
- .optional()
106
- .describe("expr (default): sandbox boolean. judge: an LLM grades the execution against `intent` (refusals pass when expected)."),
107
- expr: z
108
- .string()
109
- .optional()
110
- .describe("TS boolean expression over `{ input, output, ctx, steps }`, e.g. 'output.status === \"ok\"'"),
111
- intent: z
112
- .string()
113
- .optional()
114
- .describe("For kind=judge: natural-language statement of what the execution should have done"),
115
- });
101
+ const assertionName = z.string().describe("Assertion name shown in the report");
102
+ const outputPointer = z
103
+ .string()
104
+ .regex(/^(?:\/(?:[^~/]|~[01])*)*$/, "must be an RFC 6901 JSON Pointer")
105
+ .describe("RFC 6901 JSON Pointer over the job `output` ('' = whole output), e.g. '/items/0/id'");
106
+ /** Mirrors the middleware AssertionDto; `kind` may be omitted only for the legacy `{ name, expr }`. */
107
+ const assertionSchema = z
108
+ .discriminatedUnion("kind", [
109
+ z.object({
110
+ name: assertionName,
111
+ kind: z.literal("expr").optional().describe("Default when omitted"),
112
+ expr: z.string().describe("TS boolean over `{ input, output, ctx, steps }`, e.g. 'output.status === \"ok\"'"),
113
+ }),
114
+ z.object({
115
+ name: assertionName,
116
+ kind: z.literal("judge"),
117
+ intent: z.string().optional().describe("What the execution should have done (LLM-graded; refusals pass when expected). Falls back to the case's top-level intent."),
118
+ }),
119
+ z.object({
120
+ name: assertionName,
121
+ kind: z.literal("status"),
122
+ equals: z.enum(["succeeded", "partial", "failed", "cancelled"]).describe("Terminal status the execution must end in"),
123
+ }),
124
+ z.object({ name: assertionName, kind: z.literal("exists"), pointer: outputPointer }),
125
+ z.object({
126
+ name: assertionName,
127
+ kind: z.literal("equals"),
128
+ pointer: outputPointer,
129
+ value: z.unknown().refine((v) => v !== undefined, "value is required").describe("Strict JSON value the output at `pointer` must deep-equal — keep the type (291009, not \"291009\"); null allowed"),
130
+ }),
131
+ ])
132
+ .describe("expr (default): sandbox boolean. judge: LLM grades against `intent`. status: execution ended with `equals`. exists: `pointer` resolves in output. equals: output at `pointer` deep-equals `value`.");
116
133
  const variantParam = z
117
134
  .enum(["published", "draft"])
118
135
  .optional()
@@ -136,6 +153,10 @@ const jobWebhookIdsSchema = z
136
153
  .max(50)
137
154
  .nullable()
138
155
  .describe("Minicor workflow IDs to subscribe to. null = every workflow this router runs. [] = no workflow events. A list = allow-list. Combine with includeJob; subscribe to the job, some workflows, or both.");
156
+ const executionTargetSchema = z.object({
157
+ serviceId: z.string().uuid().describe("Canonical desktop service UUID"),
158
+ targetUser: z.string().trim().min(1).max(128).describe("Canonical desktop user"),
159
+ });
139
160
  const acknowledgeJobAheadParam = z
140
161
  .boolean()
141
162
  .optional()
@@ -612,7 +633,7 @@ export function register(deps) {
612
633
  }
613
634
  });
614
635
  // ── run_job ────────────────────────────────────────────────
615
- server.tool("run_job", "Run a Job once with the given input, then poll the job execution to completion and return the full JobExecution (status, output, per-step results with Minicor deep-links). Supports STEP-RANGE runs for debugging: fromStepId/toStepId (both inclusive, by step id) run only a slice of the step graph, and seedExecutionId hydrates ctx from a prior execution so mid-graph starts still resolve `ctx.*` produced by steps they aren't re-running (the standard 'replay from the failing step' move). Set waitForResult=false to return the jobExecutionId immediately instead of polling — use that for long runs you may want to stop_job_execution or monitor via get_job_execution. Pass webhookId (from register_job_webhook / list_job_webhooks) to publish workflow progress and job.completed to that destination for this run.", {
636
+ server.tool("run_job", "Run a Job once with the given input, then poll the job execution to completion and return the full JobExecution (status, output, per-step results with Minicor deep-links). executionTarget binds a full durable run to one canonical desktop. Targeted ranges require variant=draft, expectedDraftRevision, and no seedExecutionId. Supports STEP-RANGE runs for debugging: fromStepId/toStepId (both inclusive, by step id) run only a slice of the step graph, and seedExecutionId hydrates ctx from a prior execution so mid-graph starts still resolve `ctx.*` produced by steps they aren't re-running (the standard 'replay from the failing step' move). Set waitForResult=false to return the jobExecutionId immediately instead of polling — use that for long runs you may want to stop_job_execution or monitor via get_job_execution. Pass webhookId (from register_job_webhook / list_job_webhooks) to publish workflow progress and job.completed to that destination for this run.", {
616
637
  workspaceId: z.number().describe("Workspace ID"),
617
638
  middlewareId: z.string().describe("Router (middleware) ID"),
618
639
  routeId: z.string().describe("Route ID (the job) to run"),
@@ -625,6 +646,12 @@ export function register(deps) {
625
646
  .describe("Trigger label recorded on the execution (default mcp)"),
626
647
  variant: variantParam,
627
648
  configurationId: z.uuidv4().optional(),
649
+ expectedDraftRevision: z
650
+ .number()
651
+ .int()
652
+ .nonnegative()
653
+ .optional()
654
+ .describe("Draft revision fence required for targeted draft ranges"),
628
655
  fromStepId: z
629
656
  .string()
630
657
  .optional()
@@ -641,6 +668,9 @@ export function register(deps) {
641
668
  .string()
642
669
  .optional()
643
670
  .describe("Router webhook destination (from register_job_webhook / list_job_webhooks) that receives this run's events. Payloads: get_job_webhook_events. workflow.* if the destination's workflowIds allow this job's workflows; job.completed if includeJob is true."),
671
+ executionTarget: executionTargetSchema
672
+ .optional()
673
+ .describe("Canonical desktop target for a full durable job run"),
644
674
  waitForResult: z
645
675
  .boolean()
646
676
  .optional()
@@ -650,11 +680,32 @@ export function register(deps) {
650
680
  .optional()
651
681
  .describe("Max ms to poll before giving up (default 300000)"),
652
682
  region: regionParam,
653
- }, async ({ workspaceId, middlewareId, routeId, input, trigger, variant, configurationId, fromStepId, toStepId, seedExecutionId, webhookId, waitForResult, timeoutMs, region, }) => {
683
+ }, async ({ workspaceId, middlewareId, routeId, input, trigger, variant, configurationId, expectedDraftRevision, fromStepId, toStepId, seedExecutionId, webhookId, executionTarget, waitForResult, timeoutMs, region, }) => {
684
+ const hasRange = fromStepId !== undefined || toStepId !== undefined;
685
+ if (executionTarget &&
686
+ (seedExecutionId !== undefined ||
687
+ (hasRange &&
688
+ (variant !== "draft" || expectedDraftRevision === undefined)))) {
689
+ return {
690
+ ...ok({
691
+ code: "INVALID_ARGUMENT",
692
+ message: "executionTarget ranges require variant=draft, expectedDraftRevision, and no seedExecutionId",
693
+ }),
694
+ isError: true,
695
+ };
696
+ }
654
697
  const r = resolveRegion(workspaceId, region);
655
698
  try {
656
699
  const client = getClient(r);
657
- const queued = await client.runJob(workspaceId, middlewareId, routeId, input, trigger ?? "mcp", variant ?? "published", { fromStepId, toStepId, seedExecutionId, webhookId, configurationId });
700
+ const queued = await client.runJob(workspaceId, middlewareId, routeId, input, trigger ?? "mcp", variant ?? "published", {
701
+ fromStepId,
702
+ toStepId,
703
+ seedExecutionId,
704
+ webhookId,
705
+ configurationId,
706
+ expectedDraftRevision,
707
+ target: executionTarget,
708
+ });
658
709
  if (waitForResult === false) {
659
710
  return ok({
660
711
  jobExecutionId: queued.jobExecutionId,
@@ -1221,7 +1272,7 @@ export function register(deps) {
1221
1272
  }
1222
1273
  });
1223
1274
  // ── add_test_case ──────────────────────────────────────────
1224
- server.tool("add_test_case", "Attach a test case to a Job (route): a named input + code-block assertions `[{ name, expr }]`. Each `expr` is a TS boolean over `{ input, output, ctx, steps }` evaluated against the job execution. This is the green-gate for the build loop — define the expected behavior, then build the job to satisfy it. Scenarios are FIRST-CLASS: a scenario is one distinct path/outcome through the job (find ids via list_scenarios, create via create_scenario), and all cases in a scenario share identical assertions (the scenario's definition of its path/outcome). Pass `scenarioId` to group this sample — the service dual-writes the legacy `scenario:<slug>` tag on the case. Omit it and grouping falls back to any `scenario:<slug>` tag you pass (find-or-creates the Scenario) or to auto-grouping by execution path after test/teach runs. One input per case; add more samples to a scenario by creating more cases with the same scenarioId + assertions. Ungrouped cases are treated as one-sample scenarios. Blueprint-linked routes are OWNED by their blueprint: adding cases directly flips the blueprint to job_ahead drift, so prefer the spec's exampleCases (resolve_blueprint_state). For an intentional direct add, pass acknowledgeJobAhead=true; the response then carries a job_ahead warning with the fold-back options.", {
1275
+ server.tool("add_test_case", "Attach a test case to a Job (route): a named input + assertions discriminated on `kind`: `expr` (default; TS boolean over `{ input, output, ctx, steps }`), `judge` (LLM vs `intent`), `status` (`equals` terminal status), `exists` / `equals` (RFC 6901 `pointer` into output, `equals` also takes a typed `value`). Prefer structural kinds over stringly `expr` for exact-value checks. This is the green-gate for the build loop — define the expected behavior, then build the job to satisfy it. Scenarios are FIRST-CLASS: a scenario is one distinct path/outcome through the job (find ids via list_scenarios, create via create_scenario), and all cases in a scenario share identical assertions (the scenario's definition of its path/outcome). Pass `scenarioId` to group this sample — the service dual-writes the legacy `scenario:<slug>` tag on the case. Omit it and grouping falls back to any `scenario:<slug>` tag you pass (find-or-creates the Scenario) or to auto-grouping by execution path after test/teach runs. One input per case; add more samples to a scenario by creating more cases with the same scenarioId + assertions. Ungrouped cases are treated as one-sample scenarios. Blueprint-linked routes are OWNED by their blueprint: adding cases directly flips the blueprint to job_ahead drift, so prefer the spec's exampleCases (resolve_blueprint_state). For an intentional direct add, pass acknowledgeJobAhead=true; the response then carries a job_ahead warning with the fold-back options.", {
1225
1276
  workspaceId: z.number().describe("Workspace ID"),
1226
1277
  middlewareId: z.string().describe("Router (middleware) ID"),
1227
1278
  routeId: z.string().describe("Route ID (the job) the case belongs to"),
@@ -1232,7 +1283,7 @@ export function register(deps) {
1232
1283
  .describe("Request payload to run the job with"),
1233
1284
  assertions: z
1234
1285
  .array(assertionSchema)
1235
- .describe("Code-block assertions: [{ name, expr }]"),
1286
+ .describe("Assertions: expr | judge | status | exists | equals (see item schema)"),
1236
1287
  scenarioId: z
1237
1288
  .string()
1238
1289
  .optional()
@@ -1281,7 +1332,7 @@ export function register(deps) {
1281
1332
  assertions: z
1282
1333
  .array(assertionSchema)
1283
1334
  .optional()
1284
- .describe("Replacement assertions: [{ name, expr }] or judge assertions"),
1335
+ .describe("Replacement assertions: expr | judge | status | exists | equals (see item schema)"),
1285
1336
  scenarioId: z
1286
1337
  .string()
1287
1338
  .nullable()
@@ -1409,7 +1460,7 @@ export function register(deps) {
1409
1460
  }
1410
1461
  });
1411
1462
  // ── run_tests ──────────────────────────────────────────────
1412
- server.tool("run_tests", "Run a Job's test suite (all enabled cases, or a subset via testCaseIds), poll the test run to completion, and return the report (totals + per-case results with drill-down into the job execution). Use as the green-gate before declaring a job done. The report includes a per-scenario `scenarios` grouping with prebuilt summaries ('Refund Flow: 3/3 samples passed') — a scenario passes only when ALL of its sample cases pass; ungrouped cases land in a trailing 'Ungrouped' bucket. After the run, the service auto-groups still-ungrouped cases by the execution path they took (manual grouping wins) — list_scenarios to see the result, update_scenario to rename auto-created ones.", {
1463
+ server.tool("run_tests", "Run a Job's test suite (all enabled cases, or a subset via testCaseIds), optionally binding every case to one canonical desktop with executionTarget, poll the test run to completion, and return the report (totals + per-case results with drill-down into the job execution). Use as the green-gate before declaring a job done. The report includes a per-scenario `scenarios` grouping with prebuilt summaries ('Refund Flow: 3/3 samples passed') — a scenario passes only when ALL of its sample cases pass; ungrouped cases land in a trailing 'Ungrouped' bucket. After the run, the service auto-groups still-ungrouped cases by the execution path they took (manual grouping wins) — list_scenarios to see the result, update_scenario to rename auto-created ones.", {
1413
1464
  workspaceId: z.number().describe("Workspace ID"),
1414
1465
  middlewareId: z.string().describe("Router (middleware) ID"),
1415
1466
  routeId: z.string().describe("Route ID (the job) to test"),
@@ -1418,16 +1469,19 @@ export function register(deps) {
1418
1469
  .optional()
1419
1470
  .describe("Specific test case IDs to run (omit = all enabled)"),
1420
1471
  variant: variantParam,
1472
+ executionTarget: executionTargetSchema
1473
+ .optional()
1474
+ .describe("Canonical desktop target used for every sample in this run"),
1421
1475
  timeoutMs: z
1422
1476
  .number()
1423
1477
  .optional()
1424
1478
  .describe("Max ms to poll before giving up (default 600000)"),
1425
1479
  region: regionParam,
1426
- }, async ({ workspaceId, middlewareId, routeId, testCaseIds, variant, timeoutMs, region }) => {
1480
+ }, async ({ workspaceId, middlewareId, routeId, testCaseIds, variant, executionTarget, timeoutMs, region }) => {
1427
1481
  const r = resolveRegion(workspaceId, region);
1428
1482
  try {
1429
1483
  const client = getClient(r);
1430
- const { testRunId } = await client.startTestRun(workspaceId, middlewareId, routeId, testCaseIds, variant ?? "published");
1484
+ const { testRunId } = await client.startTestRun(workspaceId, middlewareId, routeId, testCaseIds, variant ?? "published", executionTarget);
1431
1485
  const report = await client.pollTestRun(workspaceId, middlewareId, routeId, testRunId, { timeoutMs });
1432
1486
  const passed = report.testRun.status === "passed";
1433
1487
  return ok({