@oisincoveney/pipeline 1.22.1 → 1.22.3

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/config.js CHANGED
@@ -112,6 +112,7 @@ const PACKAGE_DEFAULT_PROFILES_YAML = `version: 1
112
112
  mcp_gateway:
113
113
  provider: toolhive
114
114
  mode: local
115
+ url: https://pipeline-mcp.momokaya.ee/mcp/
115
116
  url_env: PIPELINE_MCP_GATEWAY_URL
116
117
  authorization_env: PIPELINE_MCP_GATEWAY_AUTHORIZATION
117
118
  default_profile: default
@@ -226,7 +227,7 @@ profiles:
226
227
  runner: opencode
227
228
  scheduling_roles: [implementation]
228
229
  description: Add focused failing tests for the requested behavior.
229
- instructions: { inline: "Add focused failing tests for the requested behavior only. Do not change production code. Return only valid JSON with top-level changes and verification. Every changes entry must include summary, why, and files. Include risks, followups, and lessons when present. Do not use Markdown fences or prose outside the JSON object." }
230
+ instructions: { inline: "Add focused failing tests for the requested behavior only. Do not change production code. Only edit files matching test paths such as **/*.test.*, **/*.spec.*, **/*_test.*, **/__tests__/**, test/**, or tests/**. Return only valid JSON with top-level changes and verification. Every changes entry must include summary, why, and files. Include risks, followups, and lessons when present. Do not use Markdown fences or prose outside the JSON object." }
230
231
  skills: [test]
231
232
  mcp_servers: [pipeline-gateway]
232
233
  tools: [read, list, grep, glob, bash, edit, write]
package/dist/hooks.d.ts CHANGED
@@ -13,8 +13,8 @@ declare const hookResultSchema: z.ZodObject<{
13
13
  taskContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
14
14
  }, z.core.$strict>>;
15
15
  status: z.ZodEnum<{
16
- fail: "fail";
17
16
  pass: "pass";
17
+ fail: "fail";
18
18
  skip: "skip";
19
19
  }>;
20
20
  summary: z.ZodOptional<z.ZodString>;
@@ -181,6 +181,11 @@ function entrypointDispatchBlock(host, config, id, entrypoint) {
181
181
  "Use `oisin-pipeline run --schedule <schedule.yaml>` only when rerunning an existing schedule artifact."
182
182
  ].join("\n");
183
183
  }
184
+ function orchestratorEntrypointDispatchBlock(host, config) {
185
+ const scheduledEntrypoints = entrypointEntries(config).filter(([, entrypoint]) => !("workflow" in entrypoint));
186
+ if (scheduledEntrypoints.length === 0) return dispatchBlock(host, config);
187
+ return scheduledEntrypoints.map(([id, entrypoint]) => entrypointDispatchBlock(host, config, id, entrypoint)).filter((block) => Boolean(block)).join("\n\n");
188
+ }
184
189
  function nativeDispatchBlock(host, routes) {
185
190
  if (routes.length === 0) return;
186
191
  return [
@@ -396,7 +401,7 @@ function opencodeDefinitions(config, cwd) {
396
401
  "",
397
402
  orchestratorBlock(config),
398
403
  "",
399
- dispatchBlock("opencode", config)
404
+ orchestratorEntrypointDispatchBlock("opencode", config)
400
405
  ]).join("\n")),
401
406
  host: "opencode",
402
407
  invocation: invocationForHost("opencode"),
@@ -387,39 +387,10 @@ function executeBaselineWorkflow() {
387
387
  needs: ["research"],
388
388
  profile: "pipeline-test-writer"
389
389
  },
390
- {
391
- builtin: "test",
392
- id: "mechanical-red-tests",
393
- kind: "builtin",
394
- needs: ["red-tests"]
395
- },
396
- {
397
- builtin: "typecheck",
398
- id: "mechanical-red-typecheck",
399
- kind: "builtin",
400
- needs: ["red-tests"]
401
- },
402
- {
403
- builtin: "lint",
404
- id: "mechanical-red-lint",
405
- kind: "builtin",
406
- needs: ["red-tests"]
407
- },
408
- {
409
- builtin: "fallow",
410
- id: "mechanical-red-fallow",
411
- kind: "builtin",
412
- needs: ["red-tests"]
413
- },
414
390
  {
415
391
  id: "green-implementation",
416
392
  kind: "agent",
417
- needs: [
418
- "mechanical-red-tests",
419
- "mechanical-red-typecheck",
420
- "mechanical-red-lint",
421
- "mechanical-red-fallow"
422
- ],
393
+ needs: ["red-tests"],
423
394
  profile: "pipeline-code-writer"
424
395
  },
425
396
  {
@@ -631,6 +602,7 @@ function plannerPrompt(entrypointId, task, baseline, config, planningContext) {
631
602
  "Gate recipes:",
632
603
  "- Prefer preserving valid gates from the baseline workflows instead of recreating them.",
633
604
  "- RED/test coverage may use changed_files gates on test-writing nodes. A changed_files gate must include a changed_files object with allow and/or require_any glob arrays.",
605
+ "- Do not add blocking builtin test, lint, typecheck, or fallow nodes between RED test-writing nodes and GREEN implementation nodes. RED tests are expected to make checks fail until GREEN implementation fixes the behavior.",
634
606
  "- Acceptance coverage may use acceptance and verdict gates. Acceptance gates may use target: stdout and required: false.",
635
607
  "- Verification may use builtin typecheck, test, lint, fallow, semgrep, duplication, plus verdict gates.",
636
608
  "",
package/package.json CHANGED
@@ -111,7 +111,7 @@
111
111
  "prepack": "bun run build:cli"
112
112
  },
113
113
  "type": "module",
114
- "version": "1.22.1",
114
+ "version": "1.22.3",
115
115
  "description": "Config-driven multi-agent pipeline runner for repository work",
116
116
  "main": "./dist/index.js",
117
117
  "types": "./dist/index.d.ts",