@minicor/mcp-server 4.10.0 → 4.11.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server-surface.js","sourceRoot":"","sources":["../src/server-surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-surface.js","sourceRoot":"","sources":["../src/server-surface.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@
10
10
  * OWNERSHIP RULE: when a route is blueprint-linked, never register_job /
11
11
  * update_job / add_test_case directly on it — that trips reverse-drift
12
12
  * detection (state job_ahead). Drive changes through the spec instead.
13
+ * Sanctioned escape hatch: update_job / add_test_case accept
14
+ * acknowledgeJobAhead=true for intentional direct edits; the response then
15
+ * carries a job_ahead warning with the fold-back options
16
+ * (blueprint_import_cases or blueprint_build).
13
17
  *
14
18
  * Auth/transport is handled by MiddlewareServiceClient (same plumbing as the
15
19
  * jobs tools): the region's public middleware-service with the MCP's user
@@ -1 +1 @@
1
- {"version":3,"file":"blueprints.d.ts","sourceRoot":"","sources":["../../src/tools/blueprints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmH5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAm0CtC"}
1
+ {"version":3,"file":"blueprints.d.ts","sourceRoot":"","sources":["../../src/tools/blueprints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAaH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAgI5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAk0CtC"}
@@ -10,6 +10,10 @@
10
10
  * OWNERSHIP RULE: when a route is blueprint-linked, never register_job /
11
11
  * update_job / add_test_case directly on it — that trips reverse-drift
12
12
  * detection (state job_ahead). Drive changes through the spec instead.
13
+ * Sanctioned escape hatch: update_job / add_test_case accept
14
+ * acknowledgeJobAhead=true for intentional direct edits; the response then
15
+ * carries a job_ahead warning with the fold-back options
16
+ * (blueprint_import_cases or blueprint_build).
13
17
  *
14
18
  * Auth/transport is handled by MiddlewareServiceClient (same plumbing as the
15
19
  * jobs tools): the region's public middleware-service with the MCP's user
@@ -22,6 +26,17 @@ const regionParam = z
22
26
  .enum(["us", "ca"])
23
27
  .optional()
24
28
  .describe("Region (us or ca). Auto-detected from workspace if omitted.");
29
+ // Blueprint and entry ids are ALWAYS uuids server-side; a non-uuid reaches the
30
+ // Postgres uuid cast and dies as a 500. LLM callers have shipped hallucinated
31
+ // ids to prod (a literal integer, a splice of two real uuids), so reject them
32
+ // client-side with a pointer to the tool that returns real ids.
33
+ const blueprintIdParam = z
34
+ .string()
35
+ .uuid("blueprintId must be a uuid; call blueprint_list to get real ids")
36
+ .describe("Blueprint ID (uuid)");
37
+ const entryIdParam = z
38
+ .string()
39
+ .uuid("entryId must be a uuid; call blueprint_list_entries to get real ids");
25
40
  const entryKindParam = z
26
41
  .enum([
27
42
  "doc",
@@ -188,7 +203,7 @@ export function register(deps) {
188
203
  // ── blueprint_get ──────────────────────────────────────────
189
204
  server.tool("blueprint_get", "Get a blueprint: the full spec document, computed state, both drift summaries, and the inbox (document.openQuestions + pendingProposal). This is the raw read — headVersion here is the baseVersion for blueprint_update's CAS, and pendingProposal's baseVersion/basedOnSeq are the coordinates blueprint_apply_proposal requires. For 'what should I do next', prefer resolve_blueprint_state, which turns this state into concrete tool calls.", {
190
205
  workspaceId: z.number().describe("Workspace ID"),
191
- blueprintId: z.string().describe("Blueprint ID"),
206
+ blueprintId: blueprintIdParam,
192
207
  region: regionParam,
193
208
  }, async ({ workspaceId, blueprintId, region }) => {
194
209
  const r = resolveRegion(workspaceId, region);
@@ -216,7 +231,7 @@ export function register(deps) {
216
231
  // ── blueprint_update ───────────────────────────────────────
217
232
  server.tool("blueprint_update", "Edit the spec document directly: `document` replaces wholesale, `patch` is the section-level merge (goal/schemas/openQuestions replaced, environment shallow-merged, screens/steps upserted by id, credentials by key, exampleCases by name). ALWAYS pass baseVersion (headVersion from blueprint_get / resolve_blueprint_state) — it is compare-and-swap: a 409 means the blueprint moved past your read, so RE-READ with blueprint_get and re-author the edit against the new head; never retry blindly. Prefer the synthesize->apply path for library-derived changes; direct edits are for surgical fixes. A successful document change snapshots a version and makes the job stale (blueprint_build to re-sync).", {
218
233
  workspaceId: z.number().describe("Workspace ID"),
219
- blueprintId: z.string().describe("Blueprint ID"),
234
+ blueprintId: blueprintIdParam,
220
235
  name: z.string().optional().describe("Rename the blueprint"),
221
236
  document: z
222
237
  .record(z.string(), z.unknown())
@@ -289,9 +304,8 @@ export function register(deps) {
289
304
  // ── blueprint_add_entry ────────────────────────────────────
290
305
  server.tool("blueprint_add_entry", "Add (or, with entryId, update) a library entry — the way you feed a blueprint context. Context kinds (doc/video/url/note/transcript/data-source/walkthrough) feed synthesis; resource kinds (screen-map/anchor/screenshot) are runtime-referenceable as entry://<id>#<fragment>. Enrichable kinds (doc/video/url with a url or blobRef) start status=pending and are enriched to text by a worker — poll blueprint_list_entries before synthesizing. For file uploads: blueprint_entry_upload_url first, PUT the bytes, then pass the returned blobRef here. VM WALKTHROUGH MODE (get_skill 'blueprint-vm-walkthrough'): create the walkthrough entry IMMEDIATELY when the session starts and PATCH it (entryId + content) after EVERY step — crash resilience. Every write bumps librarySeq, so the spec becomes spec_stale until the next blueprint_synthesize.", {
291
306
  workspaceId: z.number().describe("Workspace ID"),
292
- blueprintId: z.string().describe("Blueprint ID"),
293
- entryId: z
294
- .string()
307
+ blueprintId: blueprintIdParam,
308
+ entryId: entryIdParam
295
309
  .optional()
296
310
  .describe("PATCH mode: update this existing entry (title/text/url/content only) instead of creating one. A new url re-queues enrichment."),
297
311
  kind: entryKindParam.optional().describe("Entry kind — required when creating, ignored in PATCH mode (kind is immutable)."),
@@ -355,8 +369,8 @@ export function register(deps) {
355
369
  // ── blueprint_list_entries ─────────────────────────────────
356
370
  server.tool("blueprint_list_entries", "List a blueprint's library entries (full rows: text, url, structured content, enrichment status/transcript/error), or one entry via entryId. status pending/processing means the enrichment worker is still on it — synthesize 409s until every entry is ready; status failed carries the reason in `error` (fix the source or delete the entry). With entryId: revisions=true adds the entry's immutable history (newest first), downloadUrl=true adds a signed read URL for the uploaded blob.", {
357
371
  workspaceId: z.number().describe("Workspace ID"),
358
- blueprintId: z.string().describe("Blueprint ID"),
359
- entryId: z.string().optional().describe("Fetch just this entry"),
372
+ blueprintId: blueprintIdParam,
373
+ entryId: entryIdParam.optional().describe("Fetch just this entry"),
360
374
  revisions: z
361
375
  .boolean()
362
376
  .optional()
@@ -409,7 +423,7 @@ export function register(deps) {
409
423
  // ── blueprint_entry_upload_url ─────────────────────────────
410
424
  server.tool("blueprint_entry_upload_url", "Get a short-lived signed upload URL for a file that will become a library entry. Handshake: (1) this tool -> { uploadUrl, blobRef, expiresOn }; (2) PUT the bytes to uploadUrl (plain PUT with the file's Content-Type; no extra headers needed — works from anywhere, including FROM INSIDE A VM via vm_execute_script with Python requests.put, the walkthrough screenshot path); (3) blueprint_add_entry with the returned blobRef. 409 means blob storage isn't configured on the service.", {
411
425
  workspaceId: z.number().describe("Workspace ID"),
412
- blueprintId: z.string().describe("Blueprint ID"),
426
+ blueprintId: blueprintIdParam,
413
427
  fileName: z.string().describe("Original file name, e.g. 'step-3-invoice-screen.png'"),
414
428
  region: regionParam,
415
429
  }, async ({ workspaceId, blueprintId, fileName, region }) => {
@@ -444,7 +458,7 @@ export function register(deps) {
444
458
  // ── blueprint_synthesize ───────────────────────────────────
445
459
  server.tool("blueprint_synthesize", "Synthesize a spec proposal from the library (LLM). Produces ONE pending proposal for review — it is NEVER applied silently; blueprint_apply_proposal is the gate. Call after feeding entries (state no_spec) or after the library moved past the spec (state spec_stale) — and answer ALL open questions FIRST so one synthesis folds every answer in (don't loop answer->synthesize per question). Synchronous and can take a while on large libraries; on timeout, poll blueprint_get — the proposal may have landed anyway. Blocked responses are structured: blocked.reason = proposal_pending (review or pass replace=true) | entries_enriching (poll blueprint_list_entries) | llm_unconfigured (escalate) | library_empty (blueprint_add_entry first).", {
446
460
  workspaceId: z.number().describe("Workspace ID"),
447
- blueprintId: z.string().describe("Blueprint ID"),
461
+ blueprintId: blueprintIdParam,
448
462
  instructions: z
449
463
  .string()
450
464
  .optional()
@@ -507,7 +521,7 @@ export function register(deps) {
507
521
  // ── blueprint_get_proposal ─────────────────────────────────
508
522
  server.tool("blueprint_get_proposal", "Read the pending synthesis proposal for review: the section-level patch, regenerated SOP, one-paragraph summary, and per-claim citations (entryId + provenance extracted|inferred|ambiguous — scrutinize 'inferred' and 'ambiguous' claims before applying). Returns the exact apply coordinates: blueprint_apply_proposal requires this proposal's baseVersion AND basedOnSeq, so a concurrent resynthesize can never swap a different proposal under your review.", {
509
523
  workspaceId: z.number().describe("Workspace ID"),
510
- blueprintId: z.string().describe("Blueprint ID"),
524
+ blueprintId: blueprintIdParam,
511
525
  region: regionParam,
512
526
  }, async ({ workspaceId, blueprintId, region }) => {
513
527
  const r = resolveRegion(workspaceId, region);
@@ -540,7 +554,7 @@ export function register(deps) {
540
554
  // ── blueprint_apply_proposal ───────────────────────────────
541
555
  server.tool("blueprint_apply_proposal", "Apply the pending proposal you reviewed: patch + SOP land as one validated, version-snapshotted document update, and specBasedOnSeq is stamped. Requires the reviewed proposal's coordinates (baseVersion + proposalBasedOnSeq from blueprint_get_proposal): the tool sends proposalBasedOnSeq with the apply so the service atomically REFUSES (409 proposal_mismatch) if the pending proposal is no longer the one you reviewed (a concurrent resynthesize swapped it); it also re-reads and checks before POSTing as defense in depth. After a successful apply the spec is ahead of the job (job_stale) — blueprint_build is the next verb, after answering any openQuestions the new spec carries.", {
542
556
  workspaceId: z.number().describe("Workspace ID"),
543
- blueprintId: z.string().describe("Blueprint ID"),
557
+ blueprintId: blueprintIdParam,
544
558
  baseVersion: z
545
559
  .number()
546
560
  .describe("The reviewed proposal's baseVersion (from blueprint_get_proposal.applyWith)"),
@@ -651,7 +665,7 @@ export function register(deps) {
651
665
  // ── blueprint_reject_proposal ──────────────────────────────
652
666
  server.tool("blueprint_reject_proposal", "Reject (discard) the pending proposal — use when the synthesis got it wrong or the spec moved underneath it. A 404 ('no pending proposal') is success-shaped: someone else already applied or rejected it, so the outcome you wanted (no pending proposal blocking synthesize) holds either way. Follow with blueprint_synthesize (optionally with steering `instructions`) to produce a better one.", {
653
667
  workspaceId: z.number().describe("Workspace ID"),
654
- blueprintId: z.string().describe("Blueprint ID"),
668
+ blueprintId: blueprintIdParam,
655
669
  region: regionParam,
656
670
  }, async ({ workspaceId, blueprintId, region }) => {
657
671
  const r = resolveRegion(workspaceId, region);
@@ -686,7 +700,7 @@ export function register(deps) {
686
700
  // ── blueprint_answer_question ──────────────────────────────
687
701
  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.", {
688
702
  workspaceId: z.number().describe("Workspace ID"),
689
- blueprintId: z.string().describe("Blueprint ID"),
703
+ blueprintId: blueprintIdParam,
690
704
  question: z
691
705
  .string()
692
706
  .describe("The open question being answered — EXACT text from document.openQuestions"),
@@ -789,7 +803,7 @@ export function register(deps) {
789
803
  // ── blueprint_build ────────────────────────────────────────
790
804
  server.tool("blueprint_build", "Sync the spec into its Job (the primary build verb): validates the spec, ensures the router + route exist, upserts judge test cases from exampleCases (content-hash idempotent), attaches spec + library + resolved resource refs as the builder artifact, and queues/folds into a build run. RETURNS THE HANDOFF ARTIFACT: { middlewareId, routeId, buildId, testCaseIds } — the coordinates the whole jobs toolset (get_build_status, run_tests, resolve_job_state, publish_job) takes over with. Precondition enforced here: if the linked build run is needs_input, this returns blocked instead of syncing (the service would fold cases WITHOUT re-queueing the builder) — answer_build_question first. A 400 means the spec isn't syncable and carries the problem list.", {
791
805
  workspaceId: z.number().describe("Workspace ID"),
792
- blueprintId: z.string().describe("Blueprint ID"),
806
+ blueprintId: blueprintIdParam,
793
807
  instructions: z
794
808
  .string()
795
809
  .optional()
@@ -839,7 +853,7 @@ export function register(deps) {
839
853
  // ── blueprint_build_status ─────────────────────────────────
840
854
  server.tool("blueprint_build_status", "Blueprint-side view of the linked build: composes the blueprint's state with the stamped build run (status queued|running|green|failed|needs_input, summary, open questions). needs_input questions come back with answer_build_question coordinates prefilled — try to answer them from the library FIRST (blueprint_list_entries; cite what you find) before escalating to a human. For the full job-side picture (test cases, executions), use resolve_job_state with the same coordinates.", {
841
855
  workspaceId: z.number().describe("Workspace ID"),
842
- blueprintId: z.string().describe("Blueprint ID"),
856
+ blueprintId: blueprintIdParam,
843
857
  region: regionParam,
844
858
  }, async ({ workspaceId, blueprintId, region }) => {
845
859
  const r = resolveRegion(workspaceId, region);
@@ -902,7 +916,7 @@ export function register(deps) {
902
916
  // ── blueprint_import_cases ─────────────────────────────────
903
917
  server.tool("blueprint_import_cases", "Adopt the linked job's test cases into the spec's exampleCases (upsert by name) — the job_ahead FOLD-BACK arrow. Use when the job was edited directly (update_job / teach_job / Dev-Mode clones tripped reverse drift) and the direct edits should become spec truth, or right after blueprint_create linked an existing job. After importing, the spec is ahead of the job (job_stale): review it, then blueprint_build re-syncs and re-stamps the drift baseline. The alternative job_ahead exit is blueprint_build alone — rebuild from the spec and OVERWRITE the direct edits.", {
904
918
  workspaceId: z.number().describe("Workspace ID"),
905
- blueprintId: z.string().describe("Blueprint ID"),
919
+ blueprintId: blueprintIdParam,
906
920
  region: regionParam,
907
921
  }, async ({ workspaceId, blueprintId, region }) => {
908
922
  const r = resolveRegion(workspaceId, region);
@@ -932,7 +946,7 @@ export function register(deps) {
932
946
  // ── blueprint_list_versions ────────────────────────────────
933
947
  server.tool("blueprint_list_versions", "List a blueprint's spec version snapshots (newest first) — every document change (apply, direct update, answered question) snapshots one, with its note. Pass version to fetch one full snapshot (e.g. to diff what a proposal changed, or to recover a document to re-author against after a CAS 409). Entry-level history lives on blueprint_list_entries revisions=true instead.", {
934
948
  workspaceId: z.number().describe("Workspace ID"),
935
- blueprintId: z.string().describe("Blueprint ID"),
949
+ blueprintId: blueprintIdParam,
936
950
  version: z.number().optional().describe("Fetch one full version snapshot"),
937
951
  region: regionParam,
938
952
  }, async ({ workspaceId, blueprintId, version, region }) => {
@@ -953,7 +967,7 @@ export function register(deps) {
953
967
  // ── resolve_blueprint_state ────────────────────────────────
954
968
  server.tool("resolve_blueprint_state", "The 'where am I in the blueprint loop?' call — START HERE when working a blueprint (the sibling of resolve_job_state, one layer up). One call fetches the blueprint (state + drift + proposal + open questions), its library entries (enrichment status), and the linked build run, then returns an UNFOLDED state (no_context | enriching | no_spec | proposal_pending | needs_answers | building | needs_input | build_failed | job_ahead | spec_stale | job_stale | in_sync — every state maps to one verb), blockers[] (enrichment_failed / builder_stalled / question_needs_human — the escalation surface), and ordered nextActions with the concrete tool calls prefilled. The loop it drives: add entries -> synthesize -> answer questions -> apply proposal -> blueprint_build -> the jobs loop (resolve_job_state) takes over.", {
955
969
  workspaceId: z.number().describe("Workspace ID"),
956
- blueprintId: z.string().describe("Blueprint ID to resolve"),
970
+ blueprintId: blueprintIdParam.describe("Blueprint ID (uuid) to resolve"),
957
971
  region: regionParam,
958
972
  }, async ({ workspaceId, blueprintId, region }) => {
959
973
  const r = resolveRegion(workspaceId, region);
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAoJ5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAiuDtC"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2L5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QA6uDtC"}
@@ -138,6 +138,35 @@ const jobWebhookIdsSchema = z
138
138
  .max(50)
139
139
  .nullable()
140
140
  .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.");
141
+ const acknowledgeJobAheadParam = z
142
+ .boolean()
143
+ .optional()
144
+ .describe("Blueprint-linked routes are OWNED by their blueprint; prefer driving changes through the spec (resolve_blueprint_state). Set true to intentionally edit the job directly anyway: the tool proceeds and, when the route is blueprint-linked, the response carries a warning that the blueprint is now job_ahead plus the fold-back options (blueprint_import_cases or blueprint_build).");
145
+ /**
146
+ * Resolve the acknowledgeJobAhead=true response annotation. Linkage detection
147
+ * mirrors resolve_job_state: the workspace blueprint list, matched on the
148
+ * (middlewareId, routeId) pair. A failed lookup must not masquerade as
149
+ * "unlinked", so it degrades to a conservative note instead of silence.
150
+ */
151
+ async function jobAheadAcknowledgement(client, workspaceId, middlewareId, routeId) {
152
+ try {
153
+ const blueprints = await client.listBlueprints(workspaceId);
154
+ const owning = blueprints.find((b) => b.middlewareId === middlewareId && b.routeId === routeId);
155
+ if (owning) {
156
+ return {
157
+ warning: `Blueprint ${owning.name} is now job_ahead / not synced. Fold changes back with blueprint_import_cases or rebuild via blueprint_build (rebuild overwrites direct edits).`,
158
+ };
159
+ }
160
+ return {
161
+ note: "acknowledgeJobAhead was set, but this route is not blueprint-linked; no drift to fold back.",
162
+ };
163
+ }
164
+ catch (e) {
165
+ return {
166
+ note: `acknowledgeJobAhead was set, but the blueprint linkage lookup failed (${e?.message ?? e}). Treat the route as possibly blueprint-owned: if it is linked, its blueprint is now job_ahead; fold changes back with blueprint_import_cases or rebuild via blueprint_build (rebuild overwrites direct edits).`,
167
+ };
168
+ }
169
+ }
141
170
  export function register(deps) {
142
171
  const { server } = deps;
143
172
  function getClient(region) {
@@ -310,7 +339,7 @@ export function register(deps) {
310
339
  }
311
340
  });
312
341
  // ── update_job ─────────────────────────────────────────────
313
- server.tool("update_job", "Update a Job's definition (step graph), path, method, or description. variant='draft' writes the DRAFT definition (the teach/build loop's working copy — publish_job promotes it); variant='published' (default) edits the live definition directly and creates a route_version snapshot.", {
342
+ server.tool("update_job", "Update a Job's definition (step graph), path, method, or description. variant='draft' writes the DRAFT definition (the teach/build loop's working copy — publish_job promotes it); variant='published' (default) edits the live definition directly and creates a route_version snapshot. Blueprint-linked routes are OWNED by their blueprint: editing directly flips the blueprint to job_ahead drift, so prefer the spec (resolve_blueprint_state). For an intentional direct edit, pass acknowledgeJobAhead=true; the response then carries a job_ahead warning with the fold-back options.", {
314
343
  workspaceId: z.number().describe("Workspace ID"),
315
344
  middlewareId: z.string().describe("Router (middleware) ID"),
316
345
  routeId: z.string().describe("Route ID (the job) to update"),
@@ -319,10 +348,12 @@ export function register(deps) {
319
348
  description: z.string().optional(),
320
349
  definition: jobDefinitionSchema.optional(),
321
350
  variant: variantParam,
351
+ acknowledgeJobAhead: acknowledgeJobAheadParam,
322
352
  region: regionParam,
323
- }, async ({ workspaceId, middlewareId, routeId, path, method, description, definition, variant, region }) => {
353
+ }, async ({ workspaceId, middlewareId, routeId, path, method, description, definition, variant, acknowledgeJobAhead, region }) => {
324
354
  const r = resolveRegion(workspaceId, region);
325
355
  try {
356
+ const client = getClient(r);
326
357
  const body = {};
327
358
  if (path !== undefined)
328
359
  body.path = path;
@@ -336,8 +367,11 @@ export function register(deps) {
336
367
  else
337
368
  body.definition = definition;
338
369
  }
339
- const job = await getClient(r).updateJob(workspaceId, middlewareId, routeId, body);
340
- return ok({ status: "updated", variant: variant ?? "published", job });
370
+ const job = await client.updateJob(workspaceId, middlewareId, routeId, body);
371
+ const ack = acknowledgeJobAhead === true
372
+ ? await jobAheadAcknowledgement(client, workspaceId, middlewareId, routeId)
373
+ : {};
374
+ return ok({ status: "updated", variant: variant ?? "published", job, ...ack });
341
375
  }
342
376
  catch (e) {
343
377
  return text(`Error updating job: ${e.message}`);
@@ -784,7 +818,7 @@ export function register(deps) {
784
818
  }
785
819
  });
786
820
  // ── resolve_job_state ──────────────────────────────────────
787
- server.tool("resolve_job_state", "The 'where am I in the build loop?' call — START HERE when working a Job. One call fetches the job (draft vs published), its test cases, the latest test run, recent executions, and any active build run, then returns a compact state summary plus nextActions: the concrete next tool calls per the Minicor best-practice loop (green-gate test cases first -> build the draft -> run_tests variant=draft -> drill the failing step -> fix the workflow in dev mode -> re-run -> publish_job). Failing workflow steps are mapped to their workflowId so you can jump straight to dev_mode_load. Blueprint-linked routes come back with a `blueprint` block: those jobs are OWNED by their blueprint — edit the spec (resolve_blueprint_state) instead of update_job/add_test_case, or you'll trip job_ahead drift.", {
821
+ server.tool("resolve_job_state", "The 'where am I in the build loop?' call — START HERE when working a Job. One call fetches the job (draft vs published), its test cases, the latest test run, recent executions, and any active build run, then returns a compact state summary plus nextActions: the concrete next tool calls per the Minicor best-practice loop (green-gate test cases first -> build the draft -> run_tests variant=draft -> drill the failing step -> fix the workflow in dev mode -> re-run -> publish_job). Failing workflow steps are mapped to their workflowId so you can jump straight to dev_mode_load. Blueprint-linked routes come back with a `blueprint` block: those jobs are OWNED by their blueprint — edit the spec (resolve_blueprint_state) instead of update_job/add_test_case, or you'll trip job_ahead drift. Sanctioned escape hatch for intentional direct edits: pass acknowledgeJobAhead=true to update_job/add_test_case; the tool proceeds and the response carries a job_ahead warning with the fold-back options (blueprint_import_cases or blueprint_build).", {
788
822
  workspaceId: z.number().describe("Workspace ID"),
789
823
  middlewareId: z.string().describe("Router (middleware) ID"),
790
824
  routeId: z.string().describe("Route ID (the job) to resolve"),
@@ -841,7 +875,7 @@ export function register(deps) {
841
875
  const nextActions = [];
842
876
  // Ownership rule: a blueprint-linked route is edited through its spec.
843
877
  if (owningBlueprint) {
844
- nextActions.push(`This route is OWNED by blueprint ${owningBlueprint.id} ('${owningBlueprint.name}', state ${owningBlueprint.state}) — don't update_job/add_test_case directly (that trips job_ahead drift). Drive changes through the spec: resolve_blueprint_state blueprintId=${owningBlueprint.id}.`);
878
+ nextActions.push(`This route is OWNED by blueprint ${owningBlueprint.id} ('${owningBlueprint.name}', state ${owningBlueprint.state}) — don't update_job/add_test_case directly (that trips job_ahead drift). Drive changes through the spec: resolve_blueprint_state blueprintId=${owningBlueprint.id}. Sanctioned escape hatch when a direct edit is intentional (e.g. bulk job edits): pass acknowledgeJobAhead=true to update_job/add_test_case; the blueprint goes job_ahead and the response carries fold-back guidance (blueprint_import_cases or blueprint_build).`);
845
879
  }
846
880
  else if (ownershipUnknown) {
847
881
  nextActions.push(`Blueprint ownership is UNKNOWN — the workspace blueprint list failed to read (${blueprintLookupError}). Do NOT update_job/add_test_case/teach_job until ownership is known (direct edits on a blueprint-owned route trip job_ahead drift) — retry resolve_job_state.`);
@@ -920,7 +954,7 @@ export function register(deps) {
920
954
  ? {
921
955
  blueprintId: owningBlueprint.id,
922
956
  state: owningBlueprint.state,
923
- hint: `Blueprint-owned route — edit via the spec (resolve_blueprint_state blueprintId=${owningBlueprint.id}), not update_job.`,
957
+ hint: `Blueprint-owned route — edit via the spec (resolve_blueprint_state blueprintId=${owningBlueprint.id}), not update_job. Intentional direct edits: acknowledgeJobAhead=true.`,
924
958
  }
925
959
  : ownershipUnknown
926
960
  ? {
@@ -1138,7 +1172,7 @@ export function register(deps) {
1138
1172
  }
1139
1173
  });
1140
1174
  // ── add_test_case ──────────────────────────────────────────
1141
- 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.", {
1175
+ 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.", {
1142
1176
  workspaceId: z.number().describe("Workspace ID"),
1143
1177
  middlewareId: z.string().describe("Router (middleware) ID"),
1144
1178
  routeId: z.string().describe("Route ID (the job) the case belongs to"),
@@ -1159,11 +1193,13 @@ export function register(deps) {
1159
1193
  .optional()
1160
1194
  .describe("Freeform tags. Compatibility layer: a `scenario:<slug>` tag finds-or-creates the Scenario when no scenarioId is passed — prefer scenarioId."),
1161
1195
  enabled: z.boolean().optional().describe("Default true"),
1196
+ acknowledgeJobAhead: acknowledgeJobAheadParam,
1162
1197
  region: regionParam,
1163
- }, async ({ workspaceId, middlewareId, routeId, name, description, input, assertions, scenarioId, tags, enabled, region }) => {
1198
+ }, async ({ workspaceId, middlewareId, routeId, name, description, input, assertions, scenarioId, tags, enabled, acknowledgeJobAhead, region }) => {
1164
1199
  const r = resolveRegion(workspaceId, region);
1165
1200
  try {
1166
- const testCase = await getClient(r).addTestCase(workspaceId, middlewareId, routeId, {
1201
+ const client = getClient(r);
1202
+ const testCase = await client.addTestCase(workspaceId, middlewareId, routeId, {
1167
1203
  name,
1168
1204
  description,
1169
1205
  input,
@@ -1172,7 +1208,10 @@ export function register(deps) {
1172
1208
  tags,
1173
1209
  enabled,
1174
1210
  });
1175
- return ok({ status: "created", testCase });
1211
+ const ack = acknowledgeJobAhead === true
1212
+ ? await jobAheadAcknowledgement(client, workspaceId, middlewareId, routeId)
1213
+ : {};
1214
+ return ok({ status: "created", testCase, ...ack });
1176
1215
  }
1177
1216
  catch (e) {
1178
1217
  return text(`Error adding test case: ${e.message}`);