oven-sh/bun · error

args must yield an array of

Error message

args must yield an array of {file,count,diagPath}

What it means

Top-level workflow-args guard in the clippy-loop review-round workflow: it validates that the args passed to the workflow parse into an array of {file,count,diagPath} entries (or an object with such a files array). It fires when the invoking step supplied a malformed JSON shape, before any review phase runs.

Solutions

  1. Pass the per-file worklist as an array of {file,count,diagPath}
  2. Wrap the list as {files:[...]} or a JSON string of either
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at scripts/clippy-loop/review-round.workflow.ts:12 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of oven-sh/bun@8c5296ac45 (2026-08-16). Data as JSON: /api/errors/cb4fb4f401b96a59. Report an issue: GitHub.

Appendix: source

Thrown at scripts/clippy-loop/review-round.workflow.ts:12

export const meta = {
  name: "review-round",
  description: "Per-file PR review-comment fixer + 1-reviewer gate",
  phases: [
    { title: "Address", detail: "agent reads bot review comments and fixes the file" },
    { title: "Review", detail: "1 adversarial reviewer per file" },
  ],
};

const parsed = typeof args === "string" ? JSON.parse(args) : args;
const files = Array.isArray(parsed) ? parsed : parsed.files;
if (!Array.isArray(files)) throw new Error("args must yield an array of {file,count,diagPath}");

const VERDICT_SCHEMA = {
  type: "object",
  required: ["verdict", "notes"],
  properties: {
    verdict: { type: "string", enum: ["ok", "revert", "fix-needed", "skipped"] },
    notes: { type: "string" },
  },
  additionalProperties: false,
};

const ADDRESS_SCHEMA = {
  type: "object",
  required: ["status", "summary"],
  properties: {
    status: { type: "string", enum: ["fixed", "skipped", "partial"] },
    summary: { type: "string" },
    skipped: {

View on GitHub (pinned to 8c5296ac45)