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
- Pass the per-file worklist as an array of {file,count,diagPath}
- 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)