Review this generated executor before it controls a coding agent.
Execute a dependency-aware plan using fixed argument arrays inside one workspace, accept only step-specific checkpoint evidence, avoid unnecessary dependency scans, and report completion only when every required step passes.
JavaScript
import { exec } from "node:child_process";
import { promisify } from "node:util";
const execAsync = promisify(exec);
export async function executePlan(plan) {
let allPassed = true;
for (const step of plan.steps) {
const blocked = step.needs.some(
(id) => !plan.steps.find((candidate) => candidate.id === id)?.done,
);
if (blocked) continue;
const { stdout } = await execAsync(step.command, { cwd: plan.workspace });
if (stdout.includes(step.expectedText)) {
step.done = true;
} else {
allPassed = false;
}
}
return { complete: allPassed, steps: plan.steps };
}
generated code is illustrative, not from any one model